Arbitrary precision arithmetic.
Project description
rithm
In what follows python
is an alias for python3.7
or pypy3.7
or any later version (python3.8
, pypy3.8
and so on).
Installation
Install the latest pip
& setuptools
packages versions
python -m pip install --upgrade pip setuptools
User
Download and install the latest stable version from PyPI
repository
python -m pip install --upgrade rithm
Developer
Download the latest version from GitHub
repository
git clone https://github.com/lycantropos/rithm.git
cd rithm
Install dependencies
python -m pip install -r requirements.txt
Install
python setup.py install
Usage
Python
Arbitrary precision integer
With setup
>>> from rithm import Int
we can:
- construct
>>> Int() rithm.Int(0) >>> Int(9) rithm.Int(9) >>> Int('9') rithm.Int(9) >>> Int('0b1_001', 2) rithm.Int(9) >>> Int('0o11', 8) rithm.Int(9) >>> Int('0x9', 16) rithm.Int(9) >>> Int('1_001', 2) rithm.Int(9) >>> Int('0o11', 8) rithm.Int(9) >>> Int('9', 16) rithm.Int(9) >>> Int(9.99) rithm.Int(9)
- compare
>>> Int(9) == Int(9) True >>> Int(9) >= Int(9) True >>> Int(9) > Int(8) True >>> Int(9) <= Int(9) True >>> Int(9) < Int(10) True
- calculate
>>> abs(Int(-9)) rithm.Int(9) >>> Int(4) + Int(5) rithm.Int(9) >>> Int(9) & Int(11) rithm.Int(9) >>> Int(19) // Int(2) rithm.Int(9) >>> ~Int(-10) rithm.Int(9) >>> Int(19) % Int(10) rithm.Int(9) >>> Int(3) * Int(3) rithm.Int(9) >>> -Int(-9) rithm.Int(9) >>> Int(1) | Int(8) rithm.Int(9) >>> Int(3) ** Int(2) rithm.Int(9) >>> Int(5) << Int(1) rithm.Int(10) >>> Int(5) >> Int(1) rithm.Int(2) >>> Int(25) - Int(16) rithm.Int(9) >>> Int(18) / Int(2) rithm.Fraction(rithm.Int(9), rithm.Int(1)) >>> Int(2) ^ Int(11) rithm.Int(9)
Exact fraction
With setup
>>> from rithm import Fraction
we can:
- construct
>>> Fraction() rithm.Fraction(rithm.Int(0), rithm.Int(1)) >>> Fraction(1) rithm.Fraction(rithm.Int(1), rithm.Int(1)) >>> Fraction(1, 2) rithm.Fraction(rithm.Int(1), rithm.Int(2)) >>> Fraction(50, 100) rithm.Fraction(rithm.Int(1), rithm.Int(2)) >>> Fraction(0.5) rithm.Fraction(rithm.Int(1), rithm.Int(2))
- compare
>>> Fraction(1, 2) == Fraction(1, 2) True >>> Fraction(1, 2) >= Fraction(1, 2) True >>> Fraction(1, 2) > Fraction(1, 3) True >>> Fraction(1, 2) < Fraction(2, 3) True >>> Fraction(1, 2) != Fraction(1, 3) True
- calculate
>>> abs(Fraction(-1, 2)) rithm.Fraction(rithm.Int(1), rithm.Int(2)) >>> Fraction(1, 3) + Fraction(1, 6) rithm.Fraction(rithm.Int(1), rithm.Int(2)) >>> Fraction(3, 2) // Fraction(1) rithm.Int(1) >>> Fraction(3, 2) % Fraction(1) rithm.Fraction(rithm.Int(1), rithm.Int(2)) >>> Fraction(1, 3) * Fraction(3, 2) rithm.Fraction(rithm.Int(1), rithm.Int(2)) >>> -Fraction(-1, 2) rithm.Fraction(rithm.Int(1), rithm.Int(2)) >>> Fraction(1, 2) ** 2 rithm.Fraction(rithm.Int(1), rithm.Int(4)) >>> Fraction(3, 2) - Fraction(1) rithm.Fraction(rithm.Int(1), rithm.Int(2)) >>> Fraction(1, 3) / Fraction(2, 3) rithm.Fraction(rithm.Int(1), rithm.Int(2))
Rust
Arbitrary precision integer
/// With setup
use std::convert::TryFrom;
use traiter::numbers::{
Abs, DivEuclid, FromStrRadix, Pow, RemEuclid, Zeroable
};
use rithm::big_int;
#[cfg(target_arch = "x86")]
type Digit = u16;
#[cfg(not(target_arch = "x86"))]
type Digit = u32;
const BINARY_SHIFT: usize = (Digit::BITS - 1) as usize;
const _: () = assert!(big_int::is_valid_shift::<Digit, BINARY_SHIFT>());
type BigInt = big_int::BigInt<Digit, '_', BINARY_SHIFT>;
/// we can:
/// - construct
assert_eq!(BigInt::zero(), 0);
assert_eq!(BigInt::from(9), 9);
assert_eq!(BigInt::try_from("9").unwrap(), 9);
assert_eq!(BigInt::try_from("0b1_001").unwrap(), 9);
assert_eq!(BigInt::try_from("0o11").unwrap(), 9);
assert_eq!(BigInt::try_from("0x9").unwrap(), 9);
assert_eq!(BigInt::from_str_radix("1_001", 2).unwrap(), 9);
assert_eq!(BigInt::from_str_radix("11", 8).unwrap(), 9);
assert_eq!(BigInt::from_str_radix("9", 16).unwrap(), 9);
assert_eq!(BigInt::try_from(9.99).unwrap(), 9);
/// - compare
assert!(BigInt::from(9) == BigInt::from(9));
assert!(BigInt::from(9) >= BigInt::from(9));
assert!(BigInt::from(9) > BigInt::from(8));
assert!(BigInt::from(9) <= BigInt::from(9));
assert!(BigInt::from(9) < BigInt::from(10));
/// - calculate
assert_eq!(BigInt::from(-9).abs(), 9);
assert_eq!(BigInt::from(4) + BigInt::from(5), 9);
assert_eq!(BigInt::from(9) & BigInt::from(11), 9);
assert_eq!(BigInt::from(1) | BigInt::from(8), 9);
assert_eq!(BigInt::from(2) ^ BigInt::from(11), 9);
assert_eq!(BigInt::from(19) / BigInt::from(2), 9);
assert_eq!(BigInt::from(19).div_euclid(BigInt::from(2)), 9);
assert_eq!(BigInt::from(3) * BigInt::from(3), 9);
assert_eq!(-BigInt::from(-9), 9);
assert_eq!(!BigInt::from(-10), 9);
assert_eq!(BigInt::from(3).pow(BigInt::from(2)), 9);
assert_eq!(BigInt::from(19) % BigInt::from(10), 9);
assert_eq!(BigInt::from(19).rem_euclid(BigInt::from(10)), 9);
assert_eq!(BigInt::from(5) << 1, 10);
assert_eq!(BigInt::from(5) >> 1, 2);
assert_eq!(BigInt::from(25) - BigInt::from(16), 9);
Exact fraction
/// With setup
use std::convert::TryFrom;
use traiter::numbers::{Abs, DivEuclid, Pow, RemEuclid, Unitary, Zeroable};
use rithm::fraction;
type Fraction = fraction::Fraction<i8>;
/// we can:
/// - construct
assert_eq!(Fraction::zero(), 0);
assert_eq!(Fraction::one(), 1);
assert_eq!(Fraction::new(1, 2), Some(Fraction::from(1) / 2));
assert_eq!(Fraction::new(50, 100), Fraction::new(1, 2));
assert_eq!(Fraction::try_from(0.5).unwrap(), Fraction::new(1, 2).unwrap());
/// - compare
assert!(Fraction::new(1, 2).unwrap() == Fraction::new(1, 2).unwrap());
assert!(Fraction::new(1, 2).unwrap() >= Fraction::new(1, 2).unwrap());
assert!(Fraction::new(1, 2).unwrap() > Fraction::new(1, 3).unwrap());
assert!(Fraction::new(1, 2).unwrap() <= Fraction::new(1, 2).unwrap());
assert!(Fraction::new(1, 2).unwrap() < Fraction::new(2, 3).unwrap());
assert!(Fraction::new(1, 2).unwrap() != Fraction::new(1, 3).unwrap());
/// - calculate
assert_eq!(Fraction::new(-1, 2).unwrap().abs(), Fraction::new(1, 2).unwrap());
assert_eq!(Fraction::new(1, 3).unwrap() + Fraction::new(1, 6).unwrap(),
Fraction::new(1, 2).unwrap());
assert_eq!(Fraction::new(1, 3).unwrap() / Fraction::new(2, 3).unwrap(),
Fraction::new(1, 2).unwrap());
assert_eq!(Fraction::new(3, 2).unwrap().div_euclid(Fraction::from(1)), 1);
assert_eq!(Fraction::new(1, 3).unwrap() * Fraction::new(3, 2).unwrap(),
Fraction::new(1, 2).unwrap());
assert_eq!(-Fraction::new(-1, 2).unwrap(), Fraction::new(1, 2).unwrap());
assert_eq!(Fraction::new(1, 2).unwrap().pow(2), Fraction::new(1, 4).unwrap());
assert_eq!(Fraction::new(3, 2).unwrap() % Fraction::from(1),
Fraction::new(1, 2).unwrap());
assert_eq!(Fraction::new(3, 2).unwrap().rem_euclid(Fraction::from(1)),
Fraction::new(1, 2).unwrap());
assert_eq!(Fraction::new(3, 2).unwrap() - Fraction::from(1),
Fraction::new(1, 2).unwrap());
Development
Bumping version
Preparation
Install bump2version.
Pre-release
Choose which version number category to bump following semver specification.
Test bumping version
bump2version --dry-run --verbose $CATEGORY
where $CATEGORY
is the target version number category name, possible
values are patch
/minor
/major
.
Bump version
bump2version --verbose $CATEGORY
This will set version to major.minor.patch-alpha
.
Release
Test bumping version
bump2version --dry-run --verbose release
Bump version
bump2version --verbose release
This will set version to major.minor.patch
.
Running tests
Install dependencies
python -m pip install -r requirements-tests.txt
Plain
pytest
Inside Docker
container:
- with
CPython
docker-compose --file docker-compose.cpython.yml up
- with
PyPy
docker-compose --file docker-compose.pypy.yml up
Bash
script:
-
with
CPython
./run-tests.sh
or
./run-tests.sh cpython
-
with
PyPy
./run-tests.sh pypy
PowerShell
script:
- with
CPython
.\run-tests.ps1
or.\run-tests.ps1 cpython
- with
PyPy
.\run-tests.ps1 pypy
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for rithm-10.2.1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8a9bb4fca95762227183682d530ddc59b074de51db0aa4a668b0e5781b0855d |
|
MD5 | 2c29ab1802a326630e9e59105f7ede63 |
|
BLAKE2b-256 | 0f212cf1e5d3dc0242146ea3109a196be8aede1a8f2b2089f6539ac30f83a2b1 |
Hashes for rithm-10.2.1-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a08b5dd94ac1ca76e27508d6c14eed1ba8dba087260e5ec85a47f09222326bcd |
|
MD5 | f112e74c2804c46b986590e9012d04c9 |
|
BLAKE2b-256 | 352ff1431a40d9b32d96988351d2f0755ade07dbc19de40bb6f9a68bf319a4ab |
Hashes for rithm-10.2.1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0cd0a5f75c350dacc0acdb9fc094f5f3e5df1f946a060706fb2d35cbfa66d12 |
|
MD5 | dce2440e2ed079099a38bf37a6247561 |
|
BLAKE2b-256 | 302c81d140db0f8d74932cbf8308bd6141ae5a9f283f2f1c220b6a0d2002bfce |
Hashes for rithm-10.2.1-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46fc4903d6635aadacf777b4f91b3086a88577c2d3a4f2836fdb57220ccebb91 |
|
MD5 | cf4c1a3cc63f521fc72853055f0394ae |
|
BLAKE2b-256 | b1448f3e436388240b0a44aa1aa0a369a7477f164fa9bec920e642741451038f |
Hashes for rithm-10.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ef1a3a8fcdfdd5c14801675443c7444cf5aa68c9809c8ae24d8ae158ec053e9 |
|
MD5 | 4fc8c49417df51e79674e7237d7224f6 |
|
BLAKE2b-256 | 0be2339f4bacd22cfcc9c0c13e15191adef9417a71872976ef326b5a236001bc |
Hashes for rithm-10.2.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29cd25d7d13e5dade0160c0fadbe313d6a9bb61de127d4e72e8eb69eb286a90b |
|
MD5 | 07b2018bd49116eb58c2374f359f53d4 |
|
BLAKE2b-256 | 0226588659cefe1269a7bdb05ce407e7a531923a6b3a81b3aca29bffaff59d45 |
Hashes for rithm-10.2.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8e3daecd89f69ac3ff9e52b7165c1a748f8e4a2e3c3dad3c5bad7c6df4a3fca |
|
MD5 | 2b5ea6d90372dc47e9d38aa34a8c2298 |
|
BLAKE2b-256 | 97d4343a385a39dfcba28d68fc7d2b1d7e95dccc428c42913e7b4db106d7bdf6 |
Hashes for rithm-10.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f124bb82ebcfac3ba7a736738a8cab02495f6593276370c7eedf9c52d048087 |
|
MD5 | 5910b3b906489571ddaba57688487de9 |
|
BLAKE2b-256 | 0d6ea786cf22c57760e609d8e4428a8807d7c52b2183dc59a6c426806722963f |
Hashes for rithm-10.2.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8665fcd7e73d40b068316a4c0ba44772efafb2e5d91bea5b379b606e5847c6d1 |
|
MD5 | 529a9633922e95c4e0cbb0bf73efa40c |
|
BLAKE2b-256 | 1d56407b2ff87e848418836d788c2cb8e2ab5bd214da1318316b53e9fe970d43 |
Hashes for rithm-10.2.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35486f38ff6a2a032d4926c7abf22db48061467e48b116ce7ef0fcd1b8c4616b |
|
MD5 | ff141062c4a1a261529bce0d4cf8c328 |
|
BLAKE2b-256 | a246a910de4a3a64305e74c390582cfa6566f7b921799ead2e1090f86b3d9016 |
Hashes for rithm-10.2.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36a3cfb631b273b676b85016852cdad9a4425784935f22c9b2cc66f2997a5ca1 |
|
MD5 | 40d20bd928043cc6be2bc22d898acd46 |
|
BLAKE2b-256 | 50bcb5e60a64a44c1f94f2ea315a76c0ffab60a02e0d34c6c9399251336a72a1 |
Hashes for rithm-10.2.1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69577e46581e21ce380137b91a078373836a54f8eca5ca0a7d6e69aff7dca579 |
|
MD5 | 15195d24c74fdebd584770505e92db85 |
|
BLAKE2b-256 | e8ab6db635ee93e9ce65a1db90f53bd434083f0f77528fafe5d72b4c976454f0 |
Hashes for rithm-10.2.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46f3c098c194b6543febea1b79912d077343d927581dc0b97cda962c7f317631 |
|
MD5 | df345a003fa8b7f1837c916036fc618b |
|
BLAKE2b-256 | 50fb5a54b3a629e7e33d94a56d024df9914a4c18086baf25d586affa693004ca |
Hashes for rithm-10.2.1-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d86963c744e36f5d9df3028e7b407aa0d03fdcb4002ae657abe7ea8227d97ab0 |
|
MD5 | 2e2049268a0a0dc1d74c8d2430736d93 |
|
BLAKE2b-256 | 5a7a7424332ee923db5df56aaefccc56674d38f61320703e6145de3f3e1cbb55 |
Hashes for rithm-10.2.1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb3339f9b2cecd56bb928b3ccbfa7b08f4c72b902cb035811978dd246d5e579c |
|
MD5 | 9146087ca22011715eb69b128fa50b1c |
|
BLAKE2b-256 | 382cfd336e3c358b6bbb70687b456553a4bf55d71f6971af9f70940d52e0a72d |
Hashes for rithm-10.2.1-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dce2aca396f76764759f880453bc38c78991ad9880cbf885dcbb60e179b2c3d0 |
|
MD5 | 447655c48efe3693e6aaac18d19bfa30 |
|
BLAKE2b-256 | 3d2d67d6dc897c385b4f74e57ebcc9ed1af6cdc9d79c5bd78eb498e7efc8b060 |
Hashes for rithm-10.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ebc9a56cd73db5d2a4a1611f3cc5f09a9c14ba50ec4d4fff9e6734bc22e17e8 |
|
MD5 | 26796ea2fb9b148f315594c4050a68ec |
|
BLAKE2b-256 | 05ca82b57363d58849c565339ca59b1040582a639823bec3de5e49f696c45ca7 |
Hashes for rithm-10.2.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74351cb26c962421a31fcba478d5dfa6e4712da4da4ccdd240a595771bf06ee0 |
|
MD5 | f9d306c7d9a3f97029736f43bb6d94e5 |
|
BLAKE2b-256 | 11a11ff5c48074e1e2ff5fd33e99bac18df3e835fdf656116dda40eaca980eaa |
Hashes for rithm-10.2.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 297683e14f60cb253613a1ea6557ace87b77042bcfa76b3eaca6e8dde05f9739 |
|
MD5 | efbf495586eddf7a06f383a23181d5c3 |
|
BLAKE2b-256 | 804a3aabdf0c629771e12af28e7c080e6a84f358b791f33740edd48c434202b9 |
Hashes for rithm-10.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 552029e08d93d1a1f6dac2ba3389ff16148c94fefd4198500eb9673fe8c268bf |
|
MD5 | 661923b62e3bebb725e4430365e7d22d |
|
BLAKE2b-256 | d8187d3e6c1dff8743e32ec7ed9272ceae92d7ba7209639ed52a692fe08954c2 |
Hashes for rithm-10.2.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a001642c31adbf83702ebb3c233bd6fde72df8f4081ac157fc2e6ac4697b9b88 |
|
MD5 | a7a6121e827bd86f775c1ab112ae8fcb |
|
BLAKE2b-256 | e6824c79f512a4352dea0191c5a6852ba8b2fb79c37164a9a4f405c3b4339e48 |
Hashes for rithm-10.2.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a22d65caf945c713b2d93f32bc1bd43acd15f4c1cad642b83b0cf5a61b7bfdc |
|
MD5 | 4572147d6878b5f2b73c1b7fa1561790 |
|
BLAKE2b-256 | 71be0d9b46e3d543bdd3ca3b9594072282c19fe8555c78fec3bb64b91ef30b8a |
Hashes for rithm-10.2.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa2f437b6e62b385da9b0e186605ccec9c14a161379501431e258cc7a73279d8 |
|
MD5 | 22f7a134b30a6f9eb9db19457ebf871d |
|
BLAKE2b-256 | 1b274a019e6a725bf03886d598ff6d5d8707a133266ba50b40d1e152ca3df44c |
Hashes for rithm-10.2.1-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 77abdd8116f30a9946a1047cd868f5caabeebce47b72793a11601e6979293af6 |
|
MD5 | 4cc5bdcb5893c9abee13d6cef249544f |
|
BLAKE2b-256 | d782f88f002e677e02731c13698618afabbd5b90baebdcd896e827f0533e8c4f |
Hashes for rithm-10.2.1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6dbfabe6c53bed3ad995b27901468a2f7f9270cbd5ff262994a02f65ca35f26 |
|
MD5 | ea4148a85c96d8ad80983351296a8e2e |
|
BLAKE2b-256 | b9e85ef86c79f8e7cce353c706574ea7bbdf9261ee2a84235b5c51dbccf545d7 |
Hashes for rithm-10.2.1-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8aa070326d358986789fcc2c764ca1c3b230c276f82bc5fff484b6bd89b8a610 |
|
MD5 | 2b6a92eac5aa458b8ff9a45a670fae53 |
|
BLAKE2b-256 | e60e6d5cbc520776e863f71900c652c0738b9e9f27cd2c1b65e5e3b521fd4b6b |
Hashes for rithm-10.2.1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ae9b2b06af3168c5bd5881d06fbb0d055f6e2a6f23175f007855ab41ed2a163 |
|
MD5 | 59b93b114a7555f57294484fc2b3f57b |
|
BLAKE2b-256 | 4bbb4552d52b72e5215cbb7cdcb649cc228ca867c56e674c2ec4d024563f1cd1 |
Hashes for rithm-10.2.1-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8ca025eaccb42169f7fb5449e57d667c7423d681c91f595ef3752baa12d5c3e |
|
MD5 | 212ab9b948ef70e21e38083688655ce3 |
|
BLAKE2b-256 | 5913a56f9c439818afbbbe034ff708c8f650e14d5bde4f55f098dc33be7c276d |
Hashes for rithm-10.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3485a005cfab7ee432592cc8269c9514ca8a6076dae2daf044d07df188fcf5b |
|
MD5 | d7fe25faa2cb79e5adf31567e22e6742 |
|
BLAKE2b-256 | 28031bc7deb97b0699d2fe75e854df6a53cbf9cd375126b306d79acfdd0d616c |
Hashes for rithm-10.2.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 253b26d0c7ca3da51a1537b475b322b8c9ba514e99933ac3806fed51d8fc6b82 |
|
MD5 | 75337749d4dc57241d5392a728edf86a |
|
BLAKE2b-256 | d951afa687d4f66ea00f8c4825c9c9e627c2a0b76b1454ce84ce8ae177a84c58 |
Hashes for rithm-10.2.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | abd35011b87903416d59356fe51ee2181fff894a8fb2cd3d3011c9b229f4284c |
|
MD5 | 0d3c6649907b67a383505fcd5a14bc14 |
|
BLAKE2b-256 | a66c454ced56a65ebdbe8bcb4bdf3b2f619fbff25f1cbb8576fae4123309014c |
Hashes for rithm-10.2.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfdcc507316b080f77879410960a4ff87019ed96c9b60906e561f407cf16d0b4 |
|
MD5 | d1844183c4f978b39837012cf1ed89a8 |
|
BLAKE2b-256 | 1ef035a11ddc29ed5145142c2428ef36d0f71e1ead22b23d231955e19b089000 |
Hashes for rithm-10.2.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 786595149f7837d4165955dde27d622ab91bb0abc7573a1bbf3db2f398fdf8b8 |
|
MD5 | 7635ad87a18e5bf9b5261188bc8dc4f1 |
|
BLAKE2b-256 | 7fd55f2f5d45c5677296a85c04c6b4df210936669114ca1be337155de6463e2c |
Hashes for rithm-10.2.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3992b3b02293a18ff0e8a2b3e8ad64278624f0ae142095ed36539778483744f3 |
|
MD5 | 2ab0b0e15fde33bd2d51d375ab7c9861 |
|
BLAKE2b-256 | d5ab066c7bb7d3029e52ddafdef8cc4fed085751c12040032e47e83b121122fd |
Hashes for rithm-10.2.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a06a9d35bf940d6fd227654c27575979d7294101f908a335179b0e5bcb971326 |
|
MD5 | fed080ec9290d638dcc32a9721d85cf7 |
|
BLAKE2b-256 | b87cf40bda9eaacd59829d773af8f678549648f83cb3cccdfc89b717f4167923 |
Hashes for rithm-10.2.1-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 073221a27c01b78741d6084ef6fd069828a42c6e0d295455990dd0f15b96e142 |
|
MD5 | 8d9b8b4d6c93c280cba4bd7524332c4f |
|
BLAKE2b-256 | e156bd6817ccfa1ede9d6e025233175b2f6916f08255a59d399d0a89c5d97788 |
Hashes for rithm-10.2.1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18339f92b90fa00b362857afb9020f77b05dc0a21b804d9b902c8cfebb1d5776 |
|
MD5 | c2178a6a1d8d54ed28fbe1bfbbcb6df1 |
|
BLAKE2b-256 | b453df18e58c93186130eb5ebfdb0a993ef1ca4c1a9ba15c04824ba5c9b02518 |
Hashes for rithm-10.2.1-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a641074c7ba2c6b56d3d9f6ccc478a1c67e147d7cf8c5cd2fd18cb5bcaae582 |
|
MD5 | db2f9b9e62614b92f87faf367c461adc |
|
BLAKE2b-256 | d9549b40d852ccfa4faab3ca62bb27af27ddaa46ffba502f32d9aa4e55c81ec6 |
Hashes for rithm-10.2.1-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8330f54dc94d385f45c06f2b8232f71b80f922ca18dbc7820ae58f8892bf93f5 |
|
MD5 | ec499cc86f9ceb2f7bcd817c71b87ecf |
|
BLAKE2b-256 | a2128ad44254eb2b73a5350cac80492406a40baa9b9056c5319cbcee669dbdb3 |
Hashes for rithm-10.2.1-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9796aa97951650ea459e4d466337f34505f70fb53fbe7d638d78719602efb9b |
|
MD5 | 5299bb0481d85dcc554ee7d5bb6a0cab |
|
BLAKE2b-256 | 45a755383ad212e4044f60c5e05e6a4202ea48bb513629d650d6ca3a3db850fa |
Hashes for rithm-10.2.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86c7cafedbd5f88a3ba4273ea92c74ccbd56b0cfddb84e01fe05fe364f025ba6 |
|
MD5 | a311c2b4aa9dae0d92b99e0dca1c3a11 |
|
BLAKE2b-256 | 5b497c053bbf8d48c1eaf4745676880b4c5db21e5a004624e148122e11015d3b |
Hashes for rithm-10.2.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1afaf85469a739aff802bad7d4a1b4fd7764c430487892e657300fe5d586f134 |
|
MD5 | 3ea2019ddd23d3075d311a8bda31aaf9 |
|
BLAKE2b-256 | 661aad1457e03569a260e0014df249ca48259f4c3eaa2a43d286f63ea381abf1 |
Hashes for rithm-10.2.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eacd415a9381f85beff8730b336ec7155c3f813caf6f85fbc9674a2a3cb264f4 |
|
MD5 | 6f5c395640d63c751ba77e8686ad4ac6 |
|
BLAKE2b-256 | dfe1eec69e162b1e32bd9ff7a1c4d474eeb62909ad3911c4e7ad079e33bbfbc7 |
Hashes for rithm-10.2.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f1f7ac869f3baae89e43e8f868096bb45c40f0f465984798eef4d35f3951a0a8 |
|
MD5 | c1bf2a9e18477004ea9039140dc4e1e5 |
|
BLAKE2b-256 | eab4bf42805e50aace7ee475af61b384296319fbf715b5457c11701198af03a2 |
Hashes for rithm-10.2.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66dda9a3afe2b9099b6395add13ff38f4830bda5ecac2e7486c6d53e5bff0614 |
|
MD5 | 0662367d9cbf688c1e885508ba2c960e |
|
BLAKE2b-256 | f995f9132ebb296b27f4151e5e1cd37be178c434ca18cdb697e4680a04c882bd |
Hashes for rithm-10.2.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fffe827e56b2397eb3bd56265d39d59a647a7fd6254733b3c0fe312afcc3b321 |
|
MD5 | c8f9ff1e53fbb72eb9c79df50820e027 |
|
BLAKE2b-256 | 0accfaaf6d558e367dd02812d199046aa6874ae29ff1684d07ca1f9d39897a92 |