/* Copyright (C) 1994 by Thomas Glen Smith. All Rights Reserved. */
/* floorx APL2 V1.0.0 **************************************************
* Called by ceilx, and residuex. Floor for complex numbers. *
***********************************************************************/
#define INCLUDES 0
#include "includes.h"
void floorx(num,ret)
double *num,*ret;
{
Floor;
double a,b,c,dfa,dfb,fla,flb;
a = *num; fla = floor(a); dfa = a - fla;
b = *(num+1); flb = floor(b); dfb = b - flb;
c = dfa + dfb;
if (1.0 > c) {
*ret = fla;
*(ret+1) = flb;
}
else if (dfa >= dfb) {
*ret = 1.0 + fla;
*(ret+1) = flb;
}
else {
*ret = fla;
*(ret+1) = 1.0 + flb;
}
}