deka alternatives and similar packages
Based on the "Math" category.
Alternatively, view deka alternatives based on common mentions on social networks and blogs.
-
vector
An efficient implementation of Int-indexed arrays (both mutable and immutable), with a powerful loop optimisation framework . -
statistics
A fast, high quality library for computing with statistics in Haskell. -
HerbiePlugin
GHC plugin that improves Haskell code's numerical stability -
hgeometry
HGeometry is a library for computing with geometric objects in Haskell. It defines basic geometric types and primitives, and it implements some geometric data structures and algorithms. The main two focusses are: (1) Strong type safety, and (2) implementations of geometric algorithms and data structures that have good asymptotic running time guarantees. -
dimensional
Dimensional library variant built on Data Kinds, Closed Type Families, TypeNats (GHC 7.8+). -
computational-algebra
General-Purpose Computer Algebra System as an EDSL in Haskell -
mwc-random
A very fast Haskell library for generating high quality pseudo-random numbers. -
numhask
A haskell numeric prelude, providing a clean structure for numbers and operations that combine them. -
poly
Fast polynomial arithmetic in Haskell (dense and sparse, univariate and multivariate, usual and Laurent) -
cf
"Exact" real arithmetic for Haskell using continued fractions (Not formally proven correct) -
optimization
Some numerical optimization methods implemented in Haskell -
equational-reasoning
Agda-style equational reasoning in Haskell -
safe-decimal
Safe and very efficient arithmetic operations on fixed decimal point numbers -
monoid-subclasses
Subclasses of Monoid with a solid theoretical foundation and practical purposes -
eigen
Haskel binding for Eigen library. Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms. -
modular-arithmetic
A useful type for working with integers modulo some constant.
Collect and Analyze Billions of Data Points in Real Time
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of deka or a related project?
README
deka
deka provides correctly rounded decimal arithmetic for Haskell.
The core of deka is a binding to the C library mpdecimal. You need to install mpdecimal; otherwise, your executables will not link. mpdecimal is available here:
http://www.bytereef.org/mpdecimal/index.html
mpdecimal has also been packaged for some Linux distributions, such as Debian (libmpdec-dev) and Arch (mpdecimal). deka has been tested with mpdecimal version 2.4.0.
As the author of deka, I have no association with the author of mpdecimal, and any errors in this library are mine and should be reported to [email protected] or to the Github tracker at
http://www.github.com/massysett/deka
You will want to understand the General Decimal Arithmetic Specification in order to fully understand deka. The specification is at
http://speleotrove.com/decimal/decarith.html
and more about decimal arithmetic generally at
http://speleotrove.com/decimal/
Dependencies
The main deka library depends only on base
, bytestring
, and
parsec
, so it shouldn't be difficult to build. The tests use
tasty and
QuickCheck.
Test status
deka is tested using the tests available on the General Decimal Arithmetic website:
http://speleotrove.com/decimal/dectest.html
Some of these tests currently fail. The failures are in edge cases that should not affect most usage. Diagnosing these failures is on the TODO list.
More documentation
Much more documentation is available in the Haddock comments in the source files. There is also a file of examples to get you started. It has copious comments. It is written in literate Haskell, so the compiler keeps me honest with the example code. Unfortunately Haddock does not play very nice with literate Haskell. However, the file is easy to view on Github:
[Examples](lib/Data/Deka/Docs/Examples.lhs)
License
deka is licensed under the BSD license, see the LICENSE file.
*Note that all licence references and agreements mentioned in the deka README section above
are relevant to that project's source code only.