@hackage fast-arithmetic0.6.3.0
Fast functions on integers.
Categories
License
BSD-3-Clause
Maintainer
vamchale@gmail.com
Links
Versions
Installation
Tested Compilers
Dependencies (3)
- base >=4.3 && <5
- composition-prelude >=1.2.0.0
- gmpint Show all…
Dependents (2)
@hackage/acme-everything, @hackage/apple
Package Flags
no-integer-gmp
(off by default)
Disable functions relying on GMP
development
(off by default)
Enable `-Werror`.
fast-arithmetic
This is a library for fast arithmetical functions using ATS, with a Haskell wrapper.
It is intended to supplement (but not replace) arithmoi and combinat where speed is important. In particular, this library provides a fast primality check and fast computation of basic combinatorial functions.
Benchmarks
| Computation | Version (ATS/Haskell) | Time |
|---|---|---|
isPrime 2017 |
ATS | 117.1 ns |
isPrime 2017 |
Haskell | 426.4 ns |
φ(2016) |
ATS | 190.9 ns |
φ(2016) |
Haskell | 356.9 ns |
τ(3018) |
ATS | 340.8 ns |
τ(3018) |
Haskell | 659.0 ns |
σ(115) |
ATS | 41.27 ns |
σ(115) |
Haskell | 314.1 ns |
ω(91) |
ATS | 64.67 ns |
ω(91) |
Haskell | 332.0 ns |
160! |
ATS | 4.303 μs |
160! |
Haskell | 5.659 μs |
79!! |
ATS | 941.2 ns |
79!! |
Haskell | 1.267 μs |
322 `choose` 16 |
ATS | 557.5 ns |
322 `choose` 16 |
Haskell | 996.3 ns |
catalan 300 |
ATS | 18.15 μs |
catalan 300 |
Haskell | 29.08 μs |
permutations 20 10 |
ATS | 198.6 ns |
permutations 20 10 |
Haskell | 392.3 ns |
Building
The Haskell library comes with the C bundled, however you will likely want to build from source if you are hacking on the library. To that end, you can install atspkg and build with
atspkg build --pkg-args "./source.dhall"
cabal new-build
Documentation
You can find documentation for the Haskell library on Hackage. Unfortunately, there is no documentation for the ATS library, however, the bundled source code is commented.