XP is just a number PerlMonks

Re^2: perl6 rational number problem

by freakcoco (Sexton)
 on Nov 21, 2017 at 15:49 UTC ( #1203899=note: print w/replies, xml ) Need Help??

in reply to Re: perl6 rational number problem
in thread perl6 rational number problem

Yes
I need to fix my question.
exponentiation not in range of rational number(something like 2.sqrt() , and there have no exponentiation base stored in perl6 and most of program language, maybe there have moudle handle that)
this is my question
ration number on the common operator
Addition 、 Subtraction 、Multiplication 、 Division 、 Modulo
online run
```my Rat @ex01 = 1.0 , * + 0.9999 ... Inf;
my Rat @ex02 = 1.0 , * - 0.9999 ... Inf;
my Rat @ex03 = 1.0 , * * 0.9999 ... Inf;
my Rat @ex04 = 1.0 , * / 0.9999 ... Inf;
my Rat @ex05 = 1.0 , * % 0.9999 ... Inf;
my %ex = :add(@ex01), :substrat(@ex02), :mult(@ex03),
div(@ex04), mod(@ex05);

try {
for < add substrat mult div mod > -> \$op {
for 1 .. 20 -> \$count {
"\$op   \$count".say;
(%ex{\$op})[\$count]
}
}
}

this try will fail in Multiplication and Division.
why?

Replies are listed 'Best First'.
Re^3: perl6 rational number problem
by Anonymous Monk on Nov 21, 2017 at 18:07 UTC
You need FatRats.
```> my @a = 1.0, * * 0.9999... *;
[...]
> my @b = FatRat(1.0), * * 0.9999... *;
[...]
> say \$_, ' ', \$_.WHAT for @a[^10];
1 (Rat)
0.9999 (Rat)
0.99980001 (Rat)
0.999700029999 (Rat)
0.9996000599960001 (Rat)
0.99950009999 (Num)
0.999400149980001 (Num)
0.999300209965003 (Num)
0.999200279944007 (Num)
0.999100359916013 (Num)
> say \$_, ' ', \$_.WHAT for @b[^10];
1 (FatRat)
0.9999 (FatRat)
0.99980001 (FatRat)
0.999700029999 (FatRat)
0.9996000599960001 (FatRat)
0.99950009999000049999 (FatRat)
0.999400149980001499940001 (FatRat)
0.9993002099650034997900069999 (FatRat)
0.99920027994400699944002799920001 (FatRat)
0.999100359916012598740083996400089999 (FatRat)

Create A New User
Node Status?
node history
Node Type: note [id://1203899]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (7)
As of 2018-07-18 15:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?

Results (393 votes). Check out past polls.

Notices?