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.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23708df8da035ca9104eabb3600e1ae8f59cb4fe8aa563d3b489b5114729c5bc |
|
MD5 | 3fd596c45e75722a46451bad7c53ef1f |
|
BLAKE2b-256 | 0da289f01a876720e645b99b06cb53520ab4ae4a3db46fc5a896a28aa9707c9a |
Hashes for rithm-10.1.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c56b03f28d1c382295a296ab0d28a530a4a280bde5e3027e722154c880d68a4f |
|
MD5 | c251b22542d33a74d38dbc799aa19cf5 |
|
BLAKE2b-256 | fb5cc5af8c71a75358281186195cce274442285fe10da24fb4fcee9eb303a394 |
Hashes for rithm-10.1.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66a8af16e709b06293a988148e278e1df1b2ba18ec8460a6fe24a59e3bc774a1 |
|
MD5 | 66f42131c953b9c13da680d62d4b5c55 |
|
BLAKE2b-256 | 3fd94df4baf9c8fcfb2229616d0a5e61422a65b19420d8730c04155e84a1acd2 |
Hashes for rithm-10.1.0-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0251a9a61060f7f87fe62cab5bc83df77437560a3c06041e792460ecdb7f38de |
|
MD5 | 0dec457eb31da06dbaa9e5b6139978c2 |
|
BLAKE2b-256 | 01d0807d507f72356865765a78bb00f6e90ebca68d53b0a15eb705ca9570f9bc |
Hashes for rithm-10.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c441d00d28cb9e52a5be840d622ee83d718f1342af79c8ab6d22af83d21aa82b |
|
MD5 | 4a7ebcaadc2f4e3c5739f947e6ea2a3b |
|
BLAKE2b-256 | d51fe78600e0d42eee4e878361b451c514a146bbba00953dc8aab4612c753108 |
Hashes for rithm-10.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 743bbff9ebfe13009a976d8140b790b58e9fae05b7c7a3be6e96cd8ae7114888 |
|
MD5 | d6ccc321c060e7cb94e7bce3d33f466e |
|
BLAKE2b-256 | 6dc07e685f5fc7e61a9284d57b7b9239c73cf75c96960cad15c7517f7dc979a9 |
Hashes for rithm-10.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b079c2e8cc3aa8238af79774fb017cd2c67c43e2bf8b232c391c21083f824a2 |
|
MD5 | 2b7f86a73673f6dd0df941bf187354d6 |
|
BLAKE2b-256 | 5fdb382c6775be694e06ab57ab0edff5f79d0df0e61a06c72a23e3deb7435905 |
Hashes for rithm-10.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ca6fbf12c6954762ac8e9d40a412031a6964a2553598e82435f765719f9c284 |
|
MD5 | 11867fb45d4c444855e451babd9baae4 |
|
BLAKE2b-256 | 6e139daa47a737c5c5b228094e6c37906166c2e2c9ac33e66fa29c6a128cd33b |
Hashes for rithm-10.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9eaedac2a2dac771eab4b9ab6fbdc3292a884abe6ace05012f4d10e032eb3440 |
|
MD5 | 095f755a6b28707cc34927b930ee7a7b |
|
BLAKE2b-256 | 61da549cf7345769505e1afa5e6344ba250ed76a3fc57fa119563166ca32ecda |
Hashes for rithm-10.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0318123c6dc6548d9deccdec9e2607df4bd5e7ed41f5ab87ee902142306cd486 |
|
MD5 | 7584e2f6c0d06909a9f007ca06fabbe2 |
|
BLAKE2b-256 | 2ec97e6855b09b57c28cbbbad9354812bc939477fa0ce2c93470fae6448467de |
Hashes for rithm-10.1.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6dbdbe2f6250a338dc066f29b56eefde96ea377abe8956161ffc8f1b05a8ca2f |
|
MD5 | c443c60eb5b374345b07a8c2c1d379f4 |
|
BLAKE2b-256 | 0f967d46859bd347a3f805333fa3e358a02652cdcbd332e58a55ce62aa6c537a |
Hashes for rithm-10.1.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76b8275889e6559bdd22334f2ce5557e9e0827ef454fe3fd5bba9cbc177b542e |
|
MD5 | fae7fad238aa9784523a59501397a6fb |
|
BLAKE2b-256 | 199c18349a4d8c63d0e56694712116406ba29609c9ce9138f865a2d07c4321a4 |
Hashes for rithm-10.1.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ac513962cb546add6f6348c2d5fa62df2ed4e4eee08747078cf43b4b25f96e3 |
|
MD5 | 55a56c7a685bbf45f29e2e84d114a500 |
|
BLAKE2b-256 | 71aee5d1d533c3447462e830a521b7b684c3d6876cd6c83e360dea56deac97c0 |
Hashes for rithm-10.1.0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aea3ea4049e1f39bab8f23c7818de0d9d4e3b938b1284a1859bd437a66f419ae |
|
MD5 | 5531455ceee0542ad76d1c8d733e37c6 |
|
BLAKE2b-256 | cac9bd88c11bcd801b0e5b54876bfa72a225fe3d444acd5072ceee030850b393 |
Hashes for rithm-10.1.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06343267a4ff371b4f54cf28dff84f2a74dc9388f1b2ea04ca8284a61e8f673c |
|
MD5 | cc415dbd82566ec74a4516988827b28c |
|
BLAKE2b-256 | 9ebde2287f4d9c773b344a808df12e823f1ca5da008f640b9be36101547200de |
Hashes for rithm-10.1.0-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e65080b1f65732d879de6a10cdb6c847b947854bf900a869330dc2fcae34bc4 |
|
MD5 | 19b96e5921b12d1369378c94bc8ad5b5 |
|
BLAKE2b-256 | b7c23981bb0747f68cfc8b63bd76694d6bd574b788e779033a9f3f7bb3915c4b |
Hashes for rithm-10.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f8f0debd7cd46a063961d4e320313462e3584f39d17ad188592ddb6e20c6d02 |
|
MD5 | f8d4f33a28745c0aa39165f887cffd6d |
|
BLAKE2b-256 | 4c908e130e449f884cc1940cad9f47b5d9727775177376abe6e81f57f95a5ce4 |
Hashes for rithm-10.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f9685f405b593570747290eb15c0e9f54190d2ef415c4a1142584ecd46b8787 |
|
MD5 | 1bdca47547427b7e9d83e71d688cb3a9 |
|
BLAKE2b-256 | 4fe145db35b0f4a05a2487e527084457549f724704dfb8f7c3838b57d5bdc183 |
Hashes for rithm-10.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14d8809a4e5dbbb090f26a438f9f74726fcfc4d703f62c64a8f6e88175f5b626 |
|
MD5 | 1e2fe8c0f7e95f1126ee025788014d27 |
|
BLAKE2b-256 | ff42d6a783a41c9ceef6e4a30ccedadcfb6717c2c036dd47a1eec9f0bd89d86a |
Hashes for rithm-10.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 465522a3f9ef8d516ccd6da33157f869b8c0b75f97e2e31f661c2aba8afade1f |
|
MD5 | a27032f9b6d85b951109c6104b9956dd |
|
BLAKE2b-256 | 22d0c127c984562a878a3944204c71be5531d9b5aebb18f6017f594110c045ee |
Hashes for rithm-10.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d0b586a41e4695c1747be6c1dc698cef7f123b1d0d65934b2fcf8f9bdd14807 |
|
MD5 | 3ec69cc10eb2d9cb696c30bc4ab7420b |
|
BLAKE2b-256 | 2da3bb3bf876bf6989df30ead1709ef0f0b21256ba77a0ea52d53c21e61b43fa |
Hashes for rithm-10.1.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6216d89203af43af5a5d3a845b7a801eff7c2b7743a866199d15c1ef7550260 |
|
MD5 | 6494cb17b4ee8346c3951b8e8ca3e93c |
|
BLAKE2b-256 | 1f4ca0aae402ad5b9774e664d7d7421e7cce19e0627b2394e7de3d9df8aa4e74 |
Hashes for rithm-10.1.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8241f2790e413189a69460d26683978da3b7c69c1a4e91f5a63f44ec2584e39a |
|
MD5 | 1ac798eee36ddf3ada9bc221570d1ef8 |
|
BLAKE2b-256 | 1868da2e230dfed9bfa6a6116974f7cd5430dbeb5fd9ce2095700a334067314b |
Hashes for rithm-10.1.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a0ba482000817fc25d3c074120f1411169d9f4b150c7f8890cf531343c440f9 |
|
MD5 | c65804707737d263d3cbf5e57969d591 |
|
BLAKE2b-256 | 6fc79c1d47882198954bd233d485b270c19f828f8e8f30457cf2780f0946c98e |
Hashes for rithm-10.1.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 151de98f5a14ab3ac195ccccbfd477f15aa50cfae60eaac8edc47414f803e726 |
|
MD5 | 60b00bce8843654fb35a25320baab1dd |
|
BLAKE2b-256 | ca5cc86020eaae25cabb51a35eda51155fcc27e59991d5fbe4abbfc7a83d2cc1 |
Hashes for rithm-10.1.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb7652d7325c526a354ca0ab2605d818ceb2aed0760d9d54b959b582efbbfb4a |
|
MD5 | 2daf15b7f1fc7d3a7617031e40435fce |
|
BLAKE2b-256 | 403dc05b1f87d8667e3d882906433efc999503507b386a98ae7bbb3b8760309e |
Hashes for rithm-10.1.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b05d37714d55c1c0164fe0f30afd5aa464388a3a5a2a3eb7604ca2ec5305a93e |
|
MD5 | 5d9b2455c3ddb71d5350affb43ca4d71 |
|
BLAKE2b-256 | 773b84577a2900893be97da6e0619664a3cacc1fc06b4cebd70a058c311181ef |
Hashes for rithm-10.1.0-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c95bdc7877a0f0f56dff5f399dc565d52fdf23df8e6e6c713dd6fe9e7431749 |
|
MD5 | 47da24914552de275312ea3d1639c536 |
|
BLAKE2b-256 | 134477d186338384e18562f8cee1cd2e9e9b6812d4ffe68091d220ee2c256f0b |
Hashes for rithm-10.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be766ca6d0fb4f486b9f679940933f4c74c3c32e7a7f64598b691a93a78c4e22 |
|
MD5 | b929c825794d033b80c166d4c8a1954e |
|
BLAKE2b-256 | 78553cc6ed8f0f8c288bb2592a7d03e22fc87867fc7b7d387785953a984323fd |
Hashes for rithm-10.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87af7da3e063155116a2887056b6e5fe799a39232dce040b9e05972311249fb7 |
|
MD5 | 0a3728d7ec0461ad3b9d9c4ee6cb3b55 |
|
BLAKE2b-256 | b52b737de04bdb1c0cd3a9e1f9669d6585e4ff92fb533ae6b49abd963d70d22e |
Hashes for rithm-10.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1742a201b733e5a7ffe22c5103b928d542e27f35895d4260468d664d7c8eae69 |
|
MD5 | a944485b61ac16e0e5c0534cddec126a |
|
BLAKE2b-256 | c9e6b522d2e77c857f8928a7b4d9871b7043f3aa0ad57a18543241ec5f47f4b6 |
Hashes for rithm-10.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9308e15689114c170a4390ea5cdcb0eeed26fe869561316e9b86fc071af49581 |
|
MD5 | 26e1d37020641209ec02ab72a0624b42 |
|
BLAKE2b-256 | 4100992e261ed41309cce3a61e6e53fd245703386f39d08b7b617d3ba9a83a16 |
Hashes for rithm-10.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bff0ed911c586f3329da4f94dc9cd841150a3dcaf44a3057e92a3b1fec23fa7c |
|
MD5 | 575c1846b9d6ed73d121889d64de8b10 |
|
BLAKE2b-256 | d45ea99eb5d3ff40b73722c6f37a75dc54445d50d5db78f693ee81b744225840 |
Hashes for rithm-10.1.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4da5b2f1227ae394579eec0c32c8cdca39b0fe05232a6f76e569d548832da391 |
|
MD5 | aa137d39393881ed39e62ad2cdb4cc2f |
|
BLAKE2b-256 | aed63608b3224ffe78190d21bfe66f7f186011b14acb470ba130f92634c8e83d |
Hashes for rithm-10.1.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7153aecf37160404d31263d52eb42da1beb3909b93510cca718a9a74dcf1736c |
|
MD5 | 748c625c0b6a57c8d363d7aee10b563b |
|
BLAKE2b-256 | 27f11af378bd327d5b0f536d4909dcfe01e6960a9f9247775141bf88f6f7563d |
Hashes for rithm-10.1.0-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00fe251fd0896a10c96c9e8f2e3d8378b77f8a2e8e6e8780d2e3a14c76fce619 |
|
MD5 | dd8dd15fab93b566016c959418804a91 |
|
BLAKE2b-256 | 77501e034673c93d32c28909de4404959b2f564933bac621ae093c9a58719d3b |
Hashes for rithm-10.1.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a435c9e03a42d3a781340017d90867b2365b57d6b06ca0ac6a66fe3f37addde7 |
|
MD5 | e8db6ace87e37e9e90e032f9623b42e7 |
|
BLAKE2b-256 | d3dc45d5d9c949ae40227b82891ef4b0406096c7bb152309b1ab8a3c4cf1f39d |
Hashes for rithm-10.1.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe37c0e0270823411568988425e8cfc44234ac7874cc790b7ebd999f03fa916e |
|
MD5 | e01011c9edaeca72f657e964941ad2fb |
|
BLAKE2b-256 | a769e968561227b8c034b5945e576daceaf3c690c09060cb001af18d3b3557bc |
Hashes for rithm-10.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9516bf6e6d8649a3e922eefba4b7eb681aaa469012e61412bd65a03ae6ce28f9 |
|
MD5 | 5d73ca70a10a51c3e3b3e7297c30e304 |
|
BLAKE2b-256 | 1ea43f6dd74a27cb07c444b4e4fc537dc0bb1fa0d54de4235ba56bd65dcb2f3c |
Hashes for rithm-10.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c59043b47a8d98b2a12038d57576eb88f6adc1d83d5821f052d9c129cc6934c1 |
|
MD5 | 355df63231e3bf7965ac7887822fdb69 |
|
BLAKE2b-256 | 8e2c0dff78df5cc914227fa65d0d1a78eee433bd41c04af927e6207417b4412d |
Hashes for rithm-10.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a14a729ca0ce29cc8c64ca0264d093e5716afb164dd11ca9091a9977b6f64390 |
|
MD5 | 77d2e68e9496f35e869982415d0fc499 |
|
BLAKE2b-256 | da3bbad0ba4def70717ddc452e616b24b6351c698e60426741d8ceaf5d9cb907 |
Hashes for rithm-10.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dafd9ff34e7ccce75bfced10874bba3359bd0eb5f8c6d00f345dae5725894321 |
|
MD5 | feac5dc5a4bed67da8e6026860af2418 |
|
BLAKE2b-256 | d9772bbf2f0816b04ab5608d3f4511718992a17e4210bb7709608d92be8daa1c |
Hashes for rithm-10.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f10d4c15a87ca34a3c0e5c36693e1b6a9acb87a3aeed79408abc1be573eaffd |
|
MD5 | fd44a7c6159810e7503c192509f08c7d |
|
BLAKE2b-256 | 86d099d8ea870fb0261a21569415cb6c2df765c1ef05c88bf493366a4545d270 |
Hashes for rithm-10.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa1d24272b67e7efee7a96d381e76a012714cc1fb3570bf7dd1fa31a72090b5f |
|
MD5 | 8901b6909f9838930d20da7780c31308 |
|
BLAKE2b-256 | 00f52737b5c5be678d77fe9e67e619697cf4448074cae4d008ea09db0d99aa10 |
Hashes for rithm-10.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2078b0dac094975e77fa765a0d8aa816d48b4e0ec2e75cab08ed04ccd126d36 |
|
MD5 | 346b6347a6f04c7b63af66b223ff3084 |
|
BLAKE2b-256 | 6c0829383fd70447680a357c75b30b3d1838da282cdfd53cc5cb8a67ebf65d91 |
Hashes for rithm-10.1.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1744fac059b5d1fe1f026866c74e0febabc48a2ba70577ef52f9c145727699c5 |
|
MD5 | a864a763bbbfc888a8af3988c234b9c5 |
|
BLAKE2b-256 | 17ec5fbd79a3d2ddb6cbd80197038563bdb44496e4de20c2e214b906f0f84a96 |