| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in), | dimension(:) | :: | x | ||
| real(kind=wp), | intent(in), | dimension(:) | :: | alpha | ||
| integer, | intent(in) | :: | dx |
pure module function basis_1D(x, alpha, dx) result(y)
! Input/output variables
integer, intent(in) :: dx
real(wp), intent(in), dimension(:) :: x
real(wp), intent(in), dimension(:) :: alpha
real(wp), dimension(:), allocatable :: y, yx
! Local variables
integer :: ii, N
allocate(y, mold=x)
allocate(yx, mold=x)
N = size(alpha)
y = 0._wp
do ii = 1+dx, N
yx = dble((ii-1)**dx) * alpha(ii) * x ** dble(ii-1-dx)
y = y + yx
enddo
return
end function basis_1D