aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/map/libmap/ccubrt.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/map/libmap/ccubrt.c')
-rw-r--r--src/cmd/map/libmap/ccubrt.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/cmd/map/libmap/ccubrt.c b/src/cmd/map/libmap/ccubrt.c
new file mode 100644
index 00000000..8a7af566
--- /dev/null
+++ b/src/cmd/map/libmap/ccubrt.c
@@ -0,0 +1,13 @@
+#include <u.h>
+#include <libc.h>
+#include "map.h"
+
+void
+ccubrt(double zr, double zi, double *wr, double *wi)
+{
+ double r, theta;
+ theta = atan2(zi,zr);
+ r = cubrt(hypot(zr,zi));
+ *wr = r*cos(theta/3);
+ *wi = r*sin(theta/3);
+}