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.1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93c00d9ffaac3c2803a6283f93707534545f58a3fea0313aede153f534b2e4f5 |
|
MD5 | 572fdc11cddd92c4b29f031d6db71e89 |
|
BLAKE2b-256 | 4fd7f02f9c0f23c140419d31dea16f1bc915062f2735914e55a41d67a1928582 |
Hashes for rithm-9.1.1-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e222d96b17c8543fd4a5668654eab6933d423ce9002736f95893ba3e1fc3b96 |
|
MD5 | b277d784faebaf54c657539f993108da |
|
BLAKE2b-256 | 9ea5cbfddecd6617cd3205d44a1464e93c59cdcaa589a1bd6168f7c80adaf431 |
Hashes for rithm-9.1.1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2df1fc80c837bbdf0e70ba01d7e18c348b5d8d471635a09095b8d8e910c0566 |
|
MD5 | 412ee2efacb6ee9d9606eac08d751110 |
|
BLAKE2b-256 | 0a3ac86bb67706351ee902d75425f484758d5b50168c32abc72589dd50da6ae6 |
Hashes for rithm-9.1.1-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b247de9edf077cfa221706eeb8286ddd37ed01230598e1c1613da0a0524a3880 |
|
MD5 | 0d994f41bb4616b6e65e3e0c9c9a7ab9 |
|
BLAKE2b-256 | 556dd4c03a0287d08961c92924ebcb72036776fac1d57b137728f521c4936b07 |
Hashes for rithm-9.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c267facd46eecd7ea22e3a4a381efc43503228a668b5aae5db1df599049d4fb8 |
|
MD5 | 43be5d45767ce13c787657c2f6b6d63f |
|
BLAKE2b-256 | 1d6012cae7ccbe3c916ad20384dc71fbad308f284fb12167158ed84f8cc0e8d2 |
Hashes for rithm-9.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65166acdefc2a9d037b7a6f647cf1ee7664141d7d3fccd23e1d7a069fa03bc05 |
|
MD5 | 805195c612250153b74381304a27377c |
|
BLAKE2b-256 | 826fc7493c7e9771f10a4a17961f4207149778d69797f605a183627c4b29fe89 |
Hashes for rithm-9.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 259dfb83de8f3d1d5e0c986f184f94d271cea198455f8ab6966ee9c26761744d |
|
MD5 | 349f5c33cd85b7001ffa9b2c64fc8681 |
|
BLAKE2b-256 | cf61bf1fde5995df7603bb38f791a41080a4fde1b9346a726130641906dbbe01 |
Hashes for rithm-9.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a173e652799e6844ffc7f36828b5ec0d7da23aa6f386799869a2ecc396c786c |
|
MD5 | 9b7d8193301480b21b862dcf352a96c1 |
|
BLAKE2b-256 | 589349f65fcff41bcc5fcc45de8c5c2f639f8c07709796ec460dd39eb2b1f48e |
Hashes for rithm-9.1.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b0b952b532b0b1a37fe42a10f95d9c2de5a88082f3ab93ef3b52d427943ecc1 |
|
MD5 | 25fffabe17ced06027dda86a0b1e8a6c |
|
BLAKE2b-256 | ade2df06096bbd93b5e7d1285287621ddc7d623ec404dc9aa79c721c465c6e86 |
Hashes for rithm-9.1.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76ada96cdfb8bb49594e0b7be2f5106ee50f3a2cad5a74a5372262130cc190d6 |
|
MD5 | dc944c3311b8fa2144bbf14c99ade595 |
|
BLAKE2b-256 | 247ae35b6a330a68048ad2e5e7678fa4d5a096cecfeae37761b529154dfcb099 |
Hashes for rithm-9.1.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd21035e37ce35522b98dd61998165c130196ba1444b768f348085322596671b |
|
MD5 | 50fc53ec7d4aedae02feac52a6acef9e |
|
BLAKE2b-256 | 63038d1ce4a991ac3ea2cfea2849cea7deac5d5a25a67900d5044bf4274b1fc8 |
Hashes for rithm-9.1.1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23f1b31b14989cbd1921a0c1aa8a34910d49b1f5597f3915c9bae1cd82045734 |
|
MD5 | 614c43b75f49c6e0f146fd6706561232 |
|
BLAKE2b-256 | aa80b18ed318994ab874fb1fc5d2574a9a7e7cbd7f1107af5f2848de18514c92 |
Hashes for rithm-9.1.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c95470672dd1f03dd4c9b15d1299b6e4c589cbd135dc6e34de1d3514c268cffe |
|
MD5 | 1b2ce23895d6efa8082a37985affbc18 |
|
BLAKE2b-256 | 6110d86b3223ed5f52d363301c71cf4d484688e11acbdb6698129d791e8f24dd |
Hashes for rithm-9.1.1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7ac6413bbf5a3b693a1738f891d402a60ab2dc557eb29e9a92bb2017860b4e4 |
|
MD5 | 9b527d791967ee767ae5d0e1a6bf6b80 |
|
BLAKE2b-256 | e716d12c1a3d4759034e151b7988489cb7ee67674ba848fb5d0c6d5b8b3564f4 |
Hashes for rithm-9.1.1-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d3509d99a6567832f4c8e0637ed961ba2a55551257908bba89ff036c5375bd1 |
|
MD5 | 7e1e0553cd4885e1c6fb15cdb346a3a8 |
|
BLAKE2b-256 | 349ec435b16af4bcfccab7e39cd71ebb2d45d96fbf6877a865132521ca33f2e2 |
Hashes for rithm-9.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c5acc2061d2579e58f3822e03d5ead5cdb3a06ee0b0ff01008e5f4867edc9fc |
|
MD5 | 60f5a2eb9a47e2d6919386c75f8d7bc2 |
|
BLAKE2b-256 | 0a6266fea765a07a44d3ba8b0bac123017cd486b26879fd994c5870d2d9980a9 |
Hashes for rithm-9.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aec4a045d2c1cbacf0bf231b27b8ef8ddc9152646c0cdf56f0349725b08e8110 |
|
MD5 | b7ef77f2eba109dce92344e34af47cfb |
|
BLAKE2b-256 | 0272f8acc883735da498ba53039546bcffb962318b736b398c828558203264c9 |
Hashes for rithm-9.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d66d449668fc698f2011036e6744e99ba149a3201845b43b0df6297d9d2daf33 |
|
MD5 | a245712280c57a90bd15f4ffb543697c |
|
BLAKE2b-256 | 1497e771d3307c7945690486b33ed7f6c9421d4f88624e20739b1d6a356b2fd9 |
Hashes for rithm-9.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f396d1a37749adfa224fbb3dee835eea272983c13a13bad2d802b86ac4b6f177 |
|
MD5 | 2afad93503ec3133b0c2da2b1b9d284f |
|
BLAKE2b-256 | 5607bb0fe255252d2bbf0eea517b8d9624ce1feff80d814ae08923deedf1603f |
Hashes for rithm-9.1.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b92d99d57ebbcb82e964d2c336b1f942e4d386ca52380c59100a5aae8fbc2f5 |
|
MD5 | e49e8fbbb939606dc1a17def6818da04 |
|
BLAKE2b-256 | b89b1a4b5792b9d968e5a36309df8b273386bbe786f9172704d8f9ab81d6a65b |
Hashes for rithm-9.1.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a14f4de21cdcf1936e36ea38f8bc00d5f65ec1866beccdab897ea3aca7a836f |
|
MD5 | 476dba4c1a0dbdb6be7e254a03eb8ad1 |
|
BLAKE2b-256 | 7fb3c3ac82a511776b0425780aa2d6ee226c9ed4249891d8319ed272793ef8f0 |
Hashes for rithm-9.1.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23874c234f711c7336040a5702ef9c390d0fdb6b4822cfde40ccb62a38664ab4 |
|
MD5 | 9ccfadaa82a25c65cb8e41b3d2c89c3d |
|
BLAKE2b-256 | 1008a3a3f154f2b209e73b50b101527fa5d0186126867892443a2b22bd1e5ea9 |
Hashes for rithm-9.1.1-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2302e417d17e11c0d1238ff5148c315f83bcc0d3ede7922ccc21361dacae6bb |
|
MD5 | a9e70ad5a0c1dae7ee9a235958533613 |
|
BLAKE2b-256 | 0aa458d2a478fbd9e4428c069f3e2e45e3299f70d14b25eb49422a8df8fa2f35 |
Hashes for rithm-9.1.1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09fff24056d38044cdad2bfeb718d0bf737e15b62e252b4767675f152913553d |
|
MD5 | 7c6ad060ff82319e1d9c9d3839837cd2 |
|
BLAKE2b-256 | 4c884320bd3644c26fe12524ee1f2a523f1b182c635923834b5dfe1356019a7f |
Hashes for rithm-9.1.1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d14b08d510e443496d1d3d59a55800a4517c0024eea46f793657b95e1f9d9dee |
|
MD5 | 00203bc1a207053d62ed8f147f76e60f |
|
BLAKE2b-256 | c1749886ff5b236a89a70d29a5ee77ab1a5f60ee5625ddc357b303d92baca589 |
Hashes for rithm-9.1.1-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3d2d8c2b02e44c853b3aff9f44b7268feb4c218b3419746ba1137dd93b8d8f8 |
|
MD5 | 4fb55d346e83e0fa7f03048cb96651c2 |
|
BLAKE2b-256 | ab720bc6ecec8b286b0a285ba3d44e03c1a082a8d96775c86a28fadf73c1a36b |
Hashes for rithm-9.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b97b30c1195d0e91d502da721cf3328b785909543d7c1f5dbcfabe5911ec4413 |
|
MD5 | 8bd576a818603ded72a68f561455f72d |
|
BLAKE2b-256 | 8886da19977f86f36bdf16506ac23f4afa77a39c97984cc1f93b5e8ab0727709 |
Hashes for rithm-9.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4fbfc6bb90452872cb89b73c4b232999a197f889a46fdbd390b26afb26211512 |
|
MD5 | 290c02c7534bad2499a4143d7e46b2a3 |
|
BLAKE2b-256 | e7e418166f1cc8b1e1e854e54adabfff14789e424a3bf06750431f573a618e38 |
Hashes for rithm-9.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b974c722deaf925e76a873e4bee7c39462e3ed1ae3088cdc55c993c56a85d33 |
|
MD5 | c62f970bb1c645a9eb1862196f117152 |
|
BLAKE2b-256 | 03caf1205bc8b618e81f915ae55e4b46f3955ab3f924dbfe170f39521ba93c5f |
Hashes for rithm-9.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29dce0a3a9fa3d24e3aa3020446048bcb961bf766b156473b38edd0fc2dbf184 |
|
MD5 | bfcd8156bea6032ea44f3e9a17001ca7 |
|
BLAKE2b-256 | 3a20aec8c3d63d50d68a3e89df5d2ae191e7fa31327af9a16176409fa72d8243 |
Hashes for rithm-9.1.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4f07a7cf977273db202cb3370590a0da177ec35d6839cf07e2b6a005e3af1ff |
|
MD5 | b6abd894b4baae5013f931581b3b8429 |
|
BLAKE2b-256 | 7a3892ca25f3e054c26c47caf10bbaeffc94067f7ababcf2191303d07842e214 |
Hashes for rithm-9.1.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7023fc9e35cb35b03bc24846269a315654c14e8b161a795a769d4cb6f096ba63 |
|
MD5 | 669c6e16c0214c4834ad108dc8d86c81 |
|
BLAKE2b-256 | e6ec5961954437a4abe58638ced875d2655d8147f830179bec7670b109881edd |
Hashes for rithm-9.1.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c96d4ff2cc42542f3e019feaf11f2ca8941b79215027d65bc0cc473a2ed3492b |
|
MD5 | 8300d1590b3654e8c3422bda32c3f34f |
|
BLAKE2b-256 | 73bd8ee4437a3255109c705e309fd009570c00e25f26224b4cf14b2b682e79c7 |
Hashes for rithm-9.1.1-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | adb626cf69561c86a919f8863650eb109c519ac427fb8178b79130ce10efafc3 |
|
MD5 | b36678e90999e03fe04176219220846f |
|
BLAKE2b-256 | 2645ff4a3d2356a5c91a27f0c9ba92384c7d3308c33ea82b07c0686fc8eaf19f |
Hashes for rithm-9.1.1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5cdf3e3bb9b5737a76c91483333de6445a54ae67710dc936c1df5427eb7b2aaf |
|
MD5 | 46d679f4d486dc4d50e52e40aeb95478 |
|
BLAKE2b-256 | cb86ef32247cf4f01d4c66f123abddaabd81e62522c08b2dbfd141299095d9fb |
Hashes for rithm-9.1.1-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37d9cd687692aeb9caa5a4b5ffeb6be559852b67bd7a2a02d3f65eac41864174 |
|
MD5 | 9d2127da98de401a02351c4c58ddeff1 |
|
BLAKE2b-256 | a8f62cd049a150bf4fc7e6660242fe701209345f81ed372c965cf1bd5435d2e4 |
Hashes for rithm-9.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa97c8ce728b54b435eb9517c576bdbc5a31300a77f25eaf5b424d423432ba23 |
|
MD5 | 3f19ba73f35c85ae38b22f59712432df |
|
BLAKE2b-256 | 2e4cc70f98f0f8ecaa0ed3e17303b705bda28b4bfa9a30ca63de1b37ef16665b |
Hashes for rithm-9.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db7fe027cc050961e6c78cfbb116b1028f1939cb2c2f02aaf9bd6006d2851224 |
|
MD5 | 41a09968877aaa4dadd1b67b219f871c |
|
BLAKE2b-256 | 2aece968a6ef876735e23ace8de6dbb424334a22827579ca6c339c0c77442066 |
Hashes for rithm-9.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5760562edc138a191c9e4d1e644a90ef1883080b44a80736de25f6b9469b0bf |
|
MD5 | 5be5dd9f8484ce643dea6e053b1de806 |
|
BLAKE2b-256 | c11a26182e78dfdca8a5ec5ca5cda7ed16f8ea1866a7f0851bef07d91458b21e |
Hashes for rithm-9.1.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 885e3c0c5b60c91d508167796a2c4e0e8622d709fa3f0a13f21cef10b198acdc |
|
MD5 | afe732e8cfa5cbc0387424525abd2dae |
|
BLAKE2b-256 | 273ebc81d716dc166df6047cabf97cc0eb9ee5bbd7262f63ab24c6f4ef7c1865 |
Hashes for rithm-9.1.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c7f7b11172368bfdfe91a5244cef6f8f575d423bd0370f17555a6be0f992a2e |
|
MD5 | ff9dbdc42057dd0a5a87975446c44833 |
|
BLAKE2b-256 | 1072e5e9e23a9b4f21e3c6007f1727e8326fe54ee68cbba2bd6b998f9f64a7f4 |
Hashes for rithm-9.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7411d063cf95c28b52f19fe1cc83ff41cd1f3b9aa53c9d42e3e5a4d4e4c2fc26 |
|
MD5 | 9c0185303e0266cdb046a9405d3c6d97 |
|
BLAKE2b-256 | 0dc8245d3c030bd6c2242144eeb41ee764146613ba3b92670da4f0f7cebed671 |
Hashes for rithm-9.1.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0fc90a01cf64e77473e7cad220a03b155e006a5f23e21565dd099bcfedfc53e9 |
|
MD5 | 375ae7174416516fa7493a90b2a57e0b |
|
BLAKE2b-256 | 2f8952bcdec8216c6a47d6ff09d3d8f39aec83c3e852c640c73670b3609b6848 |
Hashes for rithm-9.1.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21709693f86d4c888a436a709432bc0a0e268a1eb38c2fb482735007dc37a5e1 |
|
MD5 | 754e41afe7defa3bb6d76a6837c08547 |
|
BLAKE2b-256 | 668d7af4526f262e8db2570119c1d7443d70bf02b37c1453616f308b920ca0af |