Evaluate a bspline_1d interpolate. This is a wrapper for db1val.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(bspline_1d), | intent(inout) | :: | me | |||
real(kind=wp), | intent(in) | :: | xval |
coordinate of evaluation point. |
||
integer(kind=ip), | intent(in) | :: | idx |
derivative of piecewise polynomial to evaluate. |
||
real(kind=wp), | intent(out) | :: | f |
interpolated value |
||
integer(kind=ip), | intent(out) | :: | iflag |
status flag (see db1val) |
pure subroutine evaluate_1d(me,xval,idx,f,iflag) implicit none class(bspline_1d),intent(inout) :: me real(wp),intent(in) :: xval !! \(x\) coordinate of evaluation point. integer(ip),intent(in) :: idx !! \(x\) derivative of piecewise polynomial to evaluate. real(wp),intent(out) :: f !! interpolated value integer(ip),intent(out) :: iflag !! status flag (see [[db1val]]) if (me%initialized) then call db1val(xval,idx,me%tx,me%nx,me%kx,me%bcoef,f,iflag,& me%inbvx,me%work_val_1,extrap=me%extrap) else iflag = 1_ip end if me%iflag = iflag end subroutine evaluate_1d