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.2.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ba135f139443dc2137ed4309a7897a8f60ce693858d616bb98243b9dc7fee40 |
|
MD5 | ab9f6c2117265e51d9bbe7b3e008a916 |
|
BLAKE2b-256 | 92215a56127f360d96433eaef882d4f24ceaef9a2565c514f6aeeacdb0d78ead |
Hashes for rithm-9.2.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99feb8f3025ced9c7cf0a8cdeccec07bb3a5357a77a4d425f2353ef08fa085cd |
|
MD5 | 13b2a9e8e796554ebcc0613ecf76fcb2 |
|
BLAKE2b-256 | 83a78013464b7b23baaf1c6fe2c0d1aef8ab93c73fa7bba9378b837febff0edb |
Hashes for rithm-9.2.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b8605837e428421c9388a4a38e15f3a6bc2bb5223a0b9588b5366bc401620f3 |
|
MD5 | 1969c058a5640594dde5f1fbffad002f |
|
BLAKE2b-256 | 36b917acb48f24b6a8cf64602e8bf06eb8d3ecb9b0103b19cb31ebdd42b28dcb |
Hashes for rithm-9.2.0-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63c3369a60c18a6d720c823ac4729e6cd68ac926641cb62bf7cf482063c4dfed |
|
MD5 | 6246561baae4fa523ecda7b7430eb366 |
|
BLAKE2b-256 | 7e8eb00ad4b597166e34c26a43852214389167a593d7a16acebfb5f4b8addda0 |
Hashes for rithm-9.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 230af49b58fd1ef790a156788c2286cc828dee1a053d8034f4d7f3eaf96267bd |
|
MD5 | 88545ed06bc3b897d2d2d8f435811f26 |
|
BLAKE2b-256 | d1bfb1d7ea5e27ef65095c51f7273df6f2d03d59fceaa1e59525b8dddf2c9c0e |
Hashes for rithm-9.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9f1232766d0cad9860e9a4ee38ce25341667eae18e7f39bd9fd69798ed10c9c |
|
MD5 | 4bb9eb40ecba86a47b0c0393b3307fc0 |
|
BLAKE2b-256 | 5bc2bf8ce80c011c24bd9e9a555d7802e1b755744df641cf4eae4ceca49d6e50 |
Hashes for rithm-9.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e47be042654539e6d4efcc57d93682db79926593ae86fae5488a64e3a39690f4 |
|
MD5 | 22d8592b1a59a56b03cb231ad0f19221 |
|
BLAKE2b-256 | fdeb752310b7a7eb8cfd1093cb485a18cfc3c104521f4155ec141ea2a4d930e4 |
Hashes for rithm-9.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e0cb75ac9000019a8c518f9e83b3701b18a3d434dbc4f4674ac37ea464033c4 |
|
MD5 | 8b3ed0d3d5fd89758c0e2ba0ced60eeb |
|
BLAKE2b-256 | 39fdd192cdf9b740d8048280b364dd0753bd96ea25e72892e60916f9d2d6f769 |
Hashes for rithm-9.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c624012de10419ff073f65262c97c95cea47b6a17872d416cfcf33a5c5f9d10 |
|
MD5 | 264fff746043a925402cba66eaa671e7 |
|
BLAKE2b-256 | b140d417b0f53182b7bea773663c0f77e2ed0fcc1b4e9bbe9d08c77ae4b78a0e |
Hashes for rithm-9.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5cb99e241b7f1bf704f617f4e3f82c11d5c6c049974bd3b4ad22c58826045a9 |
|
MD5 | e87067d90f99454d003e01637e95b328 |
|
BLAKE2b-256 | 5dbf9aec55ef25f0a258b705713564d1915532bcd74e9c4333f2fdf7c0e75fbd |
Hashes for rithm-9.2.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac00af068700cdd988948765bcdf03ebdcabd91d531fdb3a7f48743f1d033f36 |
|
MD5 | dafaf29e1e120d05188e2882edac9ab3 |
|
BLAKE2b-256 | d06193017c289ea7e0a8bc2a5676c84cdcc670f3f72c46aaa7b04b59114a1410 |
Hashes for rithm-9.2.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67af014e8b133553be33e3563432d485f262f4612ec9e9423931d3cb651c2f1c |
|
MD5 | cfca807b9e9e5bfa2161f1c0691bf640 |
|
BLAKE2b-256 | 761f529591a0f461d206dc3ad9d3732fe6d7c9b670a424120a1797a0c30331be |
Hashes for rithm-9.2.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3fd35544526d3a715393f707151f15693ad9aa8c706f49f34451be77434cf34 |
|
MD5 | 9de9e443f43916c999661fb3d7e33c74 |
|
BLAKE2b-256 | ca77c7d330810fa6bf25827781db732a050a076eadcd6d991e0b153276053617 |
Hashes for rithm-9.2.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5fb259e4fcb1cda9da83e054646f369a31c28a23204b950e3111fbc79ef030f |
|
MD5 | 99d5550255e6280147357b550fb57d12 |
|
BLAKE2b-256 | 0de154b83f246f701be20baf10f3b0bf712b7a349c9416097d832cb00d40d253 |
Hashes for rithm-9.2.0-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4cfd60cfaf9ebeb4bbadddb6fda71ac45d12109b93b2a3066931f616c4312e4 |
|
MD5 | d6880250f8601bd606e80d1dd0cceb93 |
|
BLAKE2b-256 | d6cf6d0c481d4aaabe81b67dd578a77139962cc527c2d30c378884cf7b99e4b6 |
Hashes for rithm-9.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2562f3144e4cda323594559e811933b35090687ae27b567977c1711082db50c5 |
|
MD5 | a18efad2c970971851b532324702d481 |
|
BLAKE2b-256 | 6d070fd34fa4251ecd65d3ef89cf15dcb67aeef985fd6aad926cf6df442332a9 |
Hashes for rithm-9.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7eed015618cd881c289636c98bbd656dbfd7ee1474c8e91b5c49a4d6f6c6d41 |
|
MD5 | eb21546fa08b60c59d5255100051e53c |
|
BLAKE2b-256 | c9d2ca8d212f5f5994bd434007a5b830f2c31d33dfe02e8ae4cf31dff6d5dd36 |
Hashes for rithm-9.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 777bb737bd5902ff8ceb9049bd16925692c31baf94c8aa35d1aeeabad56e43dc |
|
MD5 | c648e903490f435693dc9bc64b9edb35 |
|
BLAKE2b-256 | d7914eb2a2740e3d744e6789e4b811479b6536a515f0118005be4b873d964d42 |
Hashes for rithm-9.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9e2d78cbd80f096e74ef9e67803b7823d68ae8fae90bfcb9eb5d3246e34413f |
|
MD5 | d87b893ed6d09fc81c931d7b07cad88e |
|
BLAKE2b-256 | 1d84581fd5b8b28feb072134581c7a9e17f747972fffea03d5efaa2db38bf90c |
Hashes for rithm-9.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73d45c343c0a8c55432c83d36da9f705c1f0df8e312cab6d5d7fe8002104854d |
|
MD5 | b6ddcb3bc6b3012f95f0e2efa5c9e1bc |
|
BLAKE2b-256 | a12429a0b2d38f75fffa7a77b0686e23e3bc0114bc2e0e1d447492b3c602a27b |
Hashes for rithm-9.2.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6964893d508de7dcc780ccb0c04343162a4a3545b870470a61afa59062ec9dc8 |
|
MD5 | db625868b8176142df5e5d8c1d27e588 |
|
BLAKE2b-256 | c26e02644c1c392d3302307a098fe9de22399a47ffab1bea7e08a79562d0c277 |
Hashes for rithm-9.2.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa978d0da735046002e7540f66be803565ee72172c3b7ab618e132975487903f |
|
MD5 | 94e0911754d8a5f4e8ef458fa57bc61f |
|
BLAKE2b-256 | b175b1266a1485df86f0c18ff7fd2480e5fb86fe5cb756163005d63069c6a707 |
Hashes for rithm-9.2.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd82483ad42d65e2919ca455c739c32ce497bab9a1f43368ba0cdf970c4d12e6 |
|
MD5 | ef1421c9d2baae23df001b5a34793403 |
|
BLAKE2b-256 | f636bb4e4131956c5e80121839fc273253e3ff11d1f0f9fdd8e073b033dc0338 |
Hashes for rithm-9.2.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a47f0a2ef1c52f77a9f97e22c415373dcab4fcb6abe45c7424539fbccd046ca3 |
|
MD5 | 5e5cac1aa25bd27eed4bf32161e42e80 |
|
BLAKE2b-256 | ba7b2ecf09a138332d987032b3d26dd437f0e9e1e06758429535e1f6ed7b4a03 |
Hashes for rithm-9.2.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1f0decff0672ed9f5272e33215905e0fb958a70f480ace35942beb40489734c |
|
MD5 | 079c73b670ff42125a5111ffa373f953 |
|
BLAKE2b-256 | a0e35fa3bd8d08fa90821f7da2237ceaa53196e52dea12c12c62867dfffb9532 |
Hashes for rithm-9.2.0-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7ce2238c41e9e0a3360a90016e7d243e234884fe0979be8aaa9ea0bd366a9ce |
|
MD5 | 86569e9146d661be3200e92981e0c7a0 |
|
BLAKE2b-256 | 54dcae0579b6e4ebaffdfe741b8e09086790e8c6dbd8e6c6e28e14fc345811aa |
Hashes for rithm-9.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f783cab07b5e3f69e23ee34ffb3dcca56d75ec75dacacd7b8724f31dd10b945e |
|
MD5 | 0d711d9bfc277dbedaaf95f167c2b8d1 |
|
BLAKE2b-256 | be57f2318b018d4f68aec8f3161dd027443947e1b9e0abd94ceafda21ec80f5c |
Hashes for rithm-9.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48d772f98e1663c20a1ca4bfcb0686becf40347970a829a68c51c0e683729fdc |
|
MD5 | f25baaa5272a9691254652b9e344e001 |
|
BLAKE2b-256 | 553aa0c36935957c01f5b909173ac86af43f59cf9dba5f52ce34912e0dd3d9a4 |
Hashes for rithm-9.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3d1f017edfadfb575cb3d1c5f2ddcf14d0159d08277ef14665cc8b281612bbf |
|
MD5 | 920d0b6eaaf5ee5ea8cec5a90d382ad2 |
|
BLAKE2b-256 | a22069761d68983311467743ab55b518c916352778932c2730aab6d82b110ec1 |
Hashes for rithm-9.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff1396fe99c7c630070ebb7b2e56044452acbda169dc026394c0df374173f245 |
|
MD5 | 2a29806e39762d74434e39a0af925409 |
|
BLAKE2b-256 | a47931e18c630f1973195ac9125f1d608a50c890ac432bd6ed2bba2945e51f4d |
Hashes for rithm-9.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e813667e0eead86807092631f4bab4ef209aab60e9145623eb8c6d0e83e1209b |
|
MD5 | 971ad8cd44df508d6050f10643e14dfa |
|
BLAKE2b-256 | 36d11cc59320ed48d8e071f802be47ec17cb3164988102f46d49ed3fc22d98f9 |
Hashes for rithm-9.2.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfa21174de4cba819ae0b092a63255fa604436db74727230e77a4ec5a9ba1686 |
|
MD5 | cc9e35ff40cb1eb5f0a1ed2911ed2052 |
|
BLAKE2b-256 | e52b0a8de07dc6e0f5c2d9945a8b4f1e05a9161cfddd8851b49b9f371ba7516c |
Hashes for rithm-9.2.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a78202df5fa38fd323dd40285b177b80fcb98c1f6c42294cbd5432993789098 |
|
MD5 | d095737957fbc53d495a4e437c565f0a |
|
BLAKE2b-256 | 3b48a63a365568e9463f71531cfb5b1592ee07e057ff45e4e4ce746a4a8796e5 |
Hashes for rithm-9.2.0-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47b5cb5585613c3809de3acea5bcb48105211bb908900385b130ad32fa48f43b |
|
MD5 | bbfe5429386c74bcf52afca7f46e9ce8 |
|
BLAKE2b-256 | f4175bb99affcacc91bc5788892e495ef549042037542fe7d0683b297941a86b |
Hashes for rithm-9.2.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a33a3d011550518292958991cc030deffd5e112c5c60cf8de4db3c1a06fcab69 |
|
MD5 | 1c8f2197501e3742dde9ed4484d4373d |
|
BLAKE2b-256 | 7c82855eb562c04dc8c0d0311a3e38b25d8f4a13198f809b68479c55b66bef46 |
Hashes for rithm-9.2.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43ad08355d3abba598f666c4c3c8bb2fe68f0fbb18da6888e97c71b6ae66fc2a |
|
MD5 | 95087dbf259a46826ac41e41d72c8784 |
|
BLAKE2b-256 | ec23b62aa0d0d4c66af39b8ef1cceec26f53bc3324cadf8d90b58d36b8d17aa3 |
Hashes for rithm-9.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99e1a4d13ec5e9f58458b8bbe6efccb94c5aac1aa67608df69dcd8f3f8693f49 |
|
MD5 | 962f41533573b3068f6f8b768b4ea49b |
|
BLAKE2b-256 | 8394652797090f0e2b8c0ce3b1d128aca23be1f3004a3d612602ee2fd96c458b |
Hashes for rithm-9.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ebea23c27663de81af04851638d3ac540cb38ba639dc6c0cfd5ad471d00d1f7 |
|
MD5 | 84790c69a46ff197da652ca52e956d5d |
|
BLAKE2b-256 | 6fe8700fca79375cd518c46c0af864f4bc86594c937bfb71939932964838249d |
Hashes for rithm-9.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a4818076301e0999309bdfedb441d7c1d8f9dbee8c273630727b13786db1d488 |
|
MD5 | cb5deb8bfd7fe640f83a9a46674a0505 |
|
BLAKE2b-256 | 2dc570546f05737f98a599c1b9c939d0c301d3e39de1cc2392babe16b550d41f |
Hashes for rithm-9.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 444205b67627dbf96aacdd0f56642546af1c755191ea1992c89aa4d047a1c880 |
|
MD5 | 08b7201ef6ff1a481966f4cb55ed587e |
|
BLAKE2b-256 | 87c6df121054f5e6b4d5a279875ecd32edae35da2e17f2a3799c6d3edeac1104 |
Hashes for rithm-9.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5df97290d37f915f0df3514556ef009a6072d17c3bb08b5d10cbbfe0acbfcdfd |
|
MD5 | eddd46b304c59e3722ce0bac7ee8131d |
|
BLAKE2b-256 | 8b8182a082d865ca3b40f53d3d35731e9b67f48a57c6ffa92e980033e1f27cd4 |
Hashes for rithm-9.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b74ce874be9978b63dcfb7c696933c1f32eb915354c4678bdfb1d7496ceae0a |
|
MD5 | 305a61649c17dcf4faa0adcba619b807 |
|
BLAKE2b-256 | 2f41a8992052892a04d3130da4bde20a5edc8496e41fc0a774e64c65f6f1073a |
Hashes for rithm-9.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 830927500c3fae5359e4d783bfab99a1d14888850b786e3b0ea3d9e8b2b72217 |
|
MD5 | 77076eab2d2896bffd373a828051a08d |
|
BLAKE2b-256 | 48528ee47492da103a7fd0d5484c651a635b87656e2f0129cc01fcc464652af6 |
Hashes for rithm-9.2.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af7a7aedcffce5e972b0407022a0565168ca69edc54a1510fb5d17ff83dd084c |
|
MD5 | e8b4c6eaa2604ca7f51a02b6f5583461 |
|
BLAKE2b-256 | 626def219b012e07a30343ab14bdd8bf38c2f625faf83108cb82206ec23a84c4 |