
#include <stdlib.h>

double* ES(const double x[], const size_t dimension)
{
    static double result[1] = {0};

    if( dimension != 3 ){
        perror("Wrong dimension for 'ES' function");
        return NULL; // Fonction de R^3 vers R
    }

    result[0] = x[0]*x[0] + x[1]*x[1] + x[2]*x[2];

    return result;
}

double* gradientES(const double x[])
{
    double* v;//FIXME BAD BAD BAD
    v = (double *) malloc(3 * sizeof(double));
    
    v[0] = 2 * x[0];
    v[1] = 2 * x[1];
    v[2] = 2 * x[2];

    return v;
}
