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.1.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69a2e54bc418d6a83676237436a781d30fb50d0d4e2aeed4c130dde3c72f27a4 |
|
MD5 | 4783724adca1221495ccc9e516e7163d |
|
BLAKE2b-256 | d7502190b53793e75574813d68430f142df451a63dd183135b2dc25c35a535be |
Hashes for rithm-9.1.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9580099097daa9f288ef8e833af0335f738304871bc695e4e84d42884263331 |
|
MD5 | a8bf7d9dc27fbb517081099e82b1c86c |
|
BLAKE2b-256 | 959e07038057b7ffd7471a61feca33802cd1f162a6b0b79e5b8a02be8ac225c1 |
Hashes for rithm-9.1.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11b00547760af72e9ff0c3684c195c3ee7bf0212d07c77bbcf857187998119e2 |
|
MD5 | 5e39b7d1e12bac604ea3142a98ca8f2e |
|
BLAKE2b-256 | ed25a015bd3b3eec62b4e8fed19f9d0c39963fb7dc972d2d7ad5c0466ee9a5f8 |
Hashes for rithm-9.1.0-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64d837831426e7308c15e343d72e58d30e7f11b4393d0d39033fd7b36661b8ed |
|
MD5 | 47bfd1d0e941d7466ff4112565c318de |
|
BLAKE2b-256 | a238bc51cef0bfdbe0845d523897467166e0ef55851cdf21935915a006191668 |
Hashes for rithm-9.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9af8dbff240d22afa5bfd51ec8dc22e161d7c83f81f24e96107cf3802292c5ce |
|
MD5 | 0fd93eca88f3e3285a5b3baad5f8168d |
|
BLAKE2b-256 | 424292627678c37952e2ffdded34bc95518b9021e9dc38724d1c62bb3cbe83c9 |
Hashes for rithm-9.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a1cd5dfafd4e6383b05039ec2e9f6f8a67cac80065ee75455fdbc88765c84f8 |
|
MD5 | 55e18138e8c346a7e01987e47757e637 |
|
BLAKE2b-256 | 839d2edeb13597953850e33b9208292fd3fe99140be0b2fc0846ac4a24c75a0b |
Hashes for rithm-9.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea5b063d137c693153d6561098256829f7de0c3f25d5fb8a40d333afd576f12e |
|
MD5 | e6704510529ad78b052b9b2c05d16209 |
|
BLAKE2b-256 | 0c387f8c1f7b3a12e0675ebbac478c28d725cf939d506837d4ecba1734346855 |
Hashes for rithm-9.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6655340e8ac63f4c92c5b5bf1abecb208c0e732b72869b865e76d67a28b26cda |
|
MD5 | 96a051671dddca14b49df30e46ce96aa |
|
BLAKE2b-256 | 49565dbfcf3ddbf70176787a2244b7708e1fc46e5ed6e160c6f8843a9d94c842 |
Hashes for rithm-9.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ccbbd65647db12f293df31a55a5b2dbf5d3d54b4f2cd13b0591bee4b51a9464 |
|
MD5 | 61a32e6e8775d5749223698e406376a0 |
|
BLAKE2b-256 | 85bd62bff1eebe698887a54dedd1deda9d6c57c38191fe35bfc489c3dd7a2d49 |
Hashes for rithm-9.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc7553506fc115ac5191b4db4fcc0cc004fcf4d88ae8583babd93cd528cc7131 |
|
MD5 | 426d8ac29cbda90ac377c720b54f1639 |
|
BLAKE2b-256 | fea3efda602a428600ba9b4bdbc5351b07493e0b4e04604aa92b9255b83691b3 |
Hashes for rithm-9.1.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da1ba80df6c32b59533e8a69d150d40683a4b2b9f7c1a845225432049db91565 |
|
MD5 | 2fc6c26f4f7f98266eccc3b239615491 |
|
BLAKE2b-256 | 83a901229ea49a863f61e164a07a3164f3c46f404d8497bfa8b8e0ceccde3063 |
Hashes for rithm-9.1.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14f9be9802a4e41af027bc4e51b8973e89eb21b3367074a5667ce9af60e904b0 |
|
MD5 | 5f9f5429e6c43e515c5c459d9997bffb |
|
BLAKE2b-256 | c8d7249c7800009b3b0dcd4bf57a1d0658b90e87b617219a753545361892d5cb |
Hashes for rithm-9.1.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a63cc228e5289f26e4329a0515bfab794c2fbe8dcd881c3459d7bc686dc9254 |
|
MD5 | c6d25bf5c5239b4f36c4cf286a3d16ea |
|
BLAKE2b-256 | 285d298c9fa5726f5a50c39d91b0244cb4fb3eea1571358522a2af91077dd262 |
Hashes for rithm-9.1.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d0e1644e607ab34889f497ee51f239f5d2b4b71134771e637c4fffa22267322 |
|
MD5 | e17fe19a4adf75655fd11e2376269209 |
|
BLAKE2b-256 | 9e4ca8543071394db5521a18e7b7f457df9d27f774b0b49b20dd2cc29eb31753 |
Hashes for rithm-9.1.0-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3018e9dcc61ef78e8768540f4410028d7f4f980a164e0b8262371c676502e76a |
|
MD5 | 9ad3abd9cd512b3c62f58b527721fcba |
|
BLAKE2b-256 | bc352a2c5a42c2ea78f09d8e644524cf3fa8d31409433aeb9bcad27af7ba7057 |
Hashes for rithm-9.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b455a38709f7161811c3eaeef1fcf1c16031ea126a50072a52d2f5cfdc48010d |
|
MD5 | f6d79e93eadd5d7e27b3496abaa716c4 |
|
BLAKE2b-256 | eeabb9925dc580743382f72b049f1dce5e7a07705425bc09f87e27049a960d06 |
Hashes for rithm-9.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3dfdc45f7310b412805e73ef00ed3fea7a4c3eae688a0a80e2adb8f91be96a4 |
|
MD5 | 1540c9760cd634bce1b7a5525845cb51 |
|
BLAKE2b-256 | 874f56f8a5d493612d287b53420a8cee4b12368681ae832da513ce59ca47a8ba |
Hashes for rithm-9.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7da4697b61028914d14d2d0400cc90f5c34f0285a856908feab2d568f7a5878 |
|
MD5 | 882fbf2a0b445218cfb329ce30bd4efc |
|
BLAKE2b-256 | 5300039a2ad7dfcb147d36c2003e9076120123b2d3c7ce68691e091f91c603e4 |
Hashes for rithm-9.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42031efc3e4f3d3e2cd6af0716b64f2acdacfea6f4216a5ace0f6569d5aa0450 |
|
MD5 | fe865dd52747485840e3f4f6d64a0351 |
|
BLAKE2b-256 | a5fd35e4b1da756da66f4ed31ee5fec713cb70cdf7c7726dd52aaab3a289b335 |
Hashes for rithm-9.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee79afa480c1f381fcb2457284de6ca1c8903efcab1433bee03910826b11f069 |
|
MD5 | 17ff7705214031606d17c94dd304d7f0 |
|
BLAKE2b-256 | 84eee23dbb6bcf64d33a8efe07ef748da2b46daaef0d52ebda87accbffee7994 |
Hashes for rithm-9.1.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a49fc44d16822ff9464bee2c7f7bfce86041741b8a405a3925d57df60176ef2d |
|
MD5 | 4542a3c27d49d727a0822f8964c82c85 |
|
BLAKE2b-256 | b932f2818525a1aea24c7e30a2839aaa59ad5b82deb5ef6797158e3e11b33b83 |
Hashes for rithm-9.1.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c7c2621b8db30da63b907dc2a3df50c9376584b15fbcb4b2dbe6ca3d2427753 |
|
MD5 | 10d54fe1516e7b70e15ed4fb303fbb73 |
|
BLAKE2b-256 | 00a902d5d18aef97dec3fea5d09d463333950a4f7f9e104baad1ea2c26e2757e |
Hashes for rithm-9.1.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6bf9afd8ef5d5b9e1f48a89b61f6dc60ae3fd3eb2dd9bc1b7dc0135ae63a4e6 |
|
MD5 | 471b79283aa363b9e1275a47628f90cd |
|
BLAKE2b-256 | 9dba57ae8a3b9a6db6c28537a9a09f61c46a7483d63138aefb9085448b010b9a |
Hashes for rithm-9.1.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1db5f59a4fd6576bdbf014629d3d1c7345603c3b213cec05da347d9cec8490e9 |
|
MD5 | 12c800ff6fed14c3f14efa194595e793 |
|
BLAKE2b-256 | 05aaaab62f7cb8c7bf0630f36a62d9ab083005d8aace3b51496ad96b37ae6fca |
Hashes for rithm-9.1.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdedc45cf3b214ba830f3579c76fb857faae503aba9f16af792d12ec11cb5635 |
|
MD5 | 6747a4e61bc6e59128fc9404b37d3296 |
|
BLAKE2b-256 | 37325a8bdc2bf47a93170daf10913cd07cb16b90706c7417222626f524690ec1 |
Hashes for rithm-9.1.0-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e753f8e8172e2aabf0089f28cf42f659bd63fb823405f9a6a67b3eb132d72e0 |
|
MD5 | 315227f55b4ebf93b189138d0cdf6f1b |
|
BLAKE2b-256 | d2306c22097927c80b4be538c6521ab9dc3cee1c77cda0290687d9d1f8db26f9 |
Hashes for rithm-9.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d521105638a3ab84ac4014ff4e15c7681673ad9821c3947be52be31301a6c5d8 |
|
MD5 | 99b367dee00bb33fa0e3b54c7ceb12c8 |
|
BLAKE2b-256 | e054be10642a41ea873fa63a2ab2723c54777efd48382dcb24f57e7a44cbaf7f |
Hashes for rithm-9.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc97fa69c23dc61bcf65d75acdfedd6c4205fcb2f71b34c560a5a62b282fd853 |
|
MD5 | 12140bbe27b793ce8a9c331b45813aad |
|
BLAKE2b-256 | f8cbdebe3657a5ea6ac8aca5a9c9c4bc4754ba48ce385a2c05135fdbcc51ee58 |
Hashes for rithm-9.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7ca11caaaae2117d617ffa54df0ce393b478d0e15a496207023d175ec330659 |
|
MD5 | 93753ea6f4f7ab8ea62998013ce30a85 |
|
BLAKE2b-256 | 4ca7e6db6faa8e0704b3831e21ffa6719124b0fa59902a7cc53e4e49f08bf6dd |
Hashes for rithm-9.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec3861cca32556703c0155960747b83fe93447feaabab317e01606ac074c4263 |
|
MD5 | 55925ab6e9c1edde978aee4d9abe4b8c |
|
BLAKE2b-256 | e3a22ed44d2b6772a7458d082b15356ea5ee9d4ac1af41817417822a6d73bda2 |
Hashes for rithm-9.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 513a5837bdce214f82a762d728c6b8b52f6db8561a32a2c32acfbd447512177f |
|
MD5 | 1639c5a692eecd298d74dc08d54751f3 |
|
BLAKE2b-256 | cc70de9ef01d5d0458107cc55d7b0967fb622e2c60007a46c56c762f4a3bff08 |
Hashes for rithm-9.1.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98e517bd554dd0d6cec2dece0dd897e0982eece51099366fad19fe5f58313f00 |
|
MD5 | 12a8e0d98f9c07dd6c3a4b7673691363 |
|
BLAKE2b-256 | 92d34b90f95182830536147b38d9bd915020df012df3a154e7b73a05a16b181f |
Hashes for rithm-9.1.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ac361069fa19ccddfcaf92df157c8db3fe5b1b6001e8f9aaac6d53234df2dba |
|
MD5 | 1299fb61c85f2cfae640a2d1971047b6 |
|
BLAKE2b-256 | 242769ce4ab2df69f851919ddd3fc0c545b99fa89ac5a9782a77e3a6390848ac |
Hashes for rithm-9.1.0-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce6d42376a0ce20885cfa1d0f1fcb01a8d2228d6f680df5d32f1f48b6be72958 |
|
MD5 | a79ebee19975fca3ad720a8b65cbaef4 |
|
BLAKE2b-256 | 3c8c0058814b1053207d9bc8c65307285f5f20fb6552891dc3ac9607ee523fdf |
Hashes for rithm-9.1.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a91b021b526a3bf90d8af732dd1c8bc5df22df25c47105ade0debb9d8fdcc2e6 |
|
MD5 | aa1d0c093a04abfc57b0ce5432c76930 |
|
BLAKE2b-256 | 90595d140786e32bfab2a81fa834051d080f6606a058d9a322c6b765ff8d8119 |
Hashes for rithm-9.1.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 753b222d3cdc44a3f5a33b637ca1b6d3cbe795f49cee1a3faa0ff9be5035f467 |
|
MD5 | daecc5f5ab2f6a476966cd6be47e6bfe |
|
BLAKE2b-256 | 57c15b8feb62eecf5b8e220ac21d05dec689a9efa88f4281294f089217cd18b1 |
Hashes for rithm-9.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f69ea71a1dc4322c2a9aebcac893a3bb21fd065891877928f35affc7561665b |
|
MD5 | 54a8073f4e485a99f558399af880c8f8 |
|
BLAKE2b-256 | 2c9e9f28d3770f1502e12b5a21fc079067664a606a121f7498ea4c1cdd89554d |
Hashes for rithm-9.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba3fd1b87737708f8e304b0029d5667b4a5741e412f3dea2b63d5359b7e115dd |
|
MD5 | 67840a54f0720473c0a5f434bab43c75 |
|
BLAKE2b-256 | 475b5e09d98cc0b34b8dbf90f5fcbfdf1ff58335b79f2e71c4f9f2732671aa58 |
Hashes for rithm-9.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a34a11bbc03f0c59fa722b1c45afe8a075a8500d1f2d0ec0e92d69179d07c59b |
|
MD5 | d8fdc995ec7ff8f85e39f26d897788ec |
|
BLAKE2b-256 | 0afc5aa7669ef5803546f4f2a42a4b3e2728ffc71d6a881022ec579a7873f4e2 |
Hashes for rithm-9.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06688e04b9cd2f1a00cd470d876bc7e4769a7dd742cbc38861636105ac9b223c |
|
MD5 | badc598d176a5f521b3b69f7aea59a89 |
|
BLAKE2b-256 | 6bcea51f1ac2a4e535d784b5ebac31b67bb07d38f4bcaad25a5c34b05530c496 |
Hashes for rithm-9.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 980f329558a33b760c147ec848311fdce924295c13b99a156e0e2bf302500cce |
|
MD5 | e42f7615749c0c35cb2b45f5051fe081 |
|
BLAKE2b-256 | b966bde39bce53dc1fb591091c06077481d9207e5e3def6b49dde4b0c9f51761 |
Hashes for rithm-9.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37eae78638eaf8fcac47988e7b50886b8860b1f7a82a814d92532fc4236ba946 |
|
MD5 | 8e63b660cee27ba4d67328c924d101a0 |
|
BLAKE2b-256 | b8e454e6a690f37f42ca1d3ce5c6d94b89327de6091a6d32d0f9eeecf0a6e6ba |
Hashes for rithm-9.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2125f614300ad4ef25628e3be1d1ed223c80fdd1abe13c8c28808b3279928178 |
|
MD5 | cdf58b1e21e335b1d751ca027cdd1902 |
|
BLAKE2b-256 | 2797cf38b43a6a645ccff418d9da2ccc4fa31a97b7182a9b41bd97931d43b996 |
Hashes for rithm-9.1.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | faf5990608c1cd9242a54331c7f1104c6663b9e84050f4fc0d2ed11b4c39372a |
|
MD5 | 331f0245e8abe98e1393709b22bd6b0f |
|
BLAKE2b-256 | 96c328299c5e9c27ca9c87e7ca3b9d14dc78c151c7697aa6cb7f40b6accfffba |