RosettaCodeData/Task/Nth-root/Maxima/nth-root.maxima

14 lines
251 B
Plaintext

nth_root(a, n) := block(
[x, y, d, p: fpprec],
fpprec: p + 10,
x: bfloat(a),
eps: 10.0b0^-p,
y: do (
d: bfloat((a / x^(n - 1) - x) / n),
if abs(d) < eps * x then return(x),
x: x + d
),
fpprec: p,
bfloat(y)
)$