Jump to content

Imaginary base numbers: Difference between revisions

m
→‎{{header|Perl 6}}: Note support for minimum, extra kudos and stretch goals. Minor tidying.
m (Tidy up task header. Add some verbiage about minimum, extra and stretch goals.)
m (→‎{{header|Perl 6}}: Note support for minimum, extra kudos and stretch goals. Minor tidying.)
Line 903:
=={{header|Perl 6}}==
{{works with|Rakudo|2017.01}}
These are generalized imaginary-base conversion routines. They only work for imaginary bases, not complex. (Any real portion of the radix must be zero.) Theoretically they could be made to work for any imaginary base; in practice, they are limited to integer bases from -6i to -2i and 2i to 6i. Bases -1i and 1i exist but require special handling and are not supported. Bases larger than 6i (or -6i) require digits outside of base 36 to express them, so aren't as standardized, are implementation dependent and are not supported here. Note that imaginary number coefficients are stored as floating point numbers in Perl 6 so some rounding error may creep in during calculations. The precision these conversion routines use is configurable; we are using 86 <strike>decimal</strike>, um... radicimal(?) places of precision here.
 
Implements minimum, extra kudos and stretch goals.
Note that this implementation can convert any number, not just integers.
 
<lang perl6>multi sub base ( Real $num, Int $radix where -37 < * < -1, :$precision = -15 ) {
10,333

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.