I've never been able to work out an algorithm for calculating exp for rationals.

That's probably because

`exp(r)` is irrational for every rational

`r` except for 0. However, saying

`use bigrat` sprinkles some magic crazy dust over the whole program in a way similar to

`use bignum`; witness:

`use bigrat;
use strict;
my $lnev = - 7 / (10 ** 17);
print "lnev is $lnev\n";
my $ev = exp($lnev);
print "ev is $ev\n";
print "1-ev is ", 1-$ev, "\n";
`

Again, both values are 1.

--

`@/=map{[/./g]}qw/.h_nJ Xapou cets krht ele_ r_ra/;
map{y/X_/\n /;print}map{pop@$_}@/for@/
`

Comment onRe^7: Help me make a test case for Math::BigFloatSelectorDownloadCode