diff options
Diffstat (limited to 'sys/vops/lz/alogd.x')
-rw-r--r-- | sys/vops/lz/alogd.x | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/sys/vops/lz/alogd.x b/sys/vops/lz/alogd.x new file mode 100644 index 00000000..b5f7b78f --- /dev/null +++ b/sys/vops/lz/alogd.x @@ -0,0 +1,24 @@ +# 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 alogd (a, b, npix, errfcn) + +double a[ARB], b[ARB] +int npix, i +extern errfcn() +double errfcn() +errchk errfcn + +begin + do i = 1, npix { + if (a[i] <= 0.0D0) + b[i] = errfcn (a[i]) + else { + # Note Fortran standard forbids log10(cplx). + b[i] = log10 (a[i]) + } + } +end |