From fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Wed, 8 Jul 2015 20:46:52 -0400 Subject: Initial commit --- sys/vops/alln.gx | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 sys/vops/alln.gx (limited to 'sys/vops/alln.gx') diff --git a/sys/vops/alln.gx b/sys/vops/alln.gx new file mode 100644 index 00000000..7d6ed921 --- /dev/null +++ b/sys/vops/alln.gx @@ -0,0 +1,33 @@ +# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. + +# ALLN -- Compute the natural logarithm of a vector (generic). If the natural +# logarithm is undefined (x <= 0) a user supplied function is called to get +# the pixel value to be returned. + +procedure alln$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 { + $if (datatype == si) + b[i] = log (real (a[i])) + $else $if (datatype == l) + b[i] = log (double (a[i])) + $else + b[i] = log (a[i]) + $endif $endif + } + } +end -- cgit