/* DEC *Median(pDst,pSrc,n) * * ARGUMENT * DEC *pDst; * DEC **pSrc; * int n; * * DESCRIPTION * Sets pDst to the median of the n DEC elements of the array pSrc. * n <= 0 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_NOMEMORY * * AUTHOR * Jared Levy * Copyright (C) 1987-1990 Greenleaf Software Inc. All rights reserved. * * MODIFICATIONS * */ #include #include #include "gm.h" #include "gmsystem.h" DEC *Median(pDst,pSrc,n) DEC *pDst; DEC **pSrc; int n; { int i; DEC **tmpa, dsum, *sum=&dsum; extern void qsort(char *, unsigned, unsigned, int (*)(void)); _MacStart(GM_MEDIAN); if (!pSrc) { _MacErr(GM_NULLPOINTER); _MacRet(GM_NULL); } if (n<=0) { _MacErr(GM_ARGVAL); _MacRet(GM_NULL); } for (i=0; i