Skip to content
Snippets Groups Projects
opti.h 992 B
Newer Older
philippe.montando's avatar
philippe.montando committed
#ifndef _OPTI_H_
#define _OPTI_H_
#include <time.h>
philippe.montando's avatar
philippe.montando committed
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <stdbool.h>
philippe.montando's avatar
philippe.montando committed
typedef struct Point Point;

struct Point 
{
   double x, y;
};

Point* line(double a, double b);
philippe.montando's avatar
philippe.montando committed
double popow(double v, double w);
philippe.montando's avatar
philippe.montando committed
double double_random(double min, double max);
philippe.montando's avatar
philippe.montando committed
Point* cloud1(Point* a_line);
Point* cloud2(double *a, double *b);
double random_point_in_cloud2(Point* my_cloud);
Point* cloud3(double *a, double *b);
philippe.montando's avatar
philippe.montando committed
double* averages(Point* my_cloud, int cloud_size);
double* a_and_b(double* my_averages);
double* sums(Point* my_cloud, int cloud_size);
double gradient(double *a, double *b, Point* my_cloud, int cloud_size, bool is_a);
double cost(double *a, double *b, Point* my_cloud);
void gradient_descent_v4(double *a, double *b, Point* my_cloud);
double cost2(double *a, double *b, double *new_a, double *new_b);
sgegito's avatar
sgegito committed
Point ** cloud_splitter(Point* my_cloud);
philippe.montando's avatar
philippe.montando committed
#endif