Skip to content

Instantly share code, notes, and snippets.

@moritz
Created November 14, 2011 15:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save moritz/1364229 to your computer and use it in GitHub Desktop.
Save moritz/1364229 to your computer and use it in GitHub Desktop.
Rakudo and NQP bigint status (2011-11-14)
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