Created
November 14, 2011 15:50
-
-
Save moritz/1364229 to your computer and use it in GitHub Desktop.
Rakudo and NQP bigint status (2011-11-14)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Status of the bigint branches in rakudo and nqp | |
nqp: | |
* all important functions implemented, including | |
pow_I and conversion from and to double | |
* I've added mp_get_long and mp_set_long functions to | |
3rdparty/libtommath/. Dunno if that's the best approach, or if | |
our own extensions to tommath should be kept in a separate place. | |
The extensions could also be submitted upstream. | |
* nqp::isbig_I is broken on 32bit platforms (seems to | |
always return 1, people have reported. I don't have any 32bit machine | |
available for testing) | |
rakudo: | |
* all Int functions, ops and methods are implemented | |
* radcalc in Perl6::Actions seems to work fine, but the codegen | |
for rats is broken. It is special-cased in SymolTable.add_constant, | |
and that special case assumes that Int can unbox to int and back again | |
without loss. | |
All my attempts to fix that have failed, it seems to interact very | |
weirdly with the rest of the world (or maybe I just don't understand | |
the code well enough) | |
* Adding some debug statements to radcalc() showed that it is called twice | |
for each Rat literal (maybe also for other literals). This is probably not | |
specific to the bigint branch, but maybe worth investigating. | |
* since the broken Rat literals make the spectests rather noisy, it's | |
hard to figure out if more than Rat literals are broken. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment