Fixed point 64.61 math library for Cairo / Starknet
Project description
Cairo Math 64x61
A fixed point 64.61 math library for Cairo & Starknet.
Usage
Install with pip install cairo_math_64x61
and import and use with from cairo_math_64x61.math64x61 import Math64x61
. Previous installation as an npm module has been deprecated, the last available npm module is v1.2.0
. Starting with v2.0.0
the library utilizes Cairo 0.10 syntax and simplifies return values from objects to simple felts wherever possible.
Signed 64.61 Fixed Point Numbers
A signed 64.61-bit fixed point number is a fraction in which the numerator is a signed 125-bit integer and the denominator is 2^61. Since the denominator stays the same there is no need to store it (as in a floating point value).
64.61 is utilized as the 125 bit representation allows for overflow up to 2^125 * 2^125 (250 bits) during calculation taking advantage of Cairo's 251 bit felts.
Can represent values in the range of -2^64 to 2^64 with precision to 4.34e-19.
Standard Library
Math64x61
includes implementation of add
, sub
, mul
, div
, sqrt
, exp
, ln
, log2
, log10
, and pow
as well as conversion to / from felts and Uint256 values, floor
, ceil
, min
, max
and assertion methods.
Trigonometry Library
Trig64x61
includes implementation of sin
, cos
, tan
and their inverses.
Hyperbolic Library
Hyp64x61
includes implementation of sinh
, cosh
, tanh
, and their inverses.
Vector Library
Vec64x61
includes implementation of vector arithmetic (add
, sub
, div
), dot product (dot
), cross product (cross
) and norm
.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file cairo_math_64x61-2.1.1.tar.gz
.
File metadata
- Download URL: cairo_math_64x61-2.1.1.tar.gz
- Upload date:
- Size: 9.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3675003fd0eb7048e999715acde23ae5cd7446a978c1761fe46f18624ca428f8 |
|
MD5 | a6a6041be2d125f47c406b4dc5c3a9b5 |
|
BLAKE2b-256 | 196b2e8db64ad630274e8b930a55d7d7b207b202c5054073e513eca4fd200934 |
File details
Details for the file cairo_math_64x61-2.1.1-py3-none-any.whl
.
File metadata
- Download URL: cairo_math_64x61-2.1.1-py3-none-any.whl
- Upload date:
- Size: 11.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78736be3ca41f15f956fa7370a9961307dde0bf3bf43ec3cbd29c78f188c56d3 |
|
MD5 | 851a04bf7ccc4973ad336c848bb22ab8 |
|
BLAKE2b-256 | 25ccf5d12b173d808e179a2223d2a79e0a4ff709afeed4ef1b113e829708a0fa |