xref: /plan9/sys/src/cmd/map/libmap/ccubrt.c (revision 59cc4ca53493a3c6d2349fe2b7f7c40f7dce7294)
1*59cc4ca5SDavid du Colombier #include <u.h>
2*59cc4ca5SDavid du Colombier #include <libc.h>
33e12c5d1SDavid du Colombier #include "map.h"
43e12c5d1SDavid du Colombier 
53e12c5d1SDavid du Colombier void
ccubrt(double zr,double zi,double * wr,double * wi)63e12c5d1SDavid du Colombier ccubrt(double zr, double zi, double *wr, double *wi)
73e12c5d1SDavid du Colombier {
83e12c5d1SDavid du Colombier 	double r, theta;
93e12c5d1SDavid du Colombier 	theta = atan2(zi,zr);
103e12c5d1SDavid du Colombier 	r = cubrt(hypot(zr,zi));
113e12c5d1SDavid du Colombier 	*wr = r*cos(theta/3);
123e12c5d1SDavid du Colombier 	*wi = r*sin(theta/3);
133e12c5d1SDavid du Colombier }
14