Constructor for a bspline_1d type (user-specified knots). This is a wrapper for initialize_1d_specify_knots.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(:) | :: | x |
|
|
real(kind=wp), | intent(in), | dimension(:) | :: | fcn |
|
|
integer(kind=ip), | intent(in) | :: | kx |
The order of spline pieces in ( ) (order = polynomial degree + 1) |
||
real(kind=wp), | intent(in), | dimension(:) | :: | tx |
The |
|
logical, | intent(in), | optional | :: | extrap |
if true, then extrapolation is allowed (default is false) |
pure function bspline_1d_constructor_specify_knots(x,fcn,kx,tx,extrap) result(me) implicit none type(bspline_1d) :: me real(wp),dimension(:),intent(in) :: x !! `(nx)` array of \(x\) abcissae. Must be strictly increasing. real(wp),dimension(:),intent(in) :: fcn !! `(nx)` array of function values to interpolate. `fcn(i)` should !! contain the function value at the point `x(i)` integer(ip),intent(in) :: kx !! The order of spline pieces in \(x\) !! ( \( 2 \le k_x < n_x \) ) !! (order = polynomial degree + 1) real(wp),dimension(:),intent(in) :: tx !! The `(nx+kx)` knots in the \(x\) direction !! for the spline interpolant. !! Must be non-decreasing. logical,intent(in),optional :: extrap !! if true, then extrapolation is allowed !! (default is false) call initialize_1d_specify_knots(me,x,fcn,kx,tx,me%iflag,extrap) end function bspline_1d_constructor_specify_knots