Permalink
Commits on May 23, 2017
Commits on May 22, 2017
  1. JS backend: implement sub-quadratic bignum algorithms

    Add primitives for universal backends to employ FFT-based bignum
    algorithms (leading to O(N log N) quotient and square root as well).
    
    Enable sub-quadratic multiply, quotient, sqrt, and gcd algorithms for
    javascript backend.
    
    Timings for 1,000,000 digits of pi using a naive Chudnovsky algorithm
    on my machine with last line
    
    (println (number->string (remainder (pi #e1e6) 100000)))
    
    C backend:
    
    heine:~/programs/gambit/gambit> gsc/gsc -:=. -exe chud2
    heine:~/programs/gambit/gambit> time ./chud2
    58151
    2.304u 0.008s 0:02.31 99.5%	0+0k 0+0io 0pf+0w
    
    Javascript backend with "fast" bignum arithmetic:
    
    heine:~/programs/gambit/gambit> gsc/gsc -:=. -exe -target js chud2
    heine:~/programs/gambit/gambit> time ./chud2
    58151
    100.460u 0.172s 1:40.23 100.3%	0+0k 0+0io 0pf+0w
    
    Javascript backend without "fast" bignum arithmetic:
    
    killed with
    heine:~/programs/gambit/gambit> time ./chud2
    ^C4606.708u 0.376s 1:16:49.03 99.9%	0+0k 0+0io 0pf+0w
    gambiteer committed May 22, 2017
Commits on May 21, 2017
  1. Univeral Backend: rename unit test to firstarg.scm to avoid special c…

    …haracters that can't be part of a Java class name
    feeley committed May 21, 2017
Commits on May 20, 2017
Commits on May 19, 2017
  1. Fix compiler unit tests for ##flacosh, ##flatan, etc that should have…

    … used ##fleqv? to check results
    feeley committed May 19, 2017
  2. Merge pull request #262 from 316k/univ

    Universal backend: various improvements  and unit tests
    feeley committed on GitHub May 19, 2017
Commits on May 18, 2017
  1. Universal backend: inline the expansion of x>>>14

    In bignum_from_u32
    316k committed May 18, 2017
  2. Get rid of tabs and whitespace

    feeley committed May 18, 2017
  3. Merge pull request #260 from 316k/ut-univ

    Universal backend: more corrections
    feeley committed on GitHub May 18, 2017
  4. Fix logic in ##log to avoid exact arithmetic; add unit tests

    Fix logic in ##log to avoid exact arithmetic; add unit tests
    gambiteer committed May 18, 2017
  5. Universal backend: makes bignum_to_s32 work with python

    Python doesn't support "x = y += 1"
    316k committed May 17, 2017
  6. Fixes ##fxabs? test

    316k committed May 16, 2017
  7. Universal backend: fix conversion of signed/unsigned 32 bit integers …

    …to/from bignums
    feeley committed with 316k May 17, 2017
  8. Add unit test for ##bignum->fixnum?

    feeley committed with 316k May 17, 2017
Commits on May 17, 2017