# CDOPFN -- evaluate (orthogonal) polynomial of degree power at x(i) and # store in y(i) # date author description # 12-01-87 J.-C. Hsu design and coding # 03-09-90 J.-C. Hsu rewrite in SPP #------------------------------------------------------------------------------- procedure cdopfn (x, y, power, order, npts, ortho) double x[npts] # input: x array double y[npts] # output: functional value(s) int power # input: order of the polynomial int order # input: maximum order of the polynomial int npts # input: number of data points double ortho[0:order, 0:order] # input: orthogonal polynomial construct int i, j, k # loop indices pointer temp # working buffer pointer sp #------------------------------------------------------------------------------ begin call smark (sp) call salloc (temp, order+1, TY_DOUBLE) do i = 1, npts { Memd[temp] = 1.d0 do j = 1, power { Memd[temp+j] = x[i] ** j do k = 0, j-1 Memd[temp+j] = Memd[temp+j] + ortho[k, j] * Memd[temp+k] } y[i] = Memd[temp+power] } call sfree (sp) end