114 # define COPYSIGN copysign 116 # define COPYSIGN(a,b) DSIGN(a,b) 119 void palUnpcd(
double disco,
double * x,
double *y ) {
121 const double THIRD = 1.0/3.0;
123 double rp,q,r,d,
w,s,
t,f,c,t3,f1,f2,f3,w1,w2,w3;
127 rp = sqrt( (*x)*(*x)+(*y)*(*y));
130 if (rp != 0.0 && disco != 0.0) {
149 w = 2.0/sqrt(-3.0*disco);
150 c = 4.0*rp/(disco*w*w*
w);
152 s = sqrt(1.0-
DMIN(c2,1.0));
157 f2 = w*cos((t3)/3.0);
165 f = ( w1 < w3 ? f1 : f3 );
167 f = ( w2 < w3 ? f2 : f3 );
void palUnpcd(double disco, double *x, double *y)
static const double PAL__D2PI