integral_1d Subroutine

private pure subroutine integral_1d(me, x1, x2, f, iflag)

Evaluate a bspline_1d definite integral. This is a wrapper for db1sqad.

Type Bound

bspline_1d

Arguments

Type IntentOptional Attributes Name
class(bspline_1d), intent(inout) :: me
real(kind=wp), intent(in) :: x1

left point of interval

real(kind=wp), intent(in) :: x2

right point of interval

real(kind=wp), intent(out) :: f

integral of the b-spline over

integer(kind=ip), intent(out) :: iflag

status flag (see db1sqad)


Calls

proc~~integral_1d~~CallsGraph proc~integral_1d bspline_oo_module::bspline_1d%integral_1d proc~db1sqad bspline_sub_module::db1sqad proc~integral_1d->proc~db1sqad proc~dbsqad bspline_sub_module::dbsqad proc~db1sqad->proc~dbsqad proc~dbvalu bspline_sub_module::dbvalu proc~dbsqad->proc~dbvalu proc~dintrv bspline_sub_module::dintrv proc~dbsqad->proc~dintrv proc~dbvalu->proc~dintrv proc~get_temp_x_for_extrap bspline_sub_module::get_temp_x_for_extrap proc~dintrv->proc~get_temp_x_for_extrap

Source Code

    pure subroutine integral_1d(me,x1,x2,f,iflag)

    implicit none

    class(bspline_1d),intent(inout) :: me
    real(wp),intent(in)             :: x1    !! left point of interval
    real(wp),intent(in)             :: x2    !! right point of interval
    real(wp),intent(out)            :: f     !! integral of the b-spline over \( [x_1, x_2] \)
    integer(ip),intent(out)         :: iflag !! status flag (see [[db1sqad]])

    if (me%initialized) then
        call db1sqad(me%tx,me%bcoef,me%nx,me%kx,x1,x2,f,iflag,me%work_val_1)
    else
        iflag = 1_ip
    end if
    me%iflag = iflag

    end subroutine integral_1d