In Cool§
See primary documentation in context for routine roots
multi roots(Numeric(Cool) $x, Int(Cool) $n) multi method roots(Int(Cool) $n)
Coerces the first argument (and in method form, the invocant) to Numeric
and the second ($n
) to Int
, and produces a list of $n
Complex
$n
-roots, which means numbers that, raised to the $n
th power, approximately produce the original number.
For example
my $original = 16; my @roots = $original.roots(4); say @roots; for @roots -> $r { say abs($r ** 4 - $original); } # OUTPUT:«2+0i 1.22464679914735e-16+2i -2+2.44929359829471e-16i -3.67394039744206e-16-2i» # OUTPUT:«1.77635683940025e-15» # OUTPUT:«4.30267170434156e-15» # OUTPUT:«8.03651692704705e-15» # OUTPUT:«1.04441561648202e-14»
In role Numeric§
See primary documentation in context for method roots
multi method roots(Numeric:D: Int:D $n --> Positional)
Returns a list of the $n
complex roots, which evaluate to the original number when raised to the $n
th power.