4 double sqrt(), f__cabs();
5 VOID
z_sqrt(r
, z
) doublecomplex
*r
, *z
;
9 extern double f__cabs(double, double);
10 void z_sqrt(doublecomplex
*r
, doublecomplex
*z
)
13 double mag
, zi
= z
->i
, zr
= z
->r
;
15 if( (mag
= f__cabs(zr
, zi
)) == 0.)
19 r
->r
= sqrt(0.5 * (mag
+ zr
) );
24 r
->i
= sqrt(0.5 * (mag
- zr
) );