packages feed

fast-arithmetic 0.3.0.2 → 0.3.0.3

raw patch · 8 files changed

+66/−64 lines, 8 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

README.md view
@@ -21,6 +21,8 @@ | `φ(2016)` | Haskell | - | | `τ(3018)` | ATS | 438.5 ns | | `τ(3018)` | Haskell | 726.4 ns |+| `σ(115)` | ATS | 216.3 ns |+| `σ(115)` | Haskell | 324.5 ns | | `ω(91)` | ATS | 66.59 ns | | `ω(91)` | Haskell | 338.6 ns | | `160!` | ATS | 4.081 μs |
ats-src/number-theory.dats view
@@ -166,13 +166,13 @@   end  // Euler's totient function.-fn totient(n : intGte(1)) : int =+fn totient(n : intGte(1)) :<> int =   case+ n of     | 1 => 1     | n =>>        begin         let-          fnx loop { k : nat | k >= 2 }{ m : nat | m > 0 && k >= m } .<k-m>. (i : int(m), n : int(k)) : int =+          fnx loop { k : nat | k >= 2 }{ m : nat | m > 0 && k >= m } .<k-m>. (i : int(m), n : int(k)) :<> int =             if i >= n then               if is_prime(n) then                 n - 1
bench/Bench.hs view
@@ -31,7 +31,7 @@                       [ bench "factorial" $ nfIO (factorial 160)                       , bench "Ext.factorial" $ nf Ext.factorial (160 :: Integer)                       ]-                , bgroup "sumDivisors"+                , bgroup "σ"                       [ bench "sumDivisors" $ nf sumDivisors 115                       , bench "Ext.sigma" $ nf (Ext.sigma 1) (115 :: Int)                       ]
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-14: 17h:49m+** The starting compilation time is: 2018-1-14: 19h:15m ** */ 
cbits/number-theory.c view
@@ -1,7 +1,7 @@ /* ** ** The C code is generated by [ATS/Postiats-0-3-8]-** The starting compilation time is: 2018-1-14: 18h:51m+** The starting compilation time is: 2018-1-14: 19h:15m ** */ @@ -7192,7 +7192,7 @@ } /* end of [ATSLIB_056_prelude__gt_g1int_int__6__6] */  /*-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4440(line=169, offs=4) -- 4988(line=189, offs=10)+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4440(line=169, offs=4) -- 4992(line=189, offs=10) */ /* local: is_prime_20$0(level=0)@@ -7209,11 +7209,11 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4440(line=169, offs=4) -- 4988(line=189, offs=10)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4440(line=169, offs=4) -- 4992(line=189, offs=10) */ ATSINSflab(__patsflab_totient_106): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4473(line=170, offs=3) -- 4988(line=189, offs=10)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4475(line=170, offs=3) -- 4992(line=189, offs=10) */ ATScaseof_beg() /*@@ -7221,7 +7221,7 @@ */ ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4490(line=171, offs=7) -- 4491(line=171, offs=8)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4492(line=171, offs=7) -- 4493(line=171, offs=8) */ ATSINSlab(__atstmplab33): /*@@ -7229,7 +7229,7 @@ */ ATSifnthen(ATSCKpat_int(arg0, ATSPMVint(1))) { ATSINSgoto(__atstmplab35) ; } ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4491(line=171, offs=8) -- 4491(line=171, offs=8)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4493(line=171, offs=8) -- 4493(line=171, offs=8) */ ATSINSlab(__atstmplab34): /*@@ -7239,14 +7239,14 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4495(line=171, offs=12) -- 4496(line=171, offs=13)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4497(line=171, offs=12) -- 4498(line=171, offs=13) */ ATSINSmove(tmpret259, ATSPMVi0nt(1)) ; ATSbranch_end()  ATSbranch_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4504(line=172, offs=8) -- 4504(line=172, offs=8)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4506(line=172, offs=8) -- 4506(line=172, offs=8) */ ATSINSlab(__atstmplab35): /*@@ -7256,7 +7256,7 @@ ibranch-mbody: */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4530(line=174, offs=9) -- 4978(line=188, offs=12)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4532(line=174, offs=9) -- 4982(line=188, offs=12) */ /* letpush(beg)@@ -7266,12 +7266,12 @@ */  /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4956(line=187, offs=11) -- 4966(line=187, offs=21)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4960(line=187, offs=11) -- 4970(line=187, offs=21) */ ATSINSmove(tmpret259, loop_107(ATSPMVi0nt(1), arg0)) ;  /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4530(line=174, offs=9) -- 4978(line=188, offs=12)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4532(line=174, offs=9) -- 4982(line=188, offs=12) */ /* INSletpop()@@ -7288,7 +7288,7 @@ } /* end of [totient_106] */  /*-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4548(line=175, offs=15) -- 4934(line=185, offs=31)+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4550(line=175, offs=15) -- 4938(line=185, offs=31) */ /* local: is_prime_20$0(level=0), loop_107$0(level=1)@@ -7321,126 +7321,126 @@ */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4548(line=175, offs=15) -- 4934(line=185, offs=31)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4550(line=175, offs=15) -- 4938(line=185, offs=31) */ ATSINSflab(__patsflab_loop_107): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4659(line=176, offs=16) -- 4665(line=176, offs=22)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4663(line=176, offs=16) -- 4669(line=176, offs=22) */ ATSINSmove(tmp261, ATSLIB_056_prelude__gte_g1int_int__40__3(arg0, arg1)) ;  /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4656(line=176, offs=13) -- 4934(line=185, offs=31)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4660(line=176, offs=13) -- 4938(line=185, offs=31) */ ATSif( tmp261 ) ATSthen() { /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4688(line=177, offs=18) -- 4698(line=177, offs=28)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4692(line=177, offs=18) -- 4702(line=177, offs=28) */ ATSINSmove(tmp264, is_prime_20(arg1)) ;  /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4685(line=177, offs=15) -- 4763(line=180, offs=18)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4689(line=177, offs=15) -- 4767(line=180, offs=18) */ ATSif( tmp264 ) ATSthen() { /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4721(line=178, offs=17) -- 4726(line=178, offs=22)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4725(line=178, offs=17) -- 4730(line=178, offs=22) */ ATSINSmove(tmpret260, atspre_g1int_sub_int(arg1, ATSPMVi0nt(1))) ;  } ATSelse() { /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4762(line=180, offs=17) -- 4763(line=180, offs=18)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4766(line=180, offs=17) -- 4767(line=180, offs=18) */ ATSINSmove(tmpret260, arg1) ; } /* ATSendif */ } ATSelse() { /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4798(line=182, offs=18) -- 4832(line=182, offs=52)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4802(line=182, offs=18) -- 4836(line=182, offs=52) */ ATSINSmove(tmp270, atspre_g0int_mod_int(arg1, arg0)) ;  /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4798(line=182, offs=18) -- 4832(line=182, offs=52)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4802(line=182, offs=18) -- 4836(line=182, offs=52) */ ATSINSmove(tmp267, ATSLIB_056_prelude__eq_g0int_int__12__13(tmp270, ATSPMVi0nt(0))) ;  /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4798(line=182, offs=18) -- 4832(line=182, offs=52)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4802(line=182, offs=18) -- 4836(line=182, offs=52) */ ATSif( tmp267 ) ATSthen() { /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4798(line=182, offs=18) -- 4832(line=182, offs=52)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4802(line=182, offs=18) -- 4836(line=182, offs=52) */ ATSINSmove(tmp266, is_prime_20(arg0)) ;  } ATSelse() { /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4798(line=182, offs=18) -- 4832(line=182, offs=52)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4802(line=182, offs=18) -- 4836(line=182, offs=52) */ ATSINSmove(tmp266, ATSPMVbool_false()) ; } /* ATSendif */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4798(line=182, offs=18) -- 4832(line=182, offs=52)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4802(line=182, offs=18) -- 4836(line=182, offs=52) */ ATSif( tmp266 ) ATSthen() { /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4798(line=182, offs=18) -- 4832(line=182, offs=52)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4802(line=182, offs=18) -- 4836(line=182, offs=52) */ ATSINSmove(tmp265, ATSLIB_056_prelude__neq_g1int_int__44__2(arg0, arg1)) ;  } ATSelse() { /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4798(line=182, offs=18) -- 4832(line=182, offs=52)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4802(line=182, offs=18) -- 4836(line=182, offs=52) */ ATSINSmove(tmp265, ATSPMVbool_false()) ; } /* ATSendif */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4795(line=182, offs=15) -- 4934(line=185, offs=31)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4799(line=182, offs=15) -- 4938(line=185, offs=31) */ ATSif( tmp265 ) ATSthen() { /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4860(line=183, offs=23) -- 4865(line=183, offs=28)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4864(line=183, offs=23) -- 4869(line=183, offs=28) */ ATSINSmove(tmp275, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;  /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4855(line=183, offs=18) -- 4869(line=183, offs=32)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4859(line=183, offs=18) -- 4873(line=183, offs=32) */ ATSINSmove(tmp274, loop_107(tmp275, arg1)) ;  /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4855(line=183, offs=18) -- 4873(line=183, offs=36)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4859(line=183, offs=18) -- 4877(line=183, offs=36) */ ATSINSmove(tmp273, atspre_g0int_div_int(tmp274, arg0)) ;  /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4878(line=183, offs=41) -- 4883(line=183, offs=46)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4882(line=183, offs=41) -- 4887(line=183, offs=46) */ ATSINSmove(tmp276, atspre_g1int_sub_int(arg0, ATSPMVi0nt(1))) ;  /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4854(line=183, offs=17) -- 4884(line=183, offs=47)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4858(line=183, offs=17) -- 4888(line=183, offs=47) */ ATSINSmove(tmpret260, atspre_g0int_mul_int(tmp273, tmp276)) ;  } ATSelse() { /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4925(line=185, offs=22) -- 4930(line=185, offs=27)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4929(line=185, offs=22) -- 4934(line=185, offs=27) */ ATSINSmove(tmp277, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;  /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4920(line=185, offs=17) -- 4934(line=185, offs=31)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 4924(line=185, offs=17) -- 4938(line=185, offs=31) */ ATStailcal_beg() ATSINSmove_tlcal(apy0, tmp277) ;@@ -7583,7 +7583,7 @@ } /* end of [ATSLIB_056_prelude__neq_g1int_int__44__2] */  /*-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5041(line=192, offs=5) -- 5429(line=206, offs=6)+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5045(line=192, offs=5) -- 5433(line=206, offs=6) */ /* local: witness_0$0(level=0), totient_106$0(level=0)@@ -7600,11 +7600,11 @@ /* tmpvardeclst(end) */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5041(line=192, offs=5) -- 5429(line=206, offs=6)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5045(line=192, offs=5) -- 5433(line=206, offs=6) */ ATSINSflab(__patsflab_totient_sum_111): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5081(line=193, offs=3) -- 5429(line=206, offs=6)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5085(line=193, offs=3) -- 5433(line=206, offs=6) */ /* letpush(beg)@@ -7614,12 +7614,12 @@ */  /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5413(line=205, offs=5) -- 5423(line=205, offs=15)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5417(line=205, offs=5) -- 5427(line=205, offs=15) */ ATSINSmove(tmpret278, loop_112(ATSPMVi0nt(1), arg0)) ;  /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5081(line=193, offs=3) -- 5429(line=206, offs=6)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5085(line=193, offs=3) -- 5433(line=206, offs=6) */ /* INSletpop()@@ -7629,7 +7629,7 @@ } /* end of [totient_sum_111] */  /*-/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5093(line=194, offs=9) -- 5403(line=203, offs=40)+/home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5097(line=194, offs=9) -- 5407(line=203, offs=40) */ /* local: witness_0$0(level=0), totient_106$0(level=0), loop_112$0(level=1)@@ -7659,60 +7659,60 @@ */ ATSfunbody_beg() /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5093(line=194, offs=9) -- 5403(line=203, offs=40)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5097(line=194, offs=9) -- 5407(line=203, offs=40) */ ATSINSflab(__patsflab_loop_112): /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5196(line=195, offs=10) -- 5205(line=195, offs=19)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5200(line=195, offs=10) -- 5209(line=195, offs=19) */ ATSINSmove(tmp280, ATSLIB_056_prelude__lt_g1int_int__22__3(arg0, arg1)) ;  /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5193(line=195, offs=7) -- 5403(line=203, offs=40)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5197(line=195, offs=7) -- 5407(line=203, offs=40) */ ATSif( tmp280 ) ATSthen() { /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5219(line=196, offs=9) -- 5352(line=201, offs=12)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5223(line=196, offs=9) -- 5356(line=201, offs=12) */ /* letpush(beg) */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5237(line=197, offs=15) -- 5238(line=197, offs=16)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5241(line=197, offs=15) -- 5242(line=197, offs=16) */ /* ATSINStmpdec(tmpref283) ; */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5246(line=197, offs=24) -- 5251(line=197, offs=29)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5250(line=197, offs=24) -- 5255(line=197, offs=29) */ ATSINSmove(tmp284, atspre_g1int_add_int(arg0, ATSPMVi0nt(1))) ;  /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5241(line=197, offs=19) -- 5259(line=197, offs=37)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5245(line=197, offs=19) -- 5263(line=197, offs=37) */ ATSINSmove(tmpref283, loop_112(tmp284, arg1)) ;  /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5274(line=198, offs=15) -- 5275(line=198, offs=16)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5278(line=198, offs=15) -- 5279(line=198, offs=16) */ /* ATSINStmpdec(tmpref285) ; */ /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5305(line=198, offs=46) -- 5314(line=198, offs=55)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5309(line=198, offs=46) -- 5318(line=198, offs=55) */ ATSINSmove(tmp291, totient_106(arg0)) ;  /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5297(line=198, offs=38) -- 5316(line=198, offs=57)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5301(line=198, offs=38) -- 5320(line=198, offs=57) */ ATSINSmove(tmp290, witness_0(tmp291)) ;  /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5278(line=198, offs=19) -- 5317(line=198, offs=58)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5282(line=198, offs=19) -- 5321(line=198, offs=58) */ ATSINSmove(tmpref285, ATSCNTRB_056_HX_056_intinf_vt__add_intinf0_int__114__1(tmpref283, tmp290)) ; @@ -7721,28 +7721,28 @@ */  /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5339(line=200, offs=11) -- 5340(line=200, offs=12)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5343(line=200, offs=11) -- 5344(line=200, offs=12) */ ATSINSmove(tmpret279, tmpref285) ; /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5219(line=196, offs=9) -- 5352(line=201, offs=12)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5223(line=196, offs=9) -- 5356(line=201, offs=12) */ /* INSletpop() */ } ATSelse() { /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5372(line=203, offs=9) -- 5403(line=203, offs=40)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5376(line=203, offs=9) -- 5407(line=203, offs=40) */ ATSINSmove(tmp300, totient_106(arg0)) ;  /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5372(line=203, offs=9) -- 5403(line=203, offs=40)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5376(line=203, offs=9) -- 5407(line=203, offs=40) */ ATSINSmove(tmp299, witness_0(tmp300)) ;  /*-emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5372(line=203, offs=9) -- 5403(line=203, offs=40)+emit_instr: loc0 = /home/vanessa/programming/haskell/done/fast-arithmetic/ats-src/number-theory.dats: 5376(line=203, offs=9) -- 5407(line=203, offs=40) */ ATSINSmove(tmpret279, ATSCNTRB_056_HX_056_intinf_vt__intinf_make_int__116__1(tmp299)) ; 
cbits/numerics.c view
@@ -1,7 +1,7 @@ /* ** ** The C code is generated by [ATS/Postiats-0-3-8]-** The starting compilation time is: 2018-1-14: 18h:19m+** The starting compilation time is: 2018-1-14: 19h:15m ** */ 
fast-arithmetic.cabal view
@@ -1,5 +1,5 @@ name:                fast-arithmetic-version:             0.3.0.2+version:             0.3.0.3 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.
src/Numeric/NumberTheory.hs view
@@ -51,7 +51,7 @@ littleOmega :: Int -> Int littleOmega = conjugate little_omega_ats --- | Number of distinct divisors. Experimental.+-- | Number of distinct divisors. tau :: Int -> Int tau = conjugate count_divisors_ats