On Tue, Apr 27, 2021 at 12:23 AM sisyphus <sisyphus...@gmail.com> wrote:
> (I guess I could just use Inline::Perl5 ... not exactly my preferred > option ... but a viable alternative, I would think.) > > The following sort of works, but not in a very meaningful way. All it really does is show that perl is seeing the 3 raku variables ($n, $r1 and $r2) as being a 53-bit (double precision) representation of 0.1. use Math::GMPq:from<Perl5> ":mpq"; -------------------------------------------------- my $n = 1e-1; say "# ", Rmpq_get_str(Math::GMPq::new($n), 10); my Rat $r1 = 0.1; say "# ", Rmpq_get_str(Math::GMPq::new($r1), 10); my Rat $r2 = 1/10; ; say "# ", Rmpq_get_str(Math::GMPq::new($r2), 10); # Wanted: # 3602879701896397/36028797018963968 # 1/10 # 1/10 # Got: # 3602879701896397/36028797018963968 # 3602879701896397/36028797018963968 # 3602879701896397/36028797018963968 =finish use Devel::Peek:from<Perl5>; # Shows that perl sees $n, $r1, and $r2 # as being the double 0.1: Devel::Peek::Dump($n); Devel::Peek::Dump($r1); Devel::Peek::Dump($r2); -------------------------------------------------- Cheers, Rob