fast-arithmetic: Fast number-theoretic functions.

[ algorithms, ats, bsd3, combinatorics, ffi, library, math, number-theory, numerics ] [ Propose Tags ]

Fast number-theoretic code with a high level of safety guaranteed by ATS.

[Skip to Readme]
Versions [RSS] [faq],,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Dependencies base (>=4.7 && <5) [details]
License BSD-3-Clause
Copyright Copyright: (c) 2017 Vanessa McHale
Author Vanessa McHale
Category Numerics
Home page
Source repo head: git clone
Uploaded by vmchale at 2018-01-04T15:09:42Z
Distributions NixOS:
Downloads 28858 total (1001 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2018-01-04 [all 3 reports]


  • Numeric
    • Numeric.Integer
    • Numeric.NumberTheory
    • Numeric.Pure

Manual Flags


Enable `-Werror`

Automatic Flags

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees


Readme for fast-arithmetic-

[back to package description]


Build Status

This is a library for fast arithmetical functions using ATS, with a Haskell wrapper.

It is intended to supplement (but not replace) arithmoi where speed is important. In particular, this library provides a fast primality check.


Computation Version (ATS/Haskell) Time
isPrime 2017 ATS 118.9 ns
isPrime 2017 Haskell 497.3 ns
φ(2016) ATS 5.574 μs
φ(2016) Haskell 177.3 μs
τ(3018) ATS 7.962 μs
τ(3018) Haskell 35.87 μs
ω(91) ATS 282.1 ns
ω(91) Haskell 1.194 μs


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 stack, patsopt, and pats-filter and build with

 $ ./shake.hs

You will also likely want to install GHC as well as cabal.


You can find documentation for the Haskell library on Hackage. Unfortunately, there is no documentation for the ATS library, however, you may find the bundled source code informative.