19 lines
505 B
Text
19 lines
505 B
Text
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)
|