We have collection of more than 1 Million open source products ranging from Enterprise product to
small libraries in all platforms. We aggregate information from all open source repositories.
Search and find the best for your needs. Check out projects section.
decimal is a high-performance, arbitrary precision, floating-point decimal library implementing the General Decimal Arithmetic specification. decimal uses Semantic Versioning. The current version is 3.3.1.
PolynomialRoots.jl is a library for finding roots of complex polynomials, written in Julia. This is an implementation in Julia of the General Complex Polynomial Root Solver, written in Fortran, by Jan Skowron and Andrew Gould. All the credits goes to them for the original algorithm.
Arb is a C library for arbitrary-precision interval arithmetic. It has full support for both real and complex numbers. The library is thread-safe, portable, and extensively tested. Arb is free software distributed under the GNU Lesser General Public License (LGPL), version 2.1 or later. Bug reports, feature requests and other comments are welcome in private communication, on the GitHub issue tracker, or on the FLINT mailing list firstname.lastname@example.org.
Small portable Arbitrary-precision unsigned integer arithmetic in C, for calculating with large numbers. Uses an array of uint8_t, uint16_t or uint32_t as underlying data-type utilizing all bits in each word.
Kotlin Multiplatform BigNum library is a pure kotlin implementation of arbitrary precision arithmetic operations. It follows the same approach as Kotlin does on JVM to keep the interface familiar. This is very early version of the library, and has the base implementation of integer and floating point operations. Modular arithmetic is planned for future releases, as well as improvements such as Karatsuba multiplication, Toom-Cook, division using multiplication by reciprocal, and other.
Package decimal implements arbitrary-precision decimal floating-point arithmetic for Go. How computers represent numbers internally is of no import for most applications. However numerical applications that interract with humans must use the same number base as humans. A very simple example is this: https://play.golang.org/p/CVjiDCdhyoR where 1.1 + 0.11 = 1.2100000000000002. Not quite what one would expect.
Most of modern microprocessors are made with a hardware implementation of real number representation in IEEE754. The number length is limited by the format, and rounding modes influence precision. Programmers are often unable to change the behaviour of equipment, or languages implementation. For example, the official implementation of Erlang stores float in 3 words on a 64-bit machine and in 4 words on a 32-bit one. IEEE754 numbers are an infinite set represented as finite. That's why every operand can be misrepresented in IEEE754.