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.1.1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcd0d25327a8ff0c1ccbdb6095dc861ee3ed38138171ac6321e123d805764d5d |
|
MD5 | f22050501737aa4e613adb85549c9cef |
|
BLAKE2b-256 | 8017726ca625d090dd5f0aa91e6a4402a2ad6a87e0bafb746dd664a64af3fd4d |
Hashes for rithm-10.1.1-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5a7db772fbcf4d89ed2ee0ed923d663fb507f4a5d930cd97b2401c5511efe37 |
|
MD5 | 7165adc9a0b643286fccfbfd398e6e57 |
|
BLAKE2b-256 | 02d2ce32250b012de8279df7412cf353def35ff811a0803598351f93f27cad34 |
Hashes for rithm-10.1.1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d7d59309e7099430ba903dc227223fcbeae77c901f8e722c813c7d852b460b2 |
|
MD5 | 51e96ba269468c0342345307290dc01c |
|
BLAKE2b-256 | ac0117c7a019638e52078e2f303380f213848bf3d129d44ed424c1f2d43ce202 |
Hashes for rithm-10.1.1-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 732c0a7349c2d65fd8f06f30abc882f4f72cd2914e193a82cee1d231e5cf1ce6 |
|
MD5 | e4ed949e15d5276b01244ac96c24401f |
|
BLAKE2b-256 | a3f1b932562b4cc2282026ea35ec6ba739bbaf5d2ec6a0377f63c2a15edc9344 |
Hashes for rithm-10.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78f01118f9e14564b210d5efd329343d563c2d7b5873ce3a3a57746468e2501c |
|
MD5 | 5e74106132348971da21477bef5746ae |
|
BLAKE2b-256 | 1978ee1d962a0dd933ec54034401e3727ccb20c5b26fa6172c242a00c07af7d2 |
Hashes for rithm-10.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 965f1551755330b7bb253450c89822ebef2954fa3122939ed8ebf205d89a02c3 |
|
MD5 | 446256c209a2a2a6ff3bf83c53a9fc6f |
|
BLAKE2b-256 | 6965580429be72539232446537ee2fee9016bf0dc84ce11603972ff0c6bbc034 |
Hashes for rithm-10.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73c1d99832ed6e4a719bebf4763fbf19dc5c6c5e4b327aeaec9111e6434f69e5 |
|
MD5 | 669de541f81da1043494d230e66015cd |
|
BLAKE2b-256 | e4549f2078187610f0a4820c625f09b15b54eae7e2b103e4cfce3097b63b3ef0 |
Hashes for rithm-10.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46d8ba977442d5e163be9d0e9ba2cfbe03d9d6c5a1a214f1411b643c49068abf |
|
MD5 | 48065d668c90546c6bc030437989653b |
|
BLAKE2b-256 | a62af9bb9db2d039335bc59ed0899c482aa2648ded9e61b15edaa3ea52ff98c0 |
Hashes for rithm-10.1.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb3d063db18253d2343955e6c2bf088c76746445b4b4c188994b88d4a0fedc8d |
|
MD5 | 9f7e3bf1f3c152ce28f268a2adff8784 |
|
BLAKE2b-256 | d8af5189c29be4f11b44c11c9bf1511d250ee3d3ea0e0a89c4afb0426eb9dafe |
Hashes for rithm-10.1.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 424aa1535ef7d45bf3c6cdb7bdebd55237b24c05f7230195b5cb430c109f87d0 |
|
MD5 | ca6ce5f18bc18455038fd19fee3945b8 |
|
BLAKE2b-256 | 6d57d3c48de7949044140c7d05a6d51710f44c1ff0775f8335f6242a11fac13c |
Hashes for rithm-10.1.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8fbc2c3dded7de49928bbdf20b052ebc669dbb1d5b422723e9819639843bdb7 |
|
MD5 | 89ded56a46dee913b8a16c47f7ffeeba |
|
BLAKE2b-256 | 9717aca00abf0f44933a46505dabbabd7512186c62a92a7c2745d0ff3067f951 |
Hashes for rithm-10.1.1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | edc37f6352f0624454696b2fd65ef314b4fc66db1cba5c033c186c1af3221d34 |
|
MD5 | 75852053dc5b5813718c5f09b5bf81f2 |
|
BLAKE2b-256 | 4e941e47afde2b92dd3ba2bf0728da239bdd6434a09e86f02fd435b2129c6811 |
Hashes for rithm-10.1.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c4a8995c7aec1242cf3441a94d0a553dac7291c6f342f01f40ca8453c6e783e |
|
MD5 | 04feaa30995c56eab51146f395ff3cdf |
|
BLAKE2b-256 | 1ca8a0df972a143a2124cb303b31fee030bb6ce7caeba2e58650dada7dca9c2a |
Hashes for rithm-10.1.1-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9980be7d1a15d966c4d7fe868d342d0e43945e443619e0d54343060d50e93079 |
|
MD5 | b70b4bd00adb7713d0398cec6202d318 |
|
BLAKE2b-256 | 4173b92ff1f7eff17097437165082de74b9c5ee7a63468c38608456b124ba320 |
Hashes for rithm-10.1.1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bd155640583665ee1bd5d261e5189fbb897862c614529b2793f9963af7c4119 |
|
MD5 | 9f945c2d36faddbe1b3caac606ab11b3 |
|
BLAKE2b-256 | 4f1350fe3f656e88c62c52441ca0bc6b5a16dc080b47c8e59532ce0e83215747 |
Hashes for rithm-10.1.1-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48d538e825f3d859872ffc2c87aaabf65e3f048041e4f2656feff4db056337f0 |
|
MD5 | bb3f466fa44189275920d6e4d6f5d6d6 |
|
BLAKE2b-256 | a76cdd193cffce24824c43e9bc9f3c5e31ef955374c03d42dc1b51c9a261d731 |
Hashes for rithm-10.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2f3f157d7eea8ca71d8f14aee39f43ab3fb45a5a57719e303da0a787dba93d9 |
|
MD5 | 39ceeb149aee0a446e69acfa9bcb7ca0 |
|
BLAKE2b-256 | 084eb0e4137b91ef7a8ff95c6f7c081307e0cc52d0cd57ed6ffe133d6ded67f4 |
Hashes for rithm-10.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b0b26af55a463613b174455116c1cc668951674093e1ca2154f292cd26ef7e7 |
|
MD5 | ddb7d0a38dc65625baffe0867600f5e2 |
|
BLAKE2b-256 | 33bd9498dab0189d4993a41944462841e1f3971b65bc3621192787cb4075a0a9 |
Hashes for rithm-10.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 934216551108a97d4d889668a0161f35ad1ee56a0ac8c7f1d8ef1f070b6f6fa8 |
|
MD5 | c052090c7e3b2f231906d67b6b35d193 |
|
BLAKE2b-256 | 31242df55b9a91187525bff386055ca12acd8a574bf5af716fd6363a9fc5c61e |
Hashes for rithm-10.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c42de743bfddd1e8783d9e3dfe695b91be33d2889961c92b31d5075a1971e32 |
|
MD5 | 54007eb00898e6bc0bf4463f956dc587 |
|
BLAKE2b-256 | 4650ff7a1880bbd7ebef6ee4b31f77dcce9a9c594d08107b0040fb3f154153f2 |
Hashes for rithm-10.1.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a29bffcc2a850c76cd44a781c18802c3fd6449fcafd96506bdec59cb2d6ce2fd |
|
MD5 | 6078fb1de3c3e6a2c5fd5b7926fda3c0 |
|
BLAKE2b-256 | db18deef66cc851be295cd349555133ea9533a66690d814e478fb025ebe2e034 |
Hashes for rithm-10.1.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 635c9fb7ffb10ba4bcc8f230af3129e3be469dc14aa2f028c696fbeb795f0ff6 |
|
MD5 | 22c341e5b12d3bd1d24521d7d668b04c |
|
BLAKE2b-256 | 9130650130f71d1f117acfe4f6de458cdc06c9d5c8319e3a4b3facf4f9b00920 |
Hashes for rithm-10.1.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe79539379c1feecff5a59326b6933539c4000b6b8dc71999af941d1dfac2b7a |
|
MD5 | b6adf35b67898e70ce5611bc1ada9c6c |
|
BLAKE2b-256 | a95c5905ce9074d22519014139c6e451dc8184eb5a10acb09bc23f7bd1548428 |
Hashes for rithm-10.1.1-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb83d83a8e3ee3733fa5a54085ba624186ae081091ae4e4710c13295aa366b03 |
|
MD5 | 9ef77c5090e40ffc0b20cb53da55b319 |
|
BLAKE2b-256 | 098baca702a7ab50a4fcee3fca34ba033bdedae9f93b6785ee93ba5efb199c91 |
Hashes for rithm-10.1.1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4d56da46a0ff6d0a726c129007f860d000039bb04f2992dbbcd1b463fbdd8b4 |
|
MD5 | b76220bd500b64fad81d075669df3a90 |
|
BLAKE2b-256 | c5cdd20aa587852265e5aebee4eb5001427e6bf8754fab800f43fb86f84c6982 |
Hashes for rithm-10.1.1-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af6a2e4da91b88d851f3e89d9697a82bbb73bb2d4c178e06c4c780c84251c44b |
|
MD5 | cb5a42fabf99b71a10ba059f07e359e3 |
|
BLAKE2b-256 | 45349b0040c692c1bc97b3b10bd17e497fc37c4eda5fb471d3231fbf888059c9 |
Hashes for rithm-10.1.1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0dae6874c280a612abdd0871336924eee4a7620b3b04009b12d50ee5fcbfca56 |
|
MD5 | 5c1dd96809996a385b6be21f4e731b93 |
|
BLAKE2b-256 | c2ea347dc470cc1cc098e8b77fa90fbeecec451310bf51c2bd06a0d004bc90b3 |
Hashes for rithm-10.1.1-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba8e97b8e44b77ce37db0d98a24e7c8e49722e0a130fdd279b1291851fc52577 |
|
MD5 | 1dff480d7a71f4669ea490c5eb59edaf |
|
BLAKE2b-256 | b92dac4bb7788204057557269eb25c6faea32bb59b90e741186fcb2ba18f8239 |
Hashes for rithm-10.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7fb7980a87ff807d59e567d5b6afdc1ddd13870bae0073fd9d743380873ce8c |
|
MD5 | 6ee53cba3bd82fcc67b43cb067e367e8 |
|
BLAKE2b-256 | cf26c6e891089ea90505e518f68fbf9c27d65ed0ff2e92c1034c9f2111402259 |
Hashes for rithm-10.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dba41625d9454d81ec78f2d705a453397ea58f0b7e6ad5e4d07a579e08aa524d |
|
MD5 | cdde741e2f1d3dc2eb93726ac4208106 |
|
BLAKE2b-256 | 7f97e61fdcea9e3fc03d704b48e29013c0d29e698003702c3219370efa0d716c |
Hashes for rithm-10.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3621d6342e1b7b4d6ba7f5c511d9c24dae85562d5007d2bc7efb75be507424d1 |
|
MD5 | 305ef8682ea6c57d7511e2b168023bbb |
|
BLAKE2b-256 | 7d45a13db11ddf628d274bd45602bb56173e29499ed6c2d4ab27c0f21f483d3d |
Hashes for rithm-10.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f86bc56cce10589c5f22bb9db0f3d553ebd61e7da9e2def1b06f8854d349f96 |
|
MD5 | 55cf2e968ee59dcd61d56cf898d3fe20 |
|
BLAKE2b-256 | f604054db5ebe4f045fca5d76754750bc677c249048bd9ba85cca289b5fb2789 |
Hashes for rithm-10.1.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74ddd8312a7a023e2256fc9deb1cc49a2b64452f1cd6e15a1d7a97428227821c |
|
MD5 | 1f4eff6ed7af36cc40510429e3f9c9df |
|
BLAKE2b-256 | 7fe0d0db0ec20d138b084cc29093792b13d4fffbaecf427abfb930313bbeac0f |
Hashes for rithm-10.1.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6df4a79d0762390431f05bc5f5edd60d5d28b5bc1178506693d02eec72c18c37 |
|
MD5 | b2d78abd4cafb8a52af6f2c5ecccd22c |
|
BLAKE2b-256 | 23461758b0849525e0f2e2a8d00da0aa0010625e2798cf7ad4469051741f09c0 |
Hashes for rithm-10.1.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07d482089b97d64d2fd1e60cf0c41b6a509301606597f8fc6fa9d314de5a39b8 |
|
MD5 | 3320b0817953eb483a0c78e43e9969c8 |
|
BLAKE2b-256 | 504064778cd9d0f172e79e2456d835b937a5f01d36c98215720500e05003d716 |
Hashes for rithm-10.1.1-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcdb6908f84ad3280c3f21039ed5626f1c78f74ba7d8b4c919ec2b2981936a5b |
|
MD5 | 95f5b0e33189317335ac2b0b17a55fe2 |
|
BLAKE2b-256 | d40b1574d1616790e28334dc2530292ca335dc2ac6976a3743c6017fbdddedb9 |
Hashes for rithm-10.1.1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 412adcc3ff9252649143c0702c2d80c17ebe13e860142b2ea2bfb4dae86746ee |
|
MD5 | 6656a7ca8131f8dedccd074df48eb33b |
|
BLAKE2b-256 | 123779eed802664884ee0406b17d939b7bb5b597462446d62788e57f9d4a8fe9 |
Hashes for rithm-10.1.1-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | accdc5b7f796b7c51d36acbddae814510604da23263b6151266f7e59d5b5e8cb |
|
MD5 | 349332b4b9f13c20b346b9f069786ced |
|
BLAKE2b-256 | 01e1285ac92d4d7ef3c89c1a4b30895aaad6628fe7383e0356d0cc7fe68e002a |
Hashes for rithm-10.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b06290d5b4740e8f3ab7b6c01df62d9d72736be119544d5dfd6fbf7743a2f8b |
|
MD5 | 29f8f30b4bf2c9133a1854318a59ebfd |
|
BLAKE2b-256 | 138e623588fe01bf515a03d59142b736f468ccf1479471d0630249c60e3075df |
Hashes for rithm-10.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef156a0b774ae52a587eb3d0e47533f2c371986a2bebb204794f6b42624cc36e |
|
MD5 | cbf68041b0ce130cafca0909bf0e1812 |
|
BLAKE2b-256 | 399da80a0a51cc351450f4c8c7e5b97d0fc0f1f311b50078b4a6085a8a4a7f77 |
Hashes for rithm-10.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1eb2bbd8696ec6ad03843176dd3847c4ed880f1980203371de010a3ebeb1d201 |
|
MD5 | f57f098849b2ec41827641c3953ec976 |
|
BLAKE2b-256 | a34dcd74582afcf25aa6509ea27145f50eef364f3365480a7139d9795ba3bca7 |
Hashes for rithm-10.1.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2208c1dce448a39450cd0db6c28609017f46f868df5acf051505b983f2e29442 |
|
MD5 | 585cea9dc68288f71d42adc284a17ef1 |
|
BLAKE2b-256 | 704941ae2c72c54037c57d6116d837836de9346acf99fef24b310a6f518df73c |
Hashes for rithm-10.1.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5b64cc406ff454d36b06c7de3eb1dc4bd99dd79bee29e75c67fbc6373be3a7d |
|
MD5 | 4c0950fe3f0cde7da3dd66d34fa73e9b |
|
BLAKE2b-256 | 973ff61754034dcdf2203316cf71e5326a135810d3354b946a79ba5fa4837c41 |
Hashes for rithm-10.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96f9a4b0292d7c3ac1a9782266eee1575203917ed0ccd5ccd32daa70c0c70bb2 |
|
MD5 | e42d39b75d5d44f8c20487f2f08ae2ca |
|
BLAKE2b-256 | b0542b2b5336012638e577c40663f134bcd937db29c41b8ea3b68f1d067c36c5 |
Hashes for rithm-10.1.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e533fbaeac646f5a58bd13ec2f91bc2bff0c248698b2187dc60762c44a1120f |
|
MD5 | 5e47c87eb44d94dda9b02df1aed24c14 |
|
BLAKE2b-256 | c982b2b68fe81772d72f3bbfdcedc995b505d87880b3b0af49e4971c11932e4c |
Hashes for rithm-10.1.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2b63dbc755458a3b46fc9f664e274e1ddcf4b992daa02fe65b00df867938804 |
|
MD5 | c799006f0c0b32ae53bf466d5d6a7442 |
|
BLAKE2b-256 | 11bed70d33bc6e460fcf7df16c04408f17699dec72daaf52797f63f8827d89cf |