diff options
author | Joe Hunkeler <jhunkeler@gmail.com> | 2015-08-11 16:51:37 -0400 |
---|---|---|
committer | Joe Hunkeler <jhunkeler@gmail.com> | 2015-08-11 16:51:37 -0400 |
commit | 40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch) | |
tree | 4464880c571602d54f6ae114729bf62a89518057 /math/gsurfit/gs_b1evalr.x | |
download | iraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz |
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'math/gsurfit/gs_b1evalr.x')
-rw-r--r-- | math/gsurfit/gs_b1evalr.x | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/math/gsurfit/gs_b1evalr.x b/math/gsurfit/gs_b1evalr.x new file mode 100644 index 00000000..a313a043 --- /dev/null +++ b/math/gsurfit/gs_b1evalr.x @@ -0,0 +1,85 @@ +# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. + +# GS_B1POL -- Procedure to evaluate all the non-zero polynomial functions +# for a single point and given order. + +procedure rgs_b1pol (x, order, k1, k2, basis) + +real x # data point +int order # order of polynomial, order = 1, constant +real k1, k2 # nomalizing constants, dummy in this case +real basis[ARB] # basis functions + +int i + +begin + basis[1] = 1. + if (order == 1) + return + + basis[2] = x + if (order == 2) + return + + do i = 3, order + basis[i] = x * basis[i-1] + +end + +# GS_B1LEG -- Procedure to evaluate all the non-zero Legendre functions for +# a single point and given order. + +procedure rgs_b1leg (x, order, k1, k2, basis) + +real x # data point +int order # order of polynomial, order = 1, constant +real k1, k2 # normalizing constants +real basis[ARB] # basis functions + +int i +real ri, xnorm + +begin + basis[1] = 1. + if (order == 1) + return + + xnorm = (x + k1) * k2 + basis[2] = xnorm + if (order == 2) + return + + do i = 3, order { + ri = i + basis[i] = ((2. * ri - 3.) * xnorm * basis[i-1] - + (ri - 2.) * basis[i-2]) / (ri - 1.) + } +end + + +# GS_B1CHEB -- Procedure to evaluate all the non zero Chebyshev function +# for a given x and order. + +procedure rgs_b1cheb (x, order, k1, k2, basis) + +real x # number of data points +int order # order of polynomial, 1 is a constant +real k1, k2 # normalizing constants +real basis[ARB] # array of basis functions + +int i +real xnorm + +begin + basis[1] = 1. + if (order == 1) + return + + xnorm = (x + k1) * k2 + basis[2] = xnorm + if (order == 2) + return + + do i = 3, order + basis[i] = 2. * xnorm * basis[i-1] - basis[i-2] +end |