diff options
Diffstat (limited to 'gsl-1.9/doc/examples/demo_fn.c')
-rw-r--r-- | gsl-1.9/doc/examples/demo_fn.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/gsl-1.9/doc/examples/demo_fn.c b/gsl-1.9/doc/examples/demo_fn.c new file mode 100644 index 0000000..4d8a552 --- /dev/null +++ b/gsl-1.9/doc/examples/demo_fn.c @@ -0,0 +1,40 @@ +double +quadratic (double x, void *params) +{ + struct quadratic_params *p + = (struct quadratic_params *) params; + + double a = p->a; + double b = p->b; + double c = p->c; + + return (a * x + b) * x + c; +} + +double +quadratic_deriv (double x, void *params) +{ + struct quadratic_params *p + = (struct quadratic_params *) params; + + double a = p->a; + double b = p->b; + double c = p->c; + + return 2.0 * a * x + b; +} + +void +quadratic_fdf (double x, void *params, + double *y, double *dy) +{ + struct quadratic_params *p + = (struct quadratic_params *) params; + + double a = p->a; + double b = p->b; + double c = p->c; + + *y = (a * x + b) * x + c; + *dy = 2.0 * a * x + b; +} |