public CubicSplineInterpolationImpl(List<double> xBegin, int size, List<double> yBegin,
                                      CubicSplineInterpolation.BoundaryCondition leftCondition,
                                      double leftConditionValue,
                                      CubicSplineInterpolation.BoundaryCondition rightCondition,
                                      double rightConditionValue,
                                      bool monotonicityConstraint)
    : base(xBegin, size, yBegin) 
 {
    cH_ = new CoefficientHolder(size - xBegin.Count);
    constrained_ = monotonicityConstraint;
    leftType_ = leftCondition;
    rightType_ = rightCondition;
    leftValue_ =  leftConditionValue;
    rightValue_ = rightConditionValue;
 }
 public CubicSplineInterpolationImpl(List <double> xBegin, int size, List <double> yBegin,
                                     CubicSplineInterpolation.BoundaryCondition leftCondition,
                                     double leftConditionValue,
                                     CubicSplineInterpolation.BoundaryCondition rightCondition,
                                     double rightConditionValue,
                                     bool monotonicityConstraint)
     : base(xBegin, size, yBegin)
 {
     cH_          = new CoefficientHolder(size - xBegin.Count);
     constrained_ = monotonicityConstraint;
     leftType_    = leftCondition;
     rightType_   = rightCondition;
     leftValue_   = leftConditionValue;
     rightValue_  = rightConditionValue;
 }