00001 #ifndef SPL_H
00002 #define SPL_H
00003
00004
00005
00013
00014
00015
00016
00017 #include <stdio.h>
00018 #include <stdlib.h>
00019 #include <memory.h>
00020
00021
00022
00023 #ifdef __cplusplus
00024 namespace RazorBack {
00025 #endif
00026
00033 typedef struct
00034 {
00035 double *X, *Y, *Y2, *Yin;
00036 long N;
00037 }
00038 Splrec_ ;
00039
00040
00041
00042 #ifdef __cplusplus
00043 extern "C" {
00044 #endif
00045
00057 int init_spl(long n, Splrec_ *Spl);
00058
00070 int fit_spl(double yp1, double ypn, Splrec_ *Spl);
00071
00080 double eval_spl(const Splrec_ *Spl,
00081 double xi, double *Der1, double *Der2,
00082 double *Der3, double *Integ);
00083
00089 double integ_spl(const Splrec_ *Spl, double Low, double Up);
00090
00096 void remove_spl(Splrec_ *Spl);
00097
00098 #ifdef __cplusplus
00099 } }
00100 #endif
00101
00102
00103 #endif