| 265 | } |
| 266 | |
| 267 | int nsl_diff_third_deriv(const double* x, double* y, const size_t n, int order) { |
| 268 | switch (order) { |
| 269 | case 2: |
| 270 | return nsl_diff_third_deriv_second_order(x, y, n); |
| 271 | /*TODO: higher order */ |
| 272 | default: |
| 273 | printf("nsl_diff_third_deriv() unsupported order %d\n", order); |
| 274 | return -1; |
| 275 | } |
| 276 | } |
| 277 | |
| 278 | int nsl_diff_third_deriv_second_order(const double* x, double* y, const size_t n) { |
| 279 | if (n < 5) |