/* DEC *StandardDeviation(pDst,pSrc,n) * * ARGUMENT * DEC *pDst; * DEC **pSrc; * int n; * * DESCRIPTION * Sets pDst to the standard deviation of the n DEC elements * of the array pSrc. * n <= 1 is not allowed. pDst is unchanged if an error occurs. * * SIDE EFFECTS * None. * * RETURNS * Returns pointer to the average if successful, otherwise * returns GM_NULL. * * POSSIBLE ERROR CODES * * GM_NULLPOINTER * GM_ARGVAL * GM_OVERFLOW * * AUTHOR * Jared Levy * Copyright (C) 1987-1990 Greenleaf Software Inc. All rights reserved. * * MODIFICATIONS * */ #include #include "gm.h" #include "gmsystem.h" DEC *StandardDeviation(pDst,pSrc,n) DEC *pDst; DEC **pSrc; int n; { int i; DEC *p, dsum, *sum=&dsum, ddn, *dn=&ddn, dmean, *mean=&dmean; DEC ddiff, *diff=&ddiff, ddsq, *dsq=&ddsq; /* source must be supplied !! */ _MacStart(GM_STNDDEV); if (!pSrc) { _MacErr(GM_NULLPOINTER); _MacRet(GM_NULL); } _MacOutVarD(pDst); if (n<=1) { _MacErr(GM_ARGVAL); _MacRet(GM_NULL); } for (i=0; i