81
81
make_safe_interpolation(LinearInterpolation,LinearInterpolation);
82
82
make_safe_interpolation(LogLinearInterpolation,LogLinearInterpolation);
83
84
make_safe_interpolation(BackwardFlatInterpolation,BackwardFlatInterpolation);
84
85
make_safe_interpolation(ForwardFlatInterpolation,ForwardFlatInterpolation);
85
make_safe_interpolation(NaturalCubicInterpolation,CubicSplineInterpolation);
86
make_safe_interpolation(MonotonicNaturalCubicInterpolation,
87
MonotonicCubicSplineInterpolation);
87
make_safe_interpolation(CubicNaturalSpline,CubicNaturalSpline);
88
make_safe_interpolation(LogCubicNaturalSpline,LogCubicNaturalSpline);
89
make_safe_interpolation(MonotonicCubicNaturalSpline,MonotonicCubicNaturalSpline);
90
make_safe_interpolation(MonotonicLogCubicNaturalSpline,MonotonicLogCubicNaturalSpline);
92
make_safe_interpolation(KrugerCubic,KrugerCubic);
93
make_safe_interpolation(KrugerLogCubic,KrugerLogCubic);
95
make_safe_interpolation(FritschButlandCubic,FritschButlandCubic);
96
make_safe_interpolation(FritschButlandLogCubic,FritschButlandLogCubic);
98
make_safe_interpolation(Parabolic,Parabolic);
99
make_safe_interpolation(LogParabolic,LogParabolic);
100
make_safe_interpolation(MonotonicParabolic,MonotonicParabolic);
101
make_safe_interpolation(MonotonicLogParabolic,MonotonicLogParabolic);
89
103
%define extend_spline(T)
94
108
Real secondDerivative(Real x, bool extrapolate = false) {
95
109
return self->f_.secondDerivative(x,extrapolate);
111
Real primitive(Real x, bool extrapolate = false) {
112
return self->f_.primitive(x,extrapolate);
100
extend_spline(NaturalCubicInterpolation);
101
extend_spline(MonotonicNaturalCubicInterpolation);
117
extend_spline(CubicNaturalSpline);
118
extend_spline(LogCubicNaturalSpline);
119
extend_spline(MonotonicCubicNaturalSpline);
120
extend_spline(MonotonicLogCubicNaturalSpline);
122
extend_spline(KrugerCubic);
123
extend_spline(KrugerLogCubic);
125
extend_spline(FritschButlandCubic);
126
extend_spline(FritschButlandLogCubic);
128
extend_spline(Parabolic);
129
extend_spline(LogParabolic);
130
extend_spline(MonotonicParabolic);
131
extend_spline(MonotonicLogParabolic);
104
134
// safe versions which copy their arguments