From 40e5a5811c6ffce9b0974e93cdd927cbcf60c157 Mon Sep 17 00:00:00 2001 From: Joe Hunkeler Date: Tue, 11 Aug 2015 16:51:37 -0400 Subject: Repatch (from linux) of OSX IRAF --- math/curfit/cvzerod.x | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 math/curfit/cvzerod.x (limited to 'math/curfit/cvzerod.x') diff --git a/math/curfit/cvzerod.x b/math/curfit/cvzerod.x new file mode 100644 index 00000000..f9395fc1 --- /dev/null +++ b/math/curfit/cvzerod.x @@ -0,0 +1,34 @@ +# Copyright(c) 1986 Association of Universities for Research in Astronomy Inc. + +include "dcurfitdef.h" + +# CVZERO -- Procedure to zero the accumulators before doing +# a new fit in accumulate mode. The inner products of the basis functions +# are accumulated in the CV_ORDER(cv) by CV_NCOEFF(cv) array MATRIX, while +# the inner products of the basis functions and the data ordinates are +# accumulated in the CV_NCOEFF(cv)-vector VECTOR. + +procedure dcvzero (cv) + +pointer cv # pointer to curve descriptor + +errchk mfree + +begin + # zero the accumulators + CV_NPTS(cv) = 0 + call aclrd (MATRIX(CV_MATRIX(cv)), CV_ORDER(cv)*CV_NCOEFF(cv)) + call aclrd (VECTOR(CV_VECTOR(cv)), CV_NCOEFF(cv)) + + # free the basis functions defined from previous calls to cvrefit + if (CV_BASIS(cv) != NULL) { + call mfree (CV_BASIS(cv), TY_DOUBLE) + call mfree (CV_WY(cv), TY_DOUBLE) + CV_BASIS(cv) = NULL + CV_WY(cv) = NULL + if (CV_LEFT(cv) != NULL) { + call mfree (CV_LEFT(cv), TY_INT) + CV_LEFT(cv) = NULL + } + } +end -- cgit