Blame doc/examples/demo_fn.c

Packit 67cb25
double
Packit 67cb25
quadratic (double x, void *params)
Packit 67cb25
{
Packit 67cb25
  struct quadratic_params *p 
Packit 67cb25
    = (struct quadratic_params *) params;
Packit 67cb25
Packit 67cb25
  double a = p->a;
Packit 67cb25
  double b = p->b;
Packit 67cb25
  double c = p->c;
Packit 67cb25
Packit 67cb25
  return (a * x + b) * x + c;
Packit 67cb25
}
Packit 67cb25
Packit 67cb25
double
Packit 67cb25
quadratic_deriv (double x, void *params)
Packit 67cb25
{
Packit 67cb25
  struct quadratic_params *p 
Packit 67cb25
    = (struct quadratic_params *) params;
Packit 67cb25
Packit 67cb25
  double a = p->a;
Packit 67cb25
  double b = p->b;
Packit 67cb25
Packit 67cb25
  return 2.0 * a * x + b;
Packit 67cb25
}
Packit 67cb25
Packit 67cb25
void
Packit 67cb25
quadratic_fdf (double x, void *params, 
Packit 67cb25
               double *y, double *dy)
Packit 67cb25
{
Packit 67cb25
  struct quadratic_params *p 
Packit 67cb25
    = (struct quadratic_params *) params;
Packit 67cb25
Packit 67cb25
  double a = p->a;
Packit 67cb25
  double b = p->b;
Packit 67cb25
  double c = p->c;
Packit 67cb25
Packit 67cb25
  *y = (a * x + b) * x + c;
Packit 67cb25
  *dy = 2.0 * a * x + b;
Packit 67cb25
}