http://qs321.pair.com?node_id=11137187


in reply to Re: Research into occasional participation in Perl/Raku development
in thread Research into occasional participation in Perl/Raku development

Moving on to fractions, when I heard that raku was going to deal with fractions in a clever way, I decided to experiment and write my own module to do fractions. Instead of adulting tonight, I decided to spend a little time fiddling with code.

Here's my test script:

#!/usr/bin/perl use strict; use warnings; # OK, try the division of the large numbers using my # Number::MyFraction module. No idea what result I'll get. use lib '../Number-MyFractions/lib'; use Number::MyFraction; { my $long_tenth = Number::MyFraction->new( 3602879701896397, 36028797018963968 ); my $short_tenth = Number::MyFraction->new( 1, 10 ); my $difference = $long_tenth - $short_tenth; print "Compare long tenth: " . ( $long_tenth->decimal_val == .1 ? 'TRUE' : 'FALSE' ) . "\n"; print "Compare short tenth: " . ( $short_tenth->decimal_val == .1 ? 'TRUE' : 'FALSE' ) . "\n"; print "The different is " . $difference->decimal_val . ".\n"; }
Interestingly, it produced OK results ..
$ perl 11137153.pl Compare long tenth: TRUE Compare short tenth: TRUE The different is 5.55111512312578e-18. $
Sure, the difference between the values is non-zero, but comparing the individual fractions to one tenth did work.

I think it just depends on which tool you use to get the job done.

Alex / talexb / Toronto

Thanks PJ. We owe you so much. Groklaw -- RIP -- 2003 to 2013.