Arithmetics is a Python library that allows adding, subtracting and multiplying VERY long numbers.
Python (like many programming languages) is bad at math. It can’t represent very large numbers in the memory. It rounds up the decimal precision as if it doesn’t matter. For instance, Python calculates 4376531231238346534654738521343658334865834.8739879827913213 times -123380950827290485196703213.8735298304756982704423 as -5.399805846355196e+68, which is only a sad approximation. According to Python, 1 - 0.00000000000000001 is still equal to 1.0, which is obviously wrong and can lead to serious bugs.
Arithmetics Library can add, subtract or multiply numbers AT ANY LENGTH with the exact precision. It doesn’t suffer from integer overflow or floating point rounding problems because it takes numbers in string format. It can work with positive, negative and decimal numbers. Analytics Library can calculate the above multiplication precisely: -539980584635519517644606174820023097370977572779217236866897631496501.40991196066825563084376519821275241099.
Usage
arithmetics.calculate(...) takes in 1 arithmetic operator (+, -, or *) and 2 numbers in string format, and returns the result as a string:
from arithmetics import arithmetics arithmetics.calculate(arithmetics.OPERAND_ADD, '123', '-456.789') # returns '-333.789' arithmetics.calculate(arithmetics.OPERAND_SUBTRACT, '-1.0000000000000000000000000000000000001', '0.0000000000000000000000000000000000002') # returns '-0.9999999999999999999999999999999999999' arithmetics.calculate(arithmetics.OPERAND_MULTIPLY, '31352725584.2464', '-4389.999945479936') # returns '-137638463605489.0905724488802304'
You may need this library if…
You do math with very large numbers (e.g. astrophysics)
You don’t want to lose decimal precision (e.g. financial applications)
Happy coding!
Ozan Eren Bilgen
Release files for Arithmetics 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| arithmetics-0.2.0-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Release files / arithmetics-0.2.0-py2.py3-none-any.whl
| Download URL | arithmetics-0.2.0-py2.py3-none-any.whl |
|---|---|
| Size | 6.7 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
f675c7ddd5436a302eb488ffc914a013c4b0709e9c4ca0e70cd368eb086a551e
|
|
BLAKE2b-256 checksum How to use checksums |
e67800c6e178b45d5b429994fabfe85b600cb9e93723bb38947c900b7456526e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.15
|