fast-arithmetic: Fast functions on integers.

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

Fast functions for number theory and combinatorics with a high level of safety guaranteed by ATS.


[Skip to Readme]
Versions [RSS] [faq] 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
Dependencies base (>=4.3 && <5), composition-prelude (>=1.2.0.0), gmpint [details]
License BSD-3-Clause
Copyright Copyright: (c) 2018 Vanessa McHale
Author Vanessa McHale
Maintainer vamchale@gmail.com
Category Numerics, Math, Algorithms, Number Theory, Combinatorics, FFI, ATS
Home page https://github.com/vmchale/fast-arithmetic#readme
Bug tracker https://github.com/vmchale/hs-ats/issues
Source repo head: git clone git@github.com:vmchale/hs-ats.git
Uploaded by vmchale at 2018-05-31T00:46:06Z
Distributions NixOS:0.6.5.1
Downloads 27749 total (267 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2018-05-31 [all 1 reports]

Modules

[Index]

Manual Flags

NameDescriptionDefault
development

Enable `-Werror`.

Disabled
Automatic Flags
NameDescriptionDefault

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

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Candidates


Readme for fast-arithmetic-0.6.0.7

[back to package description]

fast-arithmetic

Build Status Hackage Dependencies of latest version on Hackage

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 118.9 ns
isPrime 2017 Haskell 497.3 ns
φ(2016) ATS 230.1 ns
φ(2016) Haskell 402.8 ns
τ(3018) ATS 438.5 ns
τ(3018) Haskell 726.4 ns
σ(115) ATS 38.37 ns
σ(115) Haskell 310.0 ns
ω(91) ATS 66.59 ns
ω(91) Haskell 338.6 ns
160! ATS 4.081 μs
160! Haskell 6.032 μs
79!! ATS 813.8 ns ns
79!! Haskell 1.395 μs
322 `choose` 16 ATS 629.8 ns
322 `choose` 16 Haskell 1.046 μ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
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.