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(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 rithm::big_int;
use rithm::traits::{
Abs, CheckedDivAsF32, CheckedDivAsF64, DivEuclid, FromStrRadix, Pow,
RemEuclid, Zeroable,
};
#[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);
#[cfg(target_arch = "x86")] // not supported by `u32` digits because conversion to `f32` is lossy
assert_eq!(BigInt::from(18).checked_div_as_f32(BigInt::from(2)), Ok(9.0));
assert_eq!(BigInt::from(18).checked_div_as_f64(BigInt::from(2)), Ok(9.0));
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(-10), 9);
assert_eq!(-BigInt::from(-9), 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(25) - BigInt::from(16), 9);
Exact fraction
/// With setup
use std::convert::TryFrom;
use rithm::fraction;
use rithm::traits::{Abs, DivEuclid, Pow, RemEuclid, Unitary, Zeroable};
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-9.0.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7196af777393793e9f37fa1d01505a024094be0f9753c4e476fe916e87bbabb |
|
MD5 | 8abd3ef90c0f4a0818dbe16e622c9f42 |
|
BLAKE2b-256 | 536911c7dcdea6d5d8eb58d8e0c1e6cceed274363b6adf70fea091510d25cf72 |
Hashes for rithm-9.0.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b52d208d39562026ab80d422e6269851daf0d08752120a1fe344346a4ec53726 |
|
MD5 | fc8e33778e409ba9ad351556e7b74ab8 |
|
BLAKE2b-256 | 3937e2831ce846eae9ff0392ec77a035cbfb59f2eb33222f6f4d62ab27b238b4 |
Hashes for rithm-9.0.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7024cf457d51e189277bc7c84260f0c0076b8c904fe212796f180c841c8012e9 |
|
MD5 | 863b3f2c6511e3737baf3dd4070eada0 |
|
BLAKE2b-256 | 4c0788a5146876b14cf4a9f17206a71ed4ffeccd0b1167b8579fdadec99dc0ee |
Hashes for rithm-9.0.0-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2eefc0d4dd7417875daaf3aaf1ac55b7175e9c4c4b91d204acc2787400da9da0 |
|
MD5 | 84d8a66befb0d62286f11d82d2b0379c |
|
BLAKE2b-256 | 26e365f3aaf1c70d270e03011ce377c5c8b413e66f37946b945aac88cb3fa2de |
Hashes for rithm-9.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0cab140f59924c468c8fd14f5d7c83887ec95f69745b2b2909929e6ea6bea8a7 |
|
MD5 | 52bd5e9149d9233d9074ce2e06eeb94b |
|
BLAKE2b-256 | 1a9f4c0ec80bb630958c94671543ede5d8b4f55cacf3d380fc0e26202af3541e |
Hashes for rithm-9.0.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d25aa5b8b3f2bb5c13e02cf1eb557d1be168f1f607c4915ee9bde01be6a6e76 |
|
MD5 | 9a2c323fbca34bf9f967b60cf32d1bbb |
|
BLAKE2b-256 | 33b4c4ee253c0553ae017632ec0f6f4dcc9484109fbbcf371ee8a4d845b6e6b5 |
Hashes for rithm-9.0.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d809ad0227f675ad4f99c2df2d6417c824cd44d9ceeb2d52b033c94d4dd8245 |
|
MD5 | 02465798cf68dfbed3afb6e6943a9c1a |
|
BLAKE2b-256 | b15c65341a37c941e5931bbaa50b193b1fb0fdb7cd9c578b3cc4307939df82e4 |
Hashes for rithm-9.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e181b53a57b799f919654b18becff3acc176c0a7bacae485a63bd864ffb5d901 |
|
MD5 | 80dc4b17ee84bd2e6580232e409bacea |
|
BLAKE2b-256 | 8c8e1cee1eea984ce2cd2698ac857a9659e4cb1b8f0469b6399d8e381284e0f3 |
Hashes for rithm-9.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 196688320175c565990687d3e93652f9796c5b45ae4e83ff2d8268e98910436d |
|
MD5 | 93ff684fa51e0b24a21f9cb36f9993a8 |
|
BLAKE2b-256 | 0475a5c4e25645316cae40e8c4e0cd674c1163f6f3f2c55d603f6950e3a36884 |
Hashes for rithm-9.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3da20fe396b7b6d4a2ba0c043eef5c2814c861c79a20953984ff2fc07907b6a |
|
MD5 | fe4bd22b5e6e8574c3d3f0c4a1bebf96 |
|
BLAKE2b-256 | 4139e3d4c01c7d24aecf00529c3475cb0983818b6a3739acc6ba922bfb2f383b |
Hashes for rithm-9.0.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7663a28aead42d528256b417da59a6b7a2793b987dad2da378b7d52200c8e45 |
|
MD5 | f6492e6f7babf8d9f6f705f9ff440bfb |
|
BLAKE2b-256 | af3c3c4ff997a1c597350d7c92e67f926fb490af5c4a2403277c6d0d5be1bfb9 |
Hashes for rithm-9.0.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b60b165b4a00b82d9d8c55813b693db7a6073c01ffef161bfa7a4988462011a |
|
MD5 | d33c357bf7e2781e9c263976e35b27cf |
|
BLAKE2b-256 | fbab629996242eabd6117fa9c4edf53085b103665d7d74037deaa3145cf78bde |
Hashes for rithm-9.0.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 506ebc621a78c0815d18504292994749be9761e503df14ffdd018b9d6dafd981 |
|
MD5 | 35c60cc9a118043d3867c740b0f7de2c |
|
BLAKE2b-256 | b7b60733929094949fb8a0eac69f19e7a01706b61b4265f3ca6f469e6f49956f |
Hashes for rithm-9.0.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d1d51382f7d82c33ba7e850e47ddd336af56054f1e3979cbebc2ea25a1b15b5 |
|
MD5 | 0b146b7e2150fc72ac6943a777165cfc |
|
BLAKE2b-256 | 911d33dfad5f4a4a7a9b042d1f75d72ec36c92fa05800bbf54f15f98a6aa6ec4 |
Hashes for rithm-9.0.0-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2b78b01efc9f1e3046c383751a8b3204df2f4ba1e7e887f05d977950a3d733f |
|
MD5 | 17f3fb3af743e3a48195e3bb5fd5bcc0 |
|
BLAKE2b-256 | 05c7c3c9cade8b3707e86bcd9446ea1c21947a968787a9f9369d99a8c7896a87 |
Hashes for rithm-9.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72c900b934a82f277346b80cdb657a8564a751b97a3ab5fcae7989a6492c94a0 |
|
MD5 | 348f7f416b3f6cdc9877278e7a4c1ff7 |
|
BLAKE2b-256 | ccd11c7c17e15ad632c825d1226041762bc7c5781c6b6a4a56f8323ab3a5172f |
Hashes for rithm-9.0.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 206e5d1849ad1dbbdef76dec184bc91bdb81e5e2850a3d0043aab607a0d7b161 |
|
MD5 | f524c8197a3ddc9761bb3cd52a6ce21a |
|
BLAKE2b-256 | 581d8808d7ab6cd8cce0e1b31cfd9223496bf8650647b6fa6d6cedca64bfaa97 |
Hashes for rithm-9.0.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06d5d0f3ca7fd9df0b78180cc76faa6f5de08c61890f90dcaa513f1af2b0cf40 |
|
MD5 | 0debbbc53addf7f45f82d7657136855b |
|
BLAKE2b-256 | 3721803e87cafa917fad359c5b49b85d9c937698fae9f99af1d02b8261000a78 |
Hashes for rithm-9.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2af517eed91e853878926dcd5899facb2b7b271ed801748b548b65ded460b3cb |
|
MD5 | 9eb800630383b3d982c4660fec59446e |
|
BLAKE2b-256 | b7e122208dc42bd506f567aa7de1b40d4d4d3925fa92b579a41a5f3dbda9899c |
Hashes for rithm-9.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f078bbfff1db49895c045c8f42b290bbfe8e3e714459e5a4cf11b5de13fa626b |
|
MD5 | 498a5bb113fcd3ac89596dd40e75a7a3 |
|
BLAKE2b-256 | b78cf1e67d4f4a3ff49db6eb1ebf8770f1d4754d3fed54d21fa377408fd99231 |
Hashes for rithm-9.0.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b5b30289e8c8fd40e397a93345d7abe9419694b66e01ee96f85bf8688026b55 |
|
MD5 | 4308f6f50484bd9af39cab5b775446e9 |
|
BLAKE2b-256 | 093bcd0c35ec0d018f8fb8a525edc4f0b071a1fe6fc7b9783a9ea60b11cb874e |
Hashes for rithm-9.0.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6938c1037f2a8a9876f700a4d95d65aa3cf57d10f87721f123c396c0f1ad94fd |
|
MD5 | 23d9d90625db2042f5487f0d161ed804 |
|
BLAKE2b-256 | 1a0ce9402f39dfe84db49a1202e0d2879f76da319a50ac09ba0f93a54844e975 |
Hashes for rithm-9.0.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c60b97d1579fe28bcae1ec7a1269f27223f33655065809690274fb1ccab80f01 |
|
MD5 | 292dd3e20d51a795fbfd044dae6273d0 |
|
BLAKE2b-256 | ccd100715deb60a1a9cde251597a67bb0fdfb9eb26c8136099374b0ea9635e80 |
Hashes for rithm-9.0.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 994a8f1162fd116b15c8b0b6cffdc4594eb9b8fd082dd84667ccef8e6427198d |
|
MD5 | aa1fce35c7f1f9fdbfe71c0d33988f03 |
|
BLAKE2b-256 | 45d89f480c5347b1bdc4bf581707240e1354c84287ee60cede88133487a0de12 |
Hashes for rithm-9.0.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a0b99c0bf9c487c272c96d0e50cac40c3688977ce79fd928d189c41b88da444 |
|
MD5 | bd83dae07107350239390c5160977087 |
|
BLAKE2b-256 | ed496ee01419ff71b465767899a1dd08a5c949bd85c3c07652fccc0d0f898da0 |
Hashes for rithm-9.0.0-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 968fe8818e7edc5c5ae787dfad91d419ee8356ffdb452ae906fee3101e6d2a30 |
|
MD5 | 9450df0f3f445046d8dd0b85ea966fd0 |
|
BLAKE2b-256 | 64efa8cd187d37bcd86bdfbdea54aca767fc018490ae5e10b1974c2b1cebe2d9 |
Hashes for rithm-9.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ce574cfd90e2a76110528f357496e35cd9669080b4d109bfc3593297126a3b0 |
|
MD5 | 90ee88f87fa8ec01e39908c01194c735 |
|
BLAKE2b-256 | b271b61fb730dc30c0591c864c84d093f71d104bd0a9fd94843c296be0d31a20 |
Hashes for rithm-9.0.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15245892505380d9b0ba24d265f3a6ce3c5f4410d35c11afaf2ad86720d039fe |
|
MD5 | 7d55abbe41820c97118a692115f71813 |
|
BLAKE2b-256 | a5c14424425c86bc1ea5360e9b5fdff74a1477ec44d38eab24206c7e81ea3420 |
Hashes for rithm-9.0.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d2bafd76df6f832a6756b5c9f64c9175564b670c45dae78569075ce0557c95b |
|
MD5 | 88e4b3aad45ef057a15f37c380c2d57b |
|
BLAKE2b-256 | dba8648ffff868674ca06f397d55fa53db83272cca6dda2bcc20c3fa8807d7e9 |
Hashes for rithm-9.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ad33aacccde0b876478310b6cf485cdf6ad4fc33f214b8b13358928c476f650 |
|
MD5 | ed83d6da735f09bba85b4737d4338414 |
|
BLAKE2b-256 | 1237b1c3d6e5d1ceb52c219572cf17606d42353b9884ccfcaf73392893027729 |
Hashes for rithm-9.0.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee679234976b8606b2a7c55e993aff0096c81d135366a6a108cf649999a6f0f7 |
|
MD5 | 6991fd9c6008fc4d41bb1e6de3a1598f |
|
BLAKE2b-256 | 8772de268ab0e95aef80b217087ce16e5040e28b22dbde9402039ef3de8a30df |
Hashes for rithm-9.0.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f64d2d914c5352cae0e7ff0488b187b283dc82776567a7ba2179ed52e1bac102 |
|
MD5 | 2f7a77bea36d3cc83f1da7612ad31b63 |
|
BLAKE2b-256 | 1f387aa2e426afd481468aa6f078f6539fa33f3f4c656f963e8192ef06069c56 |
Hashes for rithm-9.0.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93a22934f4f86b610129e95c0ef1d2b20fa2ba40baa2674110857c30fa476887 |
|
MD5 | 0cde7d6a1b741c5712f905cf257eaf67 |
|
BLAKE2b-256 | f4d2a362cd4424aaec231342de5adbd7f34b6884c33e0e0ae7f048c715f77edb |
Hashes for rithm-9.0.0-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e0ff8fae03affd34f2cf90520c40471987e6cd1f33b023d77b1634adde58f5d |
|
MD5 | 718adaf1abe2b6af53c94a2fa5f5c337 |
|
BLAKE2b-256 | d9b2696b9ded103fc24852610825a04e739c4ea5d51f793296ead2c274fc4766 |
Hashes for rithm-9.0.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f80b3a5d9eb98dbb476efb4415e11f642673b1559f33ae036be90bfdc4fad5a3 |
|
MD5 | bb0a7c38882febabdf7e3546a75f57bb |
|
BLAKE2b-256 | 4b3bf4fe24351699018dfca2b724e90c98bf6ed3d1fe9bbfff1266a8f1ca466b |
Hashes for rithm-9.0.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62f41edaead6e4a90d6415143dee3b7ea1a66f3dcd24b1becb0d985b8917ce24 |
|
MD5 | 2a879b66f6ccf2ec1db0c704bf87850d |
|
BLAKE2b-256 | 15464594e9e7f565e627b8bc7a1afc16cac9791ab45634c3c6dbd753ebc4aca4 |
Hashes for rithm-9.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0294a54fe55e8b0678939523b966cb32cd43b12d114e924e22aebac31241103 |
|
MD5 | d45a521b6027960c0b50ae3e57823409 |
|
BLAKE2b-256 | 748d7f2b0bc345b1a3dc87c2fd974b4ec8e19d1ca7ca96d9e44a7769a89895c4 |
Hashes for rithm-9.0.0-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33b8f0a6762b91047204633ea1f5b8555a9233d137f9106f6cd66c01098049d4 |
|
MD5 | c6cf6868fd2d6119cf44af7d81201b93 |
|
BLAKE2b-256 | f640731404d400dd0890115ca7287b50c919248aa7ac0d1246358ae78654bbcb |
Hashes for rithm-9.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 577526c55063f222bc7361c22039267d4c91d9d216fbbe9a3ed0259c6f84606d |
|
MD5 | 4f4118d06971e71e642862537c301bf4 |
|
BLAKE2b-256 | 26d85e7965b87eeb8c831a1fd0588626d38d83d707d5615fe351f8de0954854b |
Hashes for rithm-9.0.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8471896cb1333bf27023b502bffbe9c992ed60cc1d167a2f799bd56eb99acdc9 |
|
MD5 | 4d60d86d6bc2f145eb07551e1f47a9c4 |
|
BLAKE2b-256 | cb62a224141661adcfd66f733e4a83fa32eee67d8c3757f5e5462afdd27159e1 |
Hashes for rithm-9.0.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 45e54f66426d2f7423dd147588ab7379de1d3a6e745a5408890305d0da9f492c |
|
MD5 | fda8aa34a0fcbb1f8f66c66b07bc0cb9 |
|
BLAKE2b-256 | 00a497b95c9acfc22cc7d3db487cc705c350bd1de6859715de2e7c906e2f6760 |
Hashes for rithm-9.0.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e6b7d1591b2010f5535b10f813dced97d70139467623000a6a8639ea023593a |
|
MD5 | 6094174d9e597358e7b51388ce84624c |
|
BLAKE2b-256 | ad5a6c92bf9e7e0fd4f3066239bf2608a37008ce28e919a0d96c15a676c9b496 |
Hashes for rithm-9.0.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df796452f09f7ec059ebae183e614133b0d9771ef3fde6f5120c9d34a8cd4134 |
|
MD5 | a5927a0d7a5a228a81a318e01d31b243 |
|
BLAKE2b-256 | 22742d7510fe64aa338752868adef56c1f319771a2b55172c177092989df900b |
Hashes for rithm-9.0.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e5fffe2c7b1cf4b6f478461946ed5ba0b5662642a3138b507384c21dcf823fe |
|
MD5 | ea57aa56fe5c00550fb27346d514cc1c |
|
BLAKE2b-256 | 36a63d3572b71602b9e3225fd7795e19aab187cfa8f39f2fd824da2162bdd810 |