fast-arithmetic: Fast functions on integers.

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

Fast functions for number theory and combinatorics with a high level of safety guaranteed by ATS. This package also provides a Storable instance for GMP's mpz type.


[Skip to Readme]

Flags

Manual Flags

NameDescriptionDefault
development

Enable `-Werror` and don't clean ATS libraries between builds.

Disabled

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

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.1.0.4, 0.1.0.5, 0.1.0.6, 0.1.0.7, 0.1.1.0, 0.1.1.1, 0.1.1.2, 0.1.1.3, 0.1.1.4, 0.1.1.5, 0.2.0.0, 0.2.0.1, 0.2.1.0, 0.2.2.0, 0.2.2.1, 0.2.2.2, 0.2.2.3, 0.2.3.0, 0.2.3.1, 0.2.3.2, 0.3.0.0, 0.3.0.1, 0.3.0.2, 0.3.0.3, 0.3.1.0, 0.3.2.0, 0.3.2.1, 0.3.2.4, 0.3.2.5, 0.3.2.6, 0.3.3.0, 0.3.3.1, 0.3.3.2, 0.3.3.3, 0.3.3.4, 0.3.3.5, 0.3.3.6, 0.3.3.7, 0.4.0.0, 0.5.0.0, 0.6.0.1, 0.6.0.2, 0.6.0.3, 0.6.0.4, 0.6.0.5, 0.6.0.6, 0.6.0.7, 0.6.0.8, 0.6.0.9, 0.6.1.1, 0.6.2.0, 0.6.2.2, 0.6.2.3, 0.6.3.0, 0.6.4.0, 0.6.4.1, 0.6.4.2, 0.6.4.3, 0.6.5.0, 0.6.5.1, 0.6.6.0, 0.6.7.0
Dependencies base (>=4.7 && <5), composition-prelude (<1.2.0.0), recursion-schemes [details]
License BSD-3-Clause
Copyright Copyright: (c) 2018 Vanessa McHale
Author Vanessa McHale
Maintainer vamchale@gmail.com
Revised Revision 2 made by vmchale at 2018-03-29T05:28:34Z
Category Numerics, Math, Algorithms, Number Theory, Combinatorics, FFI, ATS
Home page https://github.com/vmchale/fast-arithmetic#readme
Source repo head: git clone git@github.com:vmchale/fast-arithmetic.git
Uploaded by vmchale at 2018-01-10T00:56:23Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 33570 total (144 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-01-10 [all 1 reports]

Readme for fast-arithmetic-0.2.1.0

[back to package description]

fast-arithmetic

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.

Benchmarks

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
1000! ATS 93.03 μs
1000! Haskell 117.1 μs
89!! ATS 849.2 ns
89!! Haskell 1.899 μs
322 `choose` 16 ATS 629.0 ns
322 `choose` 16 Haskell 1.801 μ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 stack, patsopt, and pats-filter and build with

 $ ./shake.hs

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

Documentation

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.