@@ -818,6 +818,94 @@ namespace QuantLib {
818818
819819 }
820820
821+ class Cubic__FritschButland_nonMonotonic : public Cubic {
822+ public:
823+ Cubic__FritschButland_nonMonotonic ()
824+ : Cubic(CubicInterpolation::FritschButland, false ,
825+ CubicInterpolation::SecondDerivative, 0.0 ,
826+ CubicInterpolation::SecondDerivative, 0.0 ) {}
827+ };
828+
829+ class Cubic__FritschButland_monotonic : public Cubic {
830+ public:
831+ Cubic__FritschButland_monotonic ()
832+ : Cubic(CubicInterpolation::FritschButland, true ,
833+ CubicInterpolation::SecondDerivative, 0.0 ,
834+ CubicInterpolation::SecondDerivative, 0.0 ) {}
835+ };
836+
837+ class Cubic__NaturalSpline : public Cubic {
838+ public:
839+ Cubic__NaturalSpline ()
840+ : Cubic(CubicInterpolation::Spline, false ,
841+ CubicInterpolation::SecondDerivative, 0.0 ,
842+ CubicInterpolation::SecondDerivative, 0.0 ) {}
843+ };
844+
845+ class Cubic__Monotonic_NaturalSpline : public Cubic {
846+ public:
847+ Cubic__Monotonic_NaturalSpline ()
848+ : Cubic(CubicInterpolation::Spline, true ,
849+ CubicInterpolation::SecondDerivative, 0.0 ,
850+ CubicInterpolation::SecondDerivative, 0.0 ) {}
851+ };
852+
853+ class Cubic__SplineOvershootingMinimization1 : public Cubic {
854+ public:
855+ Cubic__SplineOvershootingMinimization1 ()
856+ : Cubic(CubicInterpolation::SplineOM1, false ,
857+ CubicInterpolation::SecondDerivative, 0.0 ,
858+ CubicInterpolation::SecondDerivative, 0.0 ) {}
859+ };
860+
861+ class Cubic__SplineOvershootingMinimization2 : public Cubic {
862+ public:
863+ Cubic__SplineOvershootingMinimization2 ()
864+ : Cubic(CubicInterpolation::SplineOM2, false ,
865+ CubicInterpolation::SecondDerivative, 0.0 ,
866+ CubicInterpolation::SecondDerivative, 0.0 ) {}
867+ };
868+
869+ class Cubic__Akima : public Cubic {
870+ public:
871+ Cubic__Akima ()
872+ : Cubic(CubicInterpolation::Akima, false ,
873+ CubicInterpolation::SecondDerivative, 0.0 ,
874+ CubicInterpolation::SecondDerivative, 0.0 ) {}
875+ };
876+
877+ class Cubic__Parabolic : public Cubic {
878+ public:
879+ Cubic__Parabolic ()
880+ : Cubic(CubicInterpolation::Parabolic, false ,
881+ CubicInterpolation::SecondDerivative, 0.0 ,
882+ CubicInterpolation::SecondDerivative, 0.0 ) {}
883+ };
884+
885+ class Cubic__MonotonicParabolic : public Cubic {
886+ public:
887+ Cubic__MonotonicParabolic ()
888+ : Cubic(CubicInterpolation::Parabolic, true ,
889+ CubicInterpolation::SecondDerivative, 0.0 ,
890+ CubicInterpolation::SecondDerivative, 0.0 ) {}
891+ };
892+
893+ class Cubic__Kruger : public Cubic {
894+ public:
895+ Cubic__Kruger ()
896+ : Cubic(CubicInterpolation::Kruger, false ,
897+ CubicInterpolation::SecondDerivative, 0.0 ,
898+ CubicInterpolation::SecondDerivative, 0.0 ) {}
899+ };
900+
901+ class Cubic__MonotonicKruger : public Cubic {
902+ public:
903+ Cubic__MonotonicKruger ()
904+ : Cubic(CubicInterpolation::Kruger, true ,
905+ CubicInterpolation::SecondDerivative, 0.0 ,
906+ CubicInterpolation::SecondDerivative, 0.0 ) {}
907+ };
908+
821909}
822910
823911#endif
0 commit comments