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/imio/dbc/impkdc.x | |
download | iraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz |
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'sys/imio/dbc/impkdc.x')
-rw-r--r-- | sys/imio/dbc/impkdc.x | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/sys/imio/dbc/impkdc.x b/sys/imio/dbc/impkdc.x new file mode 100644 index 00000000..6eb671f3 --- /dev/null +++ b/sys/imio/dbc/impkdc.x @@ -0,0 +1,39 @@ +# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. + +include <mach.h> + +# IMPKDDC -- Put an image header parameter of type double. + +procedure impkdc (im, key, dval, comment) + +pointer im # image descriptor +char key[ARB] # parameter to be set +double dval # double precision value +char comment[ARB] # + +pointer sp, sval +int i, strlen() + +begin + call smark (sp) + call salloc (sval, SZ_FNAME, TY_CHAR) + + # Reduce the precision of the encoded value if necessary to fit in + # the FITS value field. Start with NDIGITS_DP-1 as the precision + # estimate NDIGITS_DP is only approximate, and if we make up half a + # digit of precision the result can be 1.00000000000000001 instead + # of 1.0. + + for (i=NDIGITS_DP-1; i >= NDIGITS_RP; i=i-1) { + call sprintf (Memc[sval], SZ_FNAME, "%0.*g") + call pargi (i) + call pargd (dval) + if (strlen (Memc[sval]) < 20) + break + } + + # Write the new value to the header. + call impstrc (im, key, Memc[sval], comment) + + call sfree (sp) +end |