fast-arithmetic 0.2.0.0 → 0.2.0.1
raw patch · 3 files changed
+14/−57 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- ats-src/combinatorics-ffi.dats +0/−7
- cbits/combinatorics.c +13/−49
- fast-arithmetic.cabal +1/−1
ats-src/combinatorics-ffi.dats view
@@ -25,10 +25,6 @@ fun factorial_ats {n : nat} : int(n) -> Intinf = "mac#" -extern-fun derangement_ats {n : nat} : int(n) -> Intinf =- "mac#"- implement choose_ats (n, k) = choose(n, k) @@ -40,6 +36,3 @@ implement factorial_ats (m) = fact(m)--implement derangement_ats (m) =- derangements(m)
cbits/combinatorics.c view
@@ -1,7 +1,7 @@ /* ** ** The C code is generated by [ATS/Postiats-0-3-8]-** The starting compilation time is: 2018-1-9: 15h:48m+** The starting compilation time is: 2018-1-9: 17h: 0m ** */ @@ -646,12 +646,6 @@ factorial_ats(atstkind_t0ype(atstype_int)) ; #endif // end of [QUALIFIED] -#if(0)-ATSextern()-atstkind_type(atstype_ptrk)-derangement_ats(atstkind_t0ype(atstype_int)) ;-#endif // end of [QUALIFIED]- /* /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics.dats: 280(line=10, offs=4) -- 980(line=34, offs=6) */@@ -4017,7 +4011,7 @@ } /* end of [ATSCNTRB_056_HX_056_intinf_vt__intinf_free__12__3] */ /*-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 665(line=32, offs=22) -- 688(line=33, offs=15)+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 597(line=28, offs=22) -- 620(line=29, offs=15) */ /* local: choose_44$0(level=0)@@ -4034,11 +4028,11 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 654(line=32, offs=11) -- 688(line=33, offs=15)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 586(line=28, offs=11) -- 620(line=29, offs=15) */ ATSINSflab(__patsflab_choose_ats): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 676(line=33, offs=3) -- 688(line=33, offs=15)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 608(line=29, offs=3) -- 620(line=29, offs=15) */ ATSINSmove(tmpret131, choose_44(arg0, arg1)) ; @@ -4047,7 +4041,7 @@ } /* end of [choose_ats] */ /*-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 717(line=35, offs=28) -- 740(line=36, offs=15)+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 649(line=31, offs=28) -- 672(line=32, offs=15) */ /* local: choose_44$0(level=0)@@ -4064,11 +4058,11 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 700(line=35, offs=11) -- 740(line=36, offs=15)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 632(line=31, offs=11) -- 672(line=32, offs=15) */ ATSINSflab(__patsflab_permutations_ats): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 728(line=36, offs=3) -- 740(line=36, offs=15)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 660(line=32, offs=3) -- 672(line=32, offs=15) */ ATSINSmove(tmpret132, choose_44(arg0, arg1)) ; @@ -4077,7 +4071,7 @@ } /* end of [permutations_ats] */ /*-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 773(line=38, offs=32) -- 788(line=39, offs=10)+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 705(line=34, offs=32) -- 720(line=35, offs=10) */ /* local: dfact_34$0(level=0)@@ -4094,11 +4088,11 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 752(line=38, offs=11) -- 789(line=39, offs=11)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 684(line=34, offs=11) -- 721(line=35, offs=11) */ ATSINSflab(__patsflab_double_factorial_ats): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 781(line=39, offs=3) -- 788(line=39, offs=10)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 713(line=35, offs=3) -- 720(line=35, offs=10) */ ATSINSmove(tmpret133, dfact_34(arg0)) ; @@ -4107,7 +4101,7 @@ } /* end of [double_factorial_ats] */ /*-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 815(line=41, offs=25) -- 829(line=42, offs=9)+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 747(line=37, offs=25) -- 761(line=38, offs=9) */ /* local: fact_28$0(level=0)@@ -4124,47 +4118,17 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 801(line=41, offs=11) -- 830(line=42, offs=10)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 733(line=37, offs=11) -- 762(line=38, offs=10) */ ATSINSflab(__patsflab_factorial_ats): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 823(line=42, offs=3) -- 829(line=42, offs=9)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 755(line=38, offs=3) -- 761(line=38, offs=9) */ ATSINSmove(tmpret134, fact_28(arg0)) ; ATSfunbody_end() ATSreturn(tmpret134) ; } /* end of [factorial_ats] */--/*-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 858(line=44, offs=27) -- 880(line=45, offs=17)-*/-/*-local: derangements_0$0(level=0)-global: derangements_0$0(level=0), derangement_ats$62$0(level=0)-local: -global: -*/-ATSextern()-atstkind_type(atstype_ptrk)-derangement_ats(atstkind_t0ype(atstype_int) arg0)-{-/* tmpvardeclst(beg) */-ATStmpdec(tmpret135, atstkind_type(atstype_ptrk)) ;-/* tmpvardeclst(end) */-ATSfunbody_beg()-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 842(line=44, offs=11) -- 881(line=45, offs=18)-*/-ATSINSflab(__patsflab_derangement_ats):-/*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/combinatorics-ffi.dats: 866(line=45, offs=3) -- 880(line=45, offs=17)-*/-ATSINSmove(tmpret135, derangements_0(arg0)) ;--ATSfunbody_end()-ATSreturn(tmpret135) ;-} /* end of [derangement_ats] */ /* ** for initialization(dynloading)
fast-arithmetic.cabal view
@@ -1,5 +1,5 @@ name: fast-arithmetic-version: 0.2.0.0+version: 0.2.0.1 synopsis: Fast functions on integers. description: Fast functions for number theory and combinatorics with a high level of safety guaranteed by [ATS](http://www.ats-lang.org/). This package also provides a 'Storable' instance for GMP's @mpz@ type.