Return an instance of [interpolator_js_constructor].
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(smoothness_indicators_constructor), | intent(in) | :: | is | Smoothness indicators constructor. |
||
class(alpha_coefficients_constructor), | intent(in) | :: | alpha | Alpha coefficients constructor. |
||
class(optimal_weights_constructor), | intent(in) | :: | weights | Optimal weights constructor. |
||
class(polynomials_constructor), | intent(in) | :: | polynom | Polynomilas constructor. |
||
integer(kind=I_P), | intent(in) | :: | S | Stencil dimension. |
||
class(interpolator_constructor), | intent(out), | allocatable | :: | constructor | Interpolator constructor. |
|
real(kind=R_P), | intent(in), | optional | :: | eps | Parameter for avoiding division by zero. |
subroutine create_interpolator_js_constructor(is, alpha, weights, polynom, S, constructor, eps)
!< Return an instance of [interpolator_js_constructor].
class(smoothness_indicators_constructor), intent(in) :: is !< Smoothness indicators constructor.
class(alpha_coefficients_constructor), intent(in) :: alpha !< Alpha coefficients constructor.
class(optimal_weights_constructor), intent(in) :: weights !< Optimal weights constructor.
class(polynomials_constructor), intent(in) :: polynom !< Polynomilas constructor.
integer(I_P), intent(in) :: S !< Stencil dimension.
class(interpolator_constructor), allocatable, intent(out) :: constructor !< Interpolator constructor.
real(R_P), intent(in), optional :: eps !< Parameter for avoiding division by zero.
allocate(interpolator_js_constructor :: constructor)
call constructor%create(is=is, alpha=alpha, weights=weights, polynom=polynom)
select type(constructor)
class is(interpolator_js_constructor)
constructor%S = S
if (present(eps)) constructor%eps = eps
endselect
endsubroutine create_interpolator_js_constructor