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-8.0.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3b6963ec9e53ff925b845994dc207e21875379722bbfd116f341a703154c86c |
|
MD5 | e31578b5ab349d87b2600e8b0dfa21eb |
|
BLAKE2b-256 | 41f57e68ec467b0ca149c742e93547cc7d2956f1105be00b5cdc7a3533a15f6b |
Hashes for rithm-8.0.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c98b60e0e7549f97dc93bf5fde1ea3eaf10c2bee8eddcd004c0d42f4c6044f1b |
|
MD5 | b3d1372dabe9c7eb6291e4bf45639254 |
|
BLAKE2b-256 | eba52adf4d84e55aa4a6cf301024f4c5c468e00cb1d9f2240eb9d17e356a4d5e |
Hashes for rithm-8.0.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6beaa762b3eb702ddbdc7872bf29b062d1d69b763984ec6fd5f773382500665 |
|
MD5 | 4659b456f4f39d6c8a27eba371f94ce9 |
|
BLAKE2b-256 | ec2e8bb408c34c77813ad4059ffeb2b14744480958cc6527a5f77229ec59a792 |
Hashes for rithm-8.0.0-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3ea6465d8cf5ad648f704f057ff6a5cfb482f4069eb225eba4849a9ecc9df28 |
|
MD5 | aa11a0db1488668a344a4b80c423ead9 |
|
BLAKE2b-256 | 249a263b2aa7f2bf9ee19af27793a35a6a49cfdebf74da3235090f96b1fb279d |
Hashes for rithm-8.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75d63711460260644b6978c98133fe14d42f03c64d55c63afe1c2e68d9ed78d3 |
|
MD5 | ca0dabe1e4a27a7a48ca972c3cdbd433 |
|
BLAKE2b-256 | 5ec26f928f464c1530481d5145302a22d10d676adbb9e3a587ad0682deff5947 |
Hashes for rithm-8.0.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4de2bdb115ee7dc7c41a38e5c3a5ff4ac9819eb1a01c95526890187981e48f5 |
|
MD5 | c41d14d148eb18dda77bd71dcb9931f9 |
|
BLAKE2b-256 | 0e015ae55989e9564c30bebb97cab775453ad32cef7ee173b35421cc5c8692d1 |
Hashes for rithm-8.0.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50749b739b90430b2bfaacb288f8873446257f86eb218f80ba23ea99a05960d2 |
|
MD5 | b42c95b83c626cd53b6acc9ed04a2456 |
|
BLAKE2b-256 | 47f7f28be501c834c814c7bc2d0f6a75b6455cbd288354e11c02f6ef518cd1c6 |
Hashes for rithm-8.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f643657b755885e7d88ec210dd05445377205ee46f1b3ac5747843488887456 |
|
MD5 | c32866bde8db93c8dbc8f625d603f8c6 |
|
BLAKE2b-256 | 42db5574c30bda1cbf7de5d72305d78b929815d05dec7031980f968e98921f01 |
Hashes for rithm-8.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f5836241065c0a0298b5f93b55b51296bb692a8197b5a9b9dc42108e799ff0a |
|
MD5 | 3a4aa9c41682f23b0bb1b34a1e79276e |
|
BLAKE2b-256 | d296f123eac5808e53786ff31976d9e6a06a15ec7681043a2283302aa29ee3ba |
Hashes for rithm-8.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4212f6b5cd8f06fd2486e85d83b1024f076354e6c305786a51f0e88b8fba1766 |
|
MD5 | cc32aad16a818a0a756421b695306910 |
|
BLAKE2b-256 | c707f98f468fe63f963de0928006f544066df649dc58df4fa6ab6f8822e01f57 |
Hashes for rithm-8.0.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 627540fb5fffaf7a44f0078732007dd7b2af971ad9e8f919241fb5a3269be57a |
|
MD5 | b54e456a67feaf69a482bf63e4e97bd5 |
|
BLAKE2b-256 | 82af5e07d6b0fe7e42b48fffb2db2d9ed1785f9823f16a0dc73b1571e61214c6 |
Hashes for rithm-8.0.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 429912a02e2330348bd308cc4abdd7c98b9bccb17170c17cce84284d9407dcbd |
|
MD5 | 07502afeb0f80b73e7c7dca7431c0dac |
|
BLAKE2b-256 | 24487f21d6a0ae1815cabc702d9977b5eb5679026cf310544dfafafa205afc0f |
Hashes for rithm-8.0.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce2a1dd3a716b6b1f5957e5031706f4eb29cb97871d6216321b0226b9fec7ad7 |
|
MD5 | 16d58e02dde41f03bf43db7dac778c92 |
|
BLAKE2b-256 | 79913472d1bac696289743763896e2a5393c411868ba6895750ad447891c0055 |
Hashes for rithm-8.0.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b3944faa58ebc57669f1e7d3639f34ebd1064948c2801cfbff27b4e3eb0a696 |
|
MD5 | b332ee5c2ef0f1ff75501d0af425becf |
|
BLAKE2b-256 | e084145e30c1557b4799ddb5f1f61de8d311668c66854f9632a651667585c60b |
Hashes for rithm-8.0.0-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f68b660ab5b53f304e88ba1fb284e945aa642328ec3200f28b22b991c3a182c4 |
|
MD5 | 1da91c6500bf09167de7de88561560f4 |
|
BLAKE2b-256 | 6ed6b26c415d3a9e1c9c45aa0211e2af948b6dfacccab618acee9cfdac78434c |
Hashes for rithm-8.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c2cbafa24b9be470a40aefffd894c257188e5164db3b91442ab1c8971a43a9f |
|
MD5 | 387956f0b07fe6e058767dd4ec890545 |
|
BLAKE2b-256 | 5f5b9915e7ea9d60ef8ec5d052ab482db1d5759b3f133519c352bb0dcd5b6172 |
Hashes for rithm-8.0.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9fb9e938fc7f2784ba909ef41302419b5454e598e7ef826cc9df48d1c759cee5 |
|
MD5 | 78a01c105de20e2310f05fb9b25ecf97 |
|
BLAKE2b-256 | 6426a0d6f55df10ce2418765985b4594e1cf81de246e3bd37881d46824594b6b |
Hashes for rithm-8.0.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aff9129b3faca736f6502f59742233db506043a6df25d816621755b9eaadc782 |
|
MD5 | 29a00106324908dcf3b82e97d9cde4a9 |
|
BLAKE2b-256 | 6d6aa8a2424ae13cb6dc6fc15e02c85cc10dd3bbb0b2abbfa7276b8a43306c00 |
Hashes for rithm-8.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c42b39396bfc453cab5656b22f8bb197db5334d0204efe747f3b2a8f199669ff |
|
MD5 | cd4bcea4f0b13e04c99d2e1a6e208e62 |
|
BLAKE2b-256 | bdc2c5af7155f8b3497de528f20f63f91856c44497aa362cf940ef2e8c0439fe |
Hashes for rithm-8.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b85ffd388ed5c3ebe08a136432a5923f8fad994d7fdc855070b08fce95d0868 |
|
MD5 | 9036d60d83bb04b6c09ceff94dd2342e |
|
BLAKE2b-256 | cd2468ce6871535d77f6a0600ffc4dc24f4b02c98cc82bd9147c3fc045963e42 |
Hashes for rithm-8.0.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21774f9b924050e7ab4627b6c126d2ff760f071a73ff2935d278b1dce4e2cdbc |
|
MD5 | 666d1abdae2135e969b5ac512760e678 |
|
BLAKE2b-256 | 791a5d19ae1a2523f545674902094d24e7b0a0db53ef13ca0bb1c95b6bd35b29 |
Hashes for rithm-8.0.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d9706ac87f90bbf4fbec2209ba7b49fed470017f083925ea1366f3b669e4aa5 |
|
MD5 | 29b4acebaa1ff44553af7d033b2ef0ae |
|
BLAKE2b-256 | eaa122701e3262524defbf393c3325400ba5679d494c5e2a660789473c459416 |
Hashes for rithm-8.0.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 471de3548a5bc448c32285e783f74a5ffad849bfe95d4af66def47ae5f1908bf |
|
MD5 | 854264c4e886d274ee4f89b10d706cfc |
|
BLAKE2b-256 | 1c893af518abff5cb8a461f68ed171fce79651ce40b193a82ee00f41343e00ae |
Hashes for rithm-8.0.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f1d57733b24d98baf74496bf42f3ca42be753ee0f6d70b979ba3d89fea0d1c6 |
|
MD5 | 1a1fa19ce8ef336c2f6fa97bb5a3dc2a |
|
BLAKE2b-256 | 640973a913b0bdd98bd08d9ab6ada46b1ae9ffdf963cb06b3e60db5a41c18f44 |
Hashes for rithm-8.0.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 770de18933ff3cf87304c22bfdb5ed7fad951967a40ba6da91803245ce01f633 |
|
MD5 | dc64e44c61718fa3325f170f13cb890c |
|
BLAKE2b-256 | 9e76912dba8d91d4345f20c2ae1fe4aaebb56051ec95a40c5e6bee77ff097e6a |
Hashes for rithm-8.0.0-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 902ca837406e642f7ad711029c057fcdcb78c65c5e3e1d37f6c7306810a8fd73 |
|
MD5 | 49ffda8c24c476f236cf4eb83e2981e5 |
|
BLAKE2b-256 | eaa84b58d761c46feb7b5c6897d0996d25d92a3cb5ebca51e2a44d8548707a94 |
Hashes for rithm-8.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ade3a993f5ff54a4c31fbd0d4040e73177c0f07a669d2c491f1036505df90953 |
|
MD5 | 707a42c42384c3b0157c6db8de93b335 |
|
BLAKE2b-256 | bfd655f4b7380a35eda37484d227e79a6706f0dda8b8400f5b6be11f20d0cb43 |
Hashes for rithm-8.0.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b46fe4bf016278f35700e77390dbddd9434c503e4e7fc5367e94fbe4b140372b |
|
MD5 | 4ca4db4a2b9fcd7be94a47018f1f67ad |
|
BLAKE2b-256 | 71ddab2cf041c681f641090e95a4b9a7c2ac698893e151828022365158e21d9c |
Hashes for rithm-8.0.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7b64cc510f1c1f4c2e8c369826aa474a5704e5a710a4a7c5f37fa6de3fb3cc6 |
|
MD5 | 0962cedb3f7144bd973604a75a7c7020 |
|
BLAKE2b-256 | 0bafa0f511482b8fa15bdd805246b1ec6f4e0196a42925d0c81bed5d42e11557 |
Hashes for rithm-8.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 974ad271a0bd0a1b9011affb88349d8d11e45e34cbcba128e59b0466b13ebe58 |
|
MD5 | 49539ff1af737ad01f2119c2408650d2 |
|
BLAKE2b-256 | 39d1bb3e9c15e04be25edac18c31f3a249d4b8255ef1a5a67df60d96c39536c2 |
Hashes for rithm-8.0.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7474e9a3f2134a94e2456c86707f4f64f44eb3fce14c821ad910b9b496dafed4 |
|
MD5 | cba28ec7389536cde2af83a0663dbedd |
|
BLAKE2b-256 | 899cee2cc4fc7b78271725dd89f3e7ed48e59e6a4463bfce4073153cc88db3be |
Hashes for rithm-8.0.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 252c2554aeb0f66917a4183db9a2610df9121001879ad592cd2e4f97b0a45fb4 |
|
MD5 | d8cb8bed45ae312fa5b246640f521e87 |
|
BLAKE2b-256 | 5a25a415545fa6687412cf9ea5691a0678113a6ee17845828dd55f9c5b55b86d |
Hashes for rithm-8.0.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 290233aca595fdcf833b82fa3ddce926a2b9ed3c6ddab523b3189d9ba993d4ba |
|
MD5 | 3a76a9d11679373014fa3eafb893b16f |
|
BLAKE2b-256 | 0cd88630af703aa16a2a584bec5b46bac9e78f53c128d05d44d7784e44799354 |
Hashes for rithm-8.0.0-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f1e94bcab593b1f52f55a339538e9fa6c12e3c1db7e9016274519f29694443a |
|
MD5 | 59a1e0d850b4e8699fac8b1cc9b72ee4 |
|
BLAKE2b-256 | 164a7bfbf0b30c8e7e87dda873cb63d898cdf46abe3a4b1597f559cd3e1a9a33 |
Hashes for rithm-8.0.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0833cff761dfe39b96f5afca0ea0928467494acf1464d7273a67856b17fa3461 |
|
MD5 | 5bcbf7eb3855c7148d0a4c4fc4a7c746 |
|
BLAKE2b-256 | 06238ed6e8b1c985f7bb14d41e865dd4eb51817fb09cabde33d1553ad5aaa975 |
Hashes for rithm-8.0.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6446a584e46590ed961ab33263f7b259879ac8638402e98dcc7f235d4d4e7759 |
|
MD5 | f43b1e7c4a2493403d8b4a75d67abaa0 |
|
BLAKE2b-256 | 26e4177c2e09c65af136f9a4aef7da9d72c86129d48abebab5cf0afdb4c94c37 |
Hashes for rithm-8.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0993f47c13e4b1186ef86e3edba74d90bd1db79c5cfc7fe1cb8cae5e7a3ea51 |
|
MD5 | eec244a9f8ac14aeafdf14bceced228d |
|
BLAKE2b-256 | 59522345d386b6e71fa5aa21a744b0bf4ffe186390430b7ae3e02d36ecf029b1 |
Hashes for rithm-8.0.0-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b198628ff822f4271111812d8d1c390b87c787439b59465b0b6f30638549ae92 |
|
MD5 | 51d27f1493429488191f4f7f0420d790 |
|
BLAKE2b-256 | 861b84ab9ceb50b17dccfa8d8137cd9bcfcf27a4969c2dad41f2a4b10b24a70b |
Hashes for rithm-8.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c489b059b22cde4fa5d589210ac84d238d1d5d3149862e09e50abf00a89c74a |
|
MD5 | cf1f0a707657c74e0da03e23dad624bc |
|
BLAKE2b-256 | a66e59040053df6a0f6693351f35d9101d4f0deb512dea113e926e186b492912 |
Hashes for rithm-8.0.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba86b475f113e43ffa732eeeb6eab788981c9f22a9378db9a9c5048c488c1500 |
|
MD5 | 3a3aefaf955432234349346d7fd9ad0b |
|
BLAKE2b-256 | 3ff26b6adaa941f1952ab9c62f5bbd2a8bdbe3b0915563d0e2cd0387c42ca179 |
Hashes for rithm-8.0.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3501b117b5cbff413bf860084039028018f35f02906cc1331d88f322e3a48842 |
|
MD5 | 1184102490c0fd69a3ef38261e63323c |
|
BLAKE2b-256 | f3d13c2f7253dfe2673ba0edfca506bc0d6affe616ec980f3811c52c6cc79588 |
Hashes for rithm-8.0.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e36774318cff0a950dce246cced4e2632c73ae1377956c7c7795312c1a1ecdc3 |
|
MD5 | 4235e62bbaec1cd5d286e9069571b444 |
|
BLAKE2b-256 | 48da817be724004ba9bdfa08a5d7c17f607f4ea50addcfb665854439668401eb |
Hashes for rithm-8.0.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f6bea25d294affee378a2603ec0a689fa9ced0329580ba1dd603030f4875920 |
|
MD5 | 197b34bd53db5c47732a450f74080caf |
|
BLAKE2b-256 | 5c6ebcc768b0dda9e1784645222372a03ab434775aedd11ef12bf449fe0af767 |
Hashes for rithm-8.0.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e6f16fd3aeca7e4b62291de0fa5930f2c63a35230c8d5e6bb4032731e095ddc |
|
MD5 | fae25b3b3f84cfd60bfe74468bc8cfec |
|
BLAKE2b-256 | d604630df84263336c3c10c9bd8c292001ff33ce326dc157f01ecde8147f716f |