@hackage fast-arithmetic0.6.7.0
Fast functions on integers.
Categories
License
BSD-3-Clause
Maintainer
vamchale@gmail.com
Links
Versions
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.2 ns |
isPrime 2017 |
Haskell | 425.0 ns |
φ(2016) |
ATS | 191.5 ns |
φ(2016) |
Haskell | 384.8 ns |
τ(3018) |
ATS | 337.0 ns |
τ(3018) |
Haskell | 660.2 ns |
σ(115) |
ATS | 45.41 ns |
σ(115) |
Haskell | 322.4 ns |
ω(91) |
ATS | 65.52 ns |
ω(91) |
Haskell | 345.2 ns |
160! |
ATS | 2.363 μs |
160! |
Haskell | 6.134μs |
79!! |
ATS | 556.2 ns |
79!! |
Haskell | 1.355 μs |
322 `choose` 16 |
ATS | 467.6 ns |
322 `choose` 16 |
Haskell | 956.7 ns |
catalan 300 |
ATS | 13.74 μs |
catalan 300 |
Haskell | 28.76 μs |
permutations 20 10 |
ATS | 202.8 ns |
permutations 20 10 |
Haskell | 362.6 ns |
maxRegions 45000 |
ATS | 624.1 ns |
maxRegions 45000 |
Haskell | 1.064 μs |
stirling2 25 8 |
ATS | 3.108 μs |
stirling2 25 8 |
Haskell | 9.494 μs |
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 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.