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.0.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e1935d2a57994ed1a1e052399acacb7dada1d6a868fa96f7448ac5907f01b89 |
|
MD5 | f535fdb61bc6159fc94cae723d65746d |
|
BLAKE2b-256 | 9b3cdab13c7b73529b2d2359bba23b9cfe4c592c7dd3752e7e54450cbddff3e7 |
Hashes for rithm-10.0.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 717a0858eb12dde049fc0ba2bd091abf67160c2e900c116c6846ec5a7e0b2221 |
|
MD5 | 5e3d540ef304a0403db6863e309140f9 |
|
BLAKE2b-256 | 13e0185c5f07ff9454b4f1485b314aa4c93b839a9d5c8ce65d1434c55ae1a3bb |
Hashes for rithm-10.0.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2247bca2888a212897d42593a36e00f79ad465143d396b55fb919203cc2d806d |
|
MD5 | 1d08cc6aeaba4739d778ff2552c6da72 |
|
BLAKE2b-256 | 25786a2d6a532b777b44a1a98af70abc916412a5554e297661c7afd6d248f76d |
Hashes for rithm-10.0.0-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2154250f0cf3eedb16dd4bc44b5a6a2bd158d1207f5c9486711a0a64c44b896c |
|
MD5 | 2b5a54bdccf2f06ffdcc250dd86fafbc |
|
BLAKE2b-256 | 2aa6ede9bfbf35c3a8d330202fec4778e9121994e52aaad5fd4fd8d71734547a |
Hashes for rithm-10.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f25fdf8aab38a7134f48e3d5a3e2be0c33c284227eb2197d41e54deb596ef85e |
|
MD5 | 5370a0c13e7b85be82622a27dfc3c3cf |
|
BLAKE2b-256 | 49e1c7a85c88805da1982da208713998d884c9fd06b4ca8185b477c40d10433c |
Hashes for rithm-10.0.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8216ee89133c6b951e9f521296864228af36ab3bc6f0ff3aed474890106158c |
|
MD5 | 1335b65d33540b35c57c4ebda27f73b1 |
|
BLAKE2b-256 | 021964b5f83518c8535316d7d7165aa233888785cbdaf189ae5050783f60a33b |
Hashes for rithm-10.0.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1aac9c8d525216c2fa50c57c2f92f378d1099d94f3d18595019cb33bcf27861a |
|
MD5 | 9b49c6b27a75ff5bbece8f005f54abed |
|
BLAKE2b-256 | 417d4928ca6f047783702209a274b38b77c91b13d404b5b1078f93eceb724cd6 |
Hashes for rithm-10.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b53ea130e760eb485783003253edc81efeb58e9565edb19de7be2a350776183f |
|
MD5 | e1d54e43288aea22e581dca30914ddd8 |
|
BLAKE2b-256 | 28e939600666bb338777f64de2acbd4fe2af88bdff73040917483d8d6c9a6dfc |
Hashes for rithm-10.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0fee93d654669c1adbab0d9171dcab3f473cb65e981ca608b42e9b1b055e5bd5 |
|
MD5 | 6dc6e774d6cf804268af300df4c625bd |
|
BLAKE2b-256 | 088de8ee2ec872f3e35f722493dc14f08c7616040b27635cfab5335c2eb719a5 |
Hashes for rithm-10.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fff0d40b1c8293849d885c482b4f32840f7fecad2077361ecb800c46d0492d0c |
|
MD5 | 8c33a6d6e955e7ef610bb71fc0ec6dc0 |
|
BLAKE2b-256 | 3f6155c346b3608526fb2fd7f3e24c3c2d5144ea7ca97f43b2506624a523b039 |
Hashes for rithm-10.0.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71c891fff5367f483f5ec1e6c33b1f30e91808b560c281d2c082883dbb4004df |
|
MD5 | fd979246bbe9fbac1e966d0243b0fa86 |
|
BLAKE2b-256 | d65f9b7d30b5a7e4890b10a6a0ba875c7046980bbd7d003a5920b14d93a148d0 |
Hashes for rithm-10.0.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41b536b0e970472b7bda58b57fc359c36cef0fe4332361e620f9c74ae62b8850 |
|
MD5 | c064399b05bf43ac1fefebdc1dc92a2f |
|
BLAKE2b-256 | 8983cdb275c8911c4fbe0b84a4ac14bc02d58ecdb43962eb1c9a549a2b881ef5 |
Hashes for rithm-10.0.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b26175a2df668e1ce74b0058bc3ef494371f776b3fea2cbd1840c2043b5da984 |
|
MD5 | a6dc72a125b527f14418ee7c488374e6 |
|
BLAKE2b-256 | a341967f0f6bbbddadb39cce84e62f765305682e6f960dfca66f645cc8e63801 |
Hashes for rithm-10.0.0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9425e47212d7cb6885978e737dcaf446f95136986babd63a6b1f4a33ecfd74fd |
|
MD5 | 9c850a89f4e0f5f6abfa5ce09531b2e7 |
|
BLAKE2b-256 | 12aeed14a40f5ef383ff7ef6665bb3e3e2e08d74a8be2e8db6a697efd3d640f5 |
Hashes for rithm-10.0.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b312130ba5af452ba0c426fc98b5518ec8b6c1c8129d19619b6aacf7e79fd742 |
|
MD5 | 7aa5018fd0e935e65d7b4c667eefda29 |
|
BLAKE2b-256 | 0a4e74e1776958f7611b22a3b986fed16046330ddb5a3a9c69b86468cfe4b2cb |
Hashes for rithm-10.0.0-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f02a1abd33ad9d25f662eed1d8f73254e196fcd401224b39852d6befa923bffc |
|
MD5 | f66a5a9a62eae15fb2827387e7627675 |
|
BLAKE2b-256 | 5eecd1fd190380e5058a5b08ea8555d7c7fa8527bc24fc4b84af5c46d4fba646 |
Hashes for rithm-10.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d1b06097b8e1016eca9988aff1c75fa53066b1e7aa71f0289f1c5455675e053 |
|
MD5 | 30754639e61350904ea4309c2c0c8651 |
|
BLAKE2b-256 | c4f3f7ddc909f9c0a09d0007391acb016099d754070954a635ab548519c7840d |
Hashes for rithm-10.0.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4bc8b84d54d92979e5dc5729c4c21095c70de73a5e5c1fe8d25330b6e84121fd |
|
MD5 | f26756dd412da955f956dbfd3d9ab7ec |
|
BLAKE2b-256 | 60dc8471c2be6c45008b9c77da1c1f45b3508f9f84c9979b663b000a5fa02f00 |
Hashes for rithm-10.0.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e206a32ca20d557c415bf8b28184605521b21e7eb67ee062d5110991e22b2f4 |
|
MD5 | 63c811b91145c27d15f3f4ae900c5031 |
|
BLAKE2b-256 | ab2b285da92e7c359163260d9d332103639cc23950983e366231cce6521e22df |
Hashes for rithm-10.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d79b2adc6bd4206d63874588de8daa2cb912ff07f644c4851d7af536ddc581f |
|
MD5 | cbc4c7d72c04ff937ce7769db27495f4 |
|
BLAKE2b-256 | 197079a2c726dbe5b7e00e25d45154aa6cd00ca1e0060cc708584dd52aa57457 |
Hashes for rithm-10.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 269b601c049fdabcf855dfd5f70aa6a632427c848164c3bcf0f540586db64878 |
|
MD5 | 8e64544c899d599303764716c42a23a7 |
|
BLAKE2b-256 | d2411eb6ad735f674305c4e1f6cbf1d9d811a7e578514bf50434119f0d192f85 |
Hashes for rithm-10.0.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97191f66c0d2f4ed02f03074ede1b8c66f08e2902636c8c5ce430d6c34d0b52d |
|
MD5 | 20d09b247a753ce861be8af40af69d9b |
|
BLAKE2b-256 | 166c59309794bfcd2f7e98d956c7cedde6027c68c9c63cf1ea92cea7ed849318 |
Hashes for rithm-10.0.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a1e3e8a25c7b37fe306a711af29e55b9213b2e3dd253492d7dd92a08a4ef170 |
|
MD5 | 25840429a80a29fe7ac136f6313529d8 |
|
BLAKE2b-256 | 956314ec2eafb8abc319bea0d213ea8c26227f912cfd608c198ae1125f03ff39 |
Hashes for rithm-10.0.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 018f5571e9d7b29c071ee6b13a35d38b828e91d010add1cb0d1926654735a8f2 |
|
MD5 | 1c50b3c1a5c94da1ee43178064e33bf3 |
|
BLAKE2b-256 | 3b4379167b92303e4749daf524b142dc180d8f1f4c76c525f0a38e89f0f68448 |
Hashes for rithm-10.0.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | deaf3c2c7b99d232374ee1ba05ef1ea4c87089b2a9f2bdf5174353be374c1ada |
|
MD5 | d4ab0b600edc05dde9bdb3f03134c64b |
|
BLAKE2b-256 | 0e0a3f5170006efa6ae7c0e52c1ee40fcb433d77c501bf08320de28a980cf873 |
Hashes for rithm-10.0.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 483244c077d6b64e6c995b3868cdcb36c87e208f861e4d7ad6a0474993f805d0 |
|
MD5 | 1cec880f7922fdd19c27f32d0c51abea |
|
BLAKE2b-256 | 9f3e7689c91df34f1817d55bf82122bb5b9c21db871b92085b9a0e90406a911c |
Hashes for rithm-10.0.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b01966abde530ac43c1b2197525c3a828ab6d42e8b16e5ab1bebccd3fe91356b |
|
MD5 | a73cbbfba44ceaaf6ec8c84c87a9c659 |
|
BLAKE2b-256 | 3682fcf0ec0c8ead435c4870bfa37805620ece16ffd2411749c5dc333f1a22b5 |
Hashes for rithm-10.0.0-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d704e0fb3a964b42ecf1fbd1439b0241bae9795d11631b23a3e60047a8f5f152 |
|
MD5 | 83ba1c92539c9184f00ba176fe7be22d |
|
BLAKE2b-256 | ddab4c4ae8cd3bd0911b1cc86a3c4ae1f594fe6b3a1bbbd82759f38a025a8021 |
Hashes for rithm-10.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 814f7947cda113b1432d742a6363692b7ca17430ffd8cb1556cd0696fdd6e2dd |
|
MD5 | 62e2c77a2aaa78d48c75ef6c8badef54 |
|
BLAKE2b-256 | a2e9dce917053c35a3099beee3653f8015b25f2b501ce355d7aff76d97edd737 |
Hashes for rithm-10.0.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b06f5318b868c087f0b27a7e03988c49865fa2e1740027cd83500881a83dc4fe |
|
MD5 | 443b83e08eed2ded81e57055557b4e09 |
|
BLAKE2b-256 | 6223c7d821a71475bc41a0ae881f4aba5359e3b233e766143a83920cc63b897c |
Hashes for rithm-10.0.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f8e30dc1636369067294bf5105053cde8f72f74a511a9d935e7629484df466f |
|
MD5 | 0ce1a1767d0e7418f74951bfb07159fe |
|
BLAKE2b-256 | 5a950fc27fe97cfe512bc9cb56f1cda342abc3d137d175d326b9d8c8e8e1ed44 |
Hashes for rithm-10.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ccafaf89eaa8ebd777aa44d547b5d01ff8f7df34c544b7cc066da84d09e78325 |
|
MD5 | 888db458a7c04b400792bc03137e42fd |
|
BLAKE2b-256 | 87d640a5bc38c160c005d3f8dbea10a6d77bb5a462aff2757da61b83ab8abe8d |
Hashes for rithm-10.0.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b01b454d466f349075e727568982d17353d4e41759795c5584f4f8dbee6b8340 |
|
MD5 | 91c26567dbbf0d0b0795e35b3136758b |
|
BLAKE2b-256 | 8a2a31c9785b68cfc7dc866d1e921e2eae83ec7d3194f0f9f42c9f337de54b67 |
Hashes for rithm-10.0.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cefd9b3efab0a620d881a46b688c84bbcf8a82763bc5be61ebb83a396329b245 |
|
MD5 | ab07396d3415debc3ff1ff46b23e5307 |
|
BLAKE2b-256 | 7ce444a457bfafc452465de04a04c3218fb09fc11f9b3b681a5abcbe66c6f7cc |
Hashes for rithm-10.0.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2d8876213147eef2e4a7bfc640c0f9b9e284dea53cd6ebe629955f9374decdd |
|
MD5 | 7e99eade1d0d6c9459b20d464aa56b50 |
|
BLAKE2b-256 | 36177defe21194c587e941072f489b34f4f840ddeac944d2f0a44c49209f0a63 |
Hashes for rithm-10.0.0-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54949c35ce96bcc03e1f426d38392b322ca2ee3b3284fca71467883ff71598ec |
|
MD5 | 99b0c93018f58300ed586b4a0611a447 |
|
BLAKE2b-256 | bab7044a650bb0d8a0cd51d650394c7ba105d1f73c5af882b210adc67123f151 |
Hashes for rithm-10.0.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb90085e509eabd5dee795386ad2d736fe06a766dcb6f0f324494e4745540377 |
|
MD5 | 8a5965c0932de12d53b8d0fa06307f5a |
|
BLAKE2b-256 | 098e1066af14d412000d5b65316486f0069e72114c547f65342f0e18d50201e0 |
Hashes for rithm-10.0.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55cacf6946b238736520a92197206dac55d0b84dcd1af84b04950de53e6edada |
|
MD5 | 565d5c72e96b074518488f8ff8a973d8 |
|
BLAKE2b-256 | 3f3ce2ae7ae7c489261315ff2c930bd3cd284b56f93ddb767709d60b33dd89a2 |
Hashes for rithm-10.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d56a8c7853626e69db0a4f87cb84d1448e754b79f78c334f058c0735c6b9fc67 |
|
MD5 | 778db298cd1d57fa0c4a4b5d6b6c8a9d |
|
BLAKE2b-256 | ae3a876590672ed932b19225e9ecc493cf792b6320dd00b2f55f9e3329afa3bb |
Hashes for rithm-10.0.0-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85d55f138a20f90261294706d387a431aca8ac4d0f3f6d6ad1d4036475a02fbf |
|
MD5 | 543a34674ec3bc24756946de41cfebca |
|
BLAKE2b-256 | 4cf7a4b8782969d637a435d8b8be8a98ab7a571f1633ba1ce3109294795b7768 |
Hashes for rithm-10.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af8141c66769edafef778972bcc20f031a6f9fa56ca921d360d17f260d7a9c58 |
|
MD5 | 4fa8e6a0e34bb320d0e8fec61b544803 |
|
BLAKE2b-256 | f77d0451f91b12d90436efdd00e83231bc11e6e1194763b057764ae3c49aca16 |
Hashes for rithm-10.0.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4bd52369718fa71b2760a4a5f5970cfde54a40915d73ea82333d8757bbcc90e7 |
|
MD5 | 21d61e63b531386f6aea6678fd840e01 |
|
BLAKE2b-256 | 946db8499834332cc4b5d236224e10da26d82c6f7222bf904f443f26f2f0f9f4 |
Hashes for rithm-10.0.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5126ddf1ca8dd07cbb50e41752dcb63188343c2861ecb8561c809b8ed8e10879 |
|
MD5 | e6393563b6281f4f846618d95c36bba4 |
|
BLAKE2b-256 | f484a598bc0458c4da6245b86d289d82cfe96bee9c632e918591407f38e74b03 |
Hashes for rithm-10.0.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4cf45bde51c0d0e4817ab1ddd353d89ea8cc54eb0ac18844e5290497cc519889 |
|
MD5 | ba3650c26687a295b44cf1c3be5406cb |
|
BLAKE2b-256 | bccd8ada8f67cceea9bf18c37a05e1a2b3a8c846b6810d99afe92416c9ec4ae7 |
Hashes for rithm-10.0.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65136f610b33c8e512d923f9287eb8a8ab49d455709b1365f1acdd408bbf56b7 |
|
MD5 | b2ebb0c9cc1e5b8dcae5304f4349b2c6 |
|
BLAKE2b-256 | 21c6e176543bd10f1904769c930b094ba0bbfe2333a6a1d08bd092a1ddaf145e |
Hashes for rithm-10.0.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6962ffbe5de929161e054d0672f82f7053cb0c65ed5ffca7f6989508d6987a3 |
|
MD5 | fdcf49bcfb3fbc16bfda3036dcc2415c |
|
BLAKE2b-256 | cb60eef223d1dcfde8fd04e8511bb8b10b9d60a934909a728c4eae610bc5acac |