poly_term_rr Function

public recursive function poly_term_rr(a, b) result(u)

Arguments

Type IntentOptional AttributesName
real(kind=SP), intent(in), DIMENSION(:):: a
real(kind=SP), intent(in) :: b

Return Value real(kind=SP), DIMENSION(size(a))


Called by

proc~~poly_term_rr~~CalledByGraph proc~poly_term_rr poly_term_rr proc~poly_term_rr->proc~poly_term_rr interface~poly_term poly_term interface~poly_term->proc~poly_term_rr

Contents

Source Code


Source Code

	RECURSIVE FUNCTION poly_term_rr(a,b) RESULT(u)
	REAL(SP), DIMENSION(:), INTENT(IN) :: a
	REAL(SP), INTENT(IN) :: b
	REAL(SP), DIMENSION(size(a)) :: u
	INTEGER(I4B) :: n,j
	n=size(a)
	if (n <= 0) RETURN
	u(1)=a(1)
	if (n < NPAR_POLYTERM) then
		do j=2,n
			u(j)=a(j)+b*u(j-1)
		end do
	else
		u(2:n:2)=poly_term_rr(a(2:n:2)+a(1:n-1:2)*b,b*b)
		u(3:n:2)=a(3:n:2)+b*u(2:n-1:2)
	end if
	END FUNCTION poly_term_rr