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 /sys/mwcs/mwsltermr.x | |
download | iraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz |
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'sys/mwcs/mwsltermr.x')
-rw-r--r-- | sys/mwcs/mwsltermr.x | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/sys/mwcs/mwsltermr.x b/sys/mwcs/mwsltermr.x new file mode 100644 index 00000000..975221f6 --- /dev/null +++ b/sys/mwcs/mwsltermr.x @@ -0,0 +1,40 @@ +# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. + +include <syserr.h> +include "mwcs.h" + +# MW_SLTERMR -- Set the Lterm, single precision version. Since all floating +# data is stored as double internally, a real->double conversion is involved, +# but no precision is lost provided single precision is adequate to describe +# the input data (an example of a case where precision is lost is a rotation, +# where there is a difference between the single and double precision version +# of, e.g., "sin(theta)"). + +procedure mw_sltermr (mw, ltm, ltv, ndim) + +pointer mw #I pointer to MWCS descriptor +real ltm[ndim,ndim] #I linear transformation matrix +real ltv[ndim] #I translation vector +int ndim #I dimensionality of system + +int nelem +pointer mw_allocd() +errchk syserrs, mw_allocd + +begin + # The dimensionality of the data must match that of the current Lterm. + if (ndim != MI_NDIM(mw)) + call syserrs (SYS_MWNDIM, "mw_sltermr") + + # Copy in the data. Cobber the old data if the Lterm has been set, + # otherwise allocate space in the global data area. + + nelem = ndim * ndim + if (MI_LTM(mw) == NULL) + MI_LTM(mw) = mw_allocd (mw, nelem) + call achtrd (ltm, D(mw,MI_LTM(mw)), nelem) + + if (MI_LTV(mw) == NULL) + MI_LTV(mw) = mw_allocd (mw, ndim) + call achtrd (ltv, D(mw,MI_LTV(mw)), ndim) +end |