writeln "operator" writeln (7131.5 ^ 10) ^/ 10 writeln 64 ^/ 6 writeln() val .nthroot = fn(.n, .A, .p) { var .x = [.A, .A / .n] while abs(.x[2]-.x[1]) > .p { .x = [.x[2], ((.n-1) x .x[2] + .A / (.x[2] ^ (.n-1))) / .n] } simplify .x[2] } # To make the example from the D language work, we set a low maximum for the number of digits after a decimal point in division. mode divMaxScale = 7 writeln "function" writeln .nthroot(10, 7131.5 ^ 10, 0.001) writeln .nthroot(6, 64, 0.001)