fast-arithmetic 0.3.3.5 → 0.3.3.6
raw patch · 4 files changed
+3/−17 lines, 4 files
Files
- bench/Bench.hs +0/−5
- fast-arithmetic.cabal +1/−1
- src/Numeric/Integer.hs +0/−9
- test/Spec.hs +2/−2
bench/Bench.hs view
@@ -3,7 +3,6 @@ import Criterion.Main import qualified Math.Combinat.Numbers as Ext import qualified Math.NumberTheory.ArithmeticFunctions as Ext--- import qualified Math.NumberTheory.Moduli.Jacobi as Ext import Numeric.Combinatorics import Numeric.Integer import Numeric.NumberTheory@@ -46,9 +45,5 @@ , bgroup "catalan" [ bench "catalan" $ nf catalan 300 , bench "Ext.catalan" $ nf Ext.catalan (300 :: Int)- ]- , bgroup "fibonacci"- [ bench "fibonacci" $ nf fibonacci 200- , bench "hsFibonacci" $ nf (hsFibonacci :: Int -> Integer) 200 ] ]
fast-arithmetic.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.18 name: fast-arithmetic-version: 0.3.3.5+version: 0.3.3.6 license: BSD3 license-file: LICENSE copyright: Copyright: (c) 2018 Vanessa McHale
src/Numeric/Integer.hs view
@@ -6,21 +6,12 @@ -} module Numeric.Integer ( isPrime- , fibonacci ) where -import Data.GMP import Foreign.C-import Foreign.Ptr import Numeric.Common-import System.IO.Unsafe (unsafePerformIO) foreign import ccall is_prime_ats :: CInt -> CBool-foreign import ccall unsafe fib_ats :: CInt -> Ptr GMPInt---- | Indexed starting at @0@.-fibonacci :: Int -> Integer-fibonacci = unsafePerformIO . conjugateGMP fib_ats -- | \( O(\sqrt(n)) \) isPrime :: Int -> Bool
test/Spec.hs view
@@ -60,6 +60,6 @@ sequence_ $ zipWith4 check ["choose 101", "doubleFactorial", "catalan", "fibonacci", "factorial", "jacobi"]- [choose 101, doubleFactorial, catalan, fibonacci, factorial]- [Ext.binomial 101, Ext.doubleFactorial, Ext.catalan, hsFibonacci . fromIntegral, Ext.factorial]+ [choose 101, doubleFactorial, catalan, factorial]+ [Ext.binomial 101, Ext.doubleFactorial, Ext.catalan, Ext.factorial] [16, 79, 300, 121, 231]