diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-07-08 20:46:52 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-07-08 20:46:52 -0400 |
commit | fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 (patch) | |
tree | bdda434976bc09c864f2e4fa6f16ba1952b1e555 /sys/vops/alog.gx | |
download | iraf-linux-fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4.tar.gz |
Initial commit
Diffstat (limited to 'sys/vops/alog.gx')
-rw-r--r-- | sys/vops/alog.gx | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/sys/vops/alog.gx b/sys/vops/alog.gx new file mode 100644 index 00000000..033f9514 --- /dev/null +++ b/sys/vops/alog.gx @@ -0,0 +1,34 @@ +# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. + +# ALOG -- Compute the logarithm to the base 10 of a vector (generic). If the +# logarithm is undefined (x <= 0) a user supplied function is called to get +# the function value. + +procedure alog$t (a, b, npix, errfcn) + +PIXEL a[ARB], b[ARB] +int npix, i +extern errfcn() +PIXEL errfcn() +errchk errfcn + +begin + do i = 1, npix { + $if (datatype == x) + if (a[i] == 0$f) + $else + if (a[i] <= 0$f) + $endif + b[i] = errfcn (a[i]) + else { + # Note Fortran standard forbids log10(cplx). + $if (datatype == xsi) + b[i] = log10 (real (a[i])) + $else $if (datatype == l) + b[i] = log10 (double (a[i])) + $else + b[i] = log10 (a[i]) + $endif $endif + } + } +end |