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.3.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2e531707e6d4199b847326f0e27af9458464e8ca831671e2a5843abc039f057 |
|
MD5 | 70c634f03c410fd17352a18bbe700008 |
|
BLAKE2b-256 | 8303237890111022635459ee9e2b8fd13064fa2e259a109e01c8f290c00ca08e |
Hashes for rithm-9.3.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b4aebd3ae483ea40cfea2c197dcbbab26333a7a64cecf9dad7489ee006facb2 |
|
MD5 | 0ba4199a31f99dba64ab970d06908495 |
|
BLAKE2b-256 | 35c9cac48887ef375e00cd055efe888824335a383ae93c0554c834215014adfc |
Hashes for rithm-9.3.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b4ca219d5d1428ea6da67ef65b94471a81cc275bd938de5842c688bb613d68d |
|
MD5 | 0346aa75c6396309963823575e07e5f8 |
|
BLAKE2b-256 | cac6caf70a6fa80976d99a652150e8162e40fdc73fa24406b9daf10a21ce9efe |
Hashes for rithm-9.3.0-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7dfc7f6de3ae85075bdffa9c08ba47ad8b9853ead43686832a49d66aa113756f |
|
MD5 | 0b7f29a4f0b037aced992f6c1950f868 |
|
BLAKE2b-256 | 54bc0b66c121594c25f726f6a816d9b7aed44928cdd318fd8e267b9f09771856 |
Hashes for rithm-9.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b893f13572e8c66eea31086a08e4d7a97cee485b385cc985f095eb94f2a7a801 |
|
MD5 | 4028f5484c6f6170d70ca9d10a83cb61 |
|
BLAKE2b-256 | 26026905c1fe22163a0ff1168c044ceb88d817ccf2d48c6bcac1f21a38110af9 |
Hashes for rithm-9.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1f78d895e798d41d49273c93116f2187b52297b9f71f17836aa4beaceef1b6d |
|
MD5 | 05b2ede12fc1020f3a71ef6d3aa4f4dc |
|
BLAKE2b-256 | 97090bb09d72c6e7f3c3ca8cf441f3a9477e7553f5d428dec9e75582afad22e3 |
Hashes for rithm-9.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7b3ac101a3f2ac076ba26e1a76e0287606602b3428054c23d6f13f6dc318553 |
|
MD5 | 91557e5307bc4f0603f6104d3c1fb298 |
|
BLAKE2b-256 | a3b493cdd86ee334d9b994163a6cbe7db5c59c5539e979cb78a0eea472fe1c5d |
Hashes for rithm-9.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92d91862fb0380a38c02d420ab25b1ddbee03e8053916f001c78fd80b10d0f93 |
|
MD5 | 298aa5334afd9d3f634e1950fd7d91a3 |
|
BLAKE2b-256 | 46e8eb765e554150fd7b54ff475b7fee3ed7e641786b0aac05053b07e8bdc914 |
Hashes for rithm-9.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e394f465775bb50d3fe935590f3e95851eace1275c87eeeedb2b7971b48e3b3 |
|
MD5 | c1a105b915f41b9dcb832b2589c7ddb4 |
|
BLAKE2b-256 | f9dbf43bdfbb4d6076c8b3e9f822ff00f0ce6f8af18c6c30648dc4b2e9426b92 |
Hashes for rithm-9.3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f9cde99653bc7854856c1638671ca29c16abef189f4ffe9f363e1806083a0ff |
|
MD5 | 21b8d9691db0a443cd7ea756d8b0579e |
|
BLAKE2b-256 | ef6a98440b5e9789eb4a03480becef8b373c4c5cf04bce4043005773116a2de4 |
Hashes for rithm-9.3.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd28f280758e615e251b38e3599bf79f7fc3b2d8ed455bd5ff2a05ae7ef7f59e |
|
MD5 | bec1f57f8fa329a55ff86040cc9f204b |
|
BLAKE2b-256 | 216abb5f793022825b6a60424c5dabdb63c5e2fd2c14ca8c7e4d64a6b3fed4e5 |
Hashes for rithm-9.3.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10e97111ffa7f971e8ee77b64af61d5d07c6234ef2cb9909a1ec06f929eb15f3 |
|
MD5 | 63b2b15a87b9d0b875ea59e2b7cbbf15 |
|
BLAKE2b-256 | 47400471ba84f647aadbdb951787661674da1effc7b9857957b6cb607d729969 |
Hashes for rithm-9.3.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06bffa6f5ddf279f50012c1efd1f571c0e0d81f8162be8d05088558d84370a95 |
|
MD5 | ccb9b36c4cdfc7057556c4d59b90da0b |
|
BLAKE2b-256 | 97c095b50186bed3a9ff70869348e8e99b6e85457c1fd3086ed2969f530e90bc |
Hashes for rithm-9.3.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c33ab92a56a3d699ac0927273c0c87942a3394128d945aa27b644e09bd178ed0 |
|
MD5 | 88e80823ccd1bc088e0ae1e20c1b33c6 |
|
BLAKE2b-256 | c418d89e7f95d1f07fa7033c3964aa146d9c0d354d42a614ecb54e864bef0e6e |
Hashes for rithm-9.3.0-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78063cd7bcdac30f500fc6c65800f47684250a7c76919418303804c6944bcdbc |
|
MD5 | 7991cc1e9ebaf1e97b56572e017d62f4 |
|
BLAKE2b-256 | 973f1aae498b5c4d864e5e8a07e68e6b5c783d8c4e6e7dba4c7d177af41f419b |
Hashes for rithm-9.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2531f2955e4205740a26ec3a021c2b71278421a32cc380df46e6d3fee23b2e7a |
|
MD5 | 6ce2eef792582d3d1dc5e180fd1cb741 |
|
BLAKE2b-256 | 0145102ed6a371713da57074a199586ddb36286cd539b89c8a1aa5328ddb7d1e |
Hashes for rithm-9.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4337e20fb5aa9039b403f29119e85a0d662a38bbe05ae2c324af5f32f6ce3fd2 |
|
MD5 | 610cf8c45267ee42f292a132771db107 |
|
BLAKE2b-256 | 9801ea7c535d21a5448a18a3c775fc1da601aa1ce03159b4786e3c83ad5334c4 |
Hashes for rithm-9.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c93ac8de7b5b7f59ef4bf72d05bdf32a23e5a18f7dc75b1e6e790305adaa70de |
|
MD5 | d735a82b4b8e357d30747c9d8cdd09de |
|
BLAKE2b-256 | cb64563204d6ad521b596523a9ae4696222a92eb37fb4aa19dc706dea30fbb03 |
Hashes for rithm-9.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95033ead792209e7e18c87c1fa583baf707f1091fe63d0844e219519ee35d01e |
|
MD5 | c74e88beda1b550f4f8bbd256882d682 |
|
BLAKE2b-256 | 63c288db6ba337f362f3b69195d0e0d06914fbcd3c8006440f61aa0413f982c7 |
Hashes for rithm-9.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19d75ea15d45edca50798e57189912828606d593fcb01a72cf431d65d36215f0 |
|
MD5 | 79adbc2f5bfe8786c2d4d187d016ea84 |
|
BLAKE2b-256 | aa5fd81f793cc6e893c8ba48aeb8fb7090f83f12e8729783b14ff09e65985e3b |
Hashes for rithm-9.3.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 877bdbfc5d0c3b91bde747dbc66b13fc030915699995bbd9da18a2c7b827fd47 |
|
MD5 | 345e0a45543a45094d943d724517fe8c |
|
BLAKE2b-256 | 05a15a7e6c56f000ef87f892d756c43a890eb2bcdb5b497947bdcfb74d773df8 |
Hashes for rithm-9.3.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a839fdbe9b28b153d2292070bc524c4edc23361769ed52f598f297d78741a4be |
|
MD5 | 5eedba5c487cbd4f7810132ae6bf000d |
|
BLAKE2b-256 | 8d7c3751159cc874ec4a258b85bcd02216686433ad98d06d7af65978e6120b41 |
Hashes for rithm-9.3.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ee43061d47f43a7adf1ae35b516fe684e6132dfaefdddb6c9a38857f8775725 |
|
MD5 | 37a64e195486ed03535b78abefbeb948 |
|
BLAKE2b-256 | d13cd0ae632754757cd5ccb232f4e87270db67d53bcc58dbf2f712585338fee1 |
Hashes for rithm-9.3.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1cdf0425604c2f474cf16a6a7e992be3b3becfe18c69c84e31524e80326fcf24 |
|
MD5 | 276f4deba797333769a0130c28978848 |
|
BLAKE2b-256 | b43661e9bfea50b4740acec88ef92601805c4e26619bfd9b6410d3b85bbdd609 |
Hashes for rithm-9.3.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb6e02835571cfc2bd7dae0445a2088dad51505396958cd468949096061aeac0 |
|
MD5 | ff819079e3077902dd14ac555a33fc53 |
|
BLAKE2b-256 | f06de43106ed52388fb1e7a94ee9d9241d75d1d31a195b69d58cd1dfa01a7287 |
Hashes for rithm-9.3.0-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2988d84e8f91711c1b8d26c8ecad2b16c31518e869ae4362d908d0361050398 |
|
MD5 | 5b5e7a7eced58b3c42ea7182132fc3d1 |
|
BLAKE2b-256 | 1a0dfee7224142abb496c9dbeac61a5eb0c7ccbe77cfaed4e9bf6289b70e79ac |
Hashes for rithm-9.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63444f7133caf21bfb225ce6c1875c2282b08d9ea1822772738613497dd075d6 |
|
MD5 | c00462ca529c8c4f5e27f2db6ea640ab |
|
BLAKE2b-256 | b8662c36c06ae6c15176451dd683b5b940b807772406db9a75cfb4e9567db6f9 |
Hashes for rithm-9.3.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48162e6cb3fcd7f82930d5e8a9a80f59adb3497887bf6ae8f2c3da68e29a610d |
|
MD5 | cf6ad72e08fbae7788d842369490c0bf |
|
BLAKE2b-256 | 3c68f08a2d70342f378b2826dcd074f72aef47dd0b2beee5d974e9ec7924521f |
Hashes for rithm-9.3.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf823bca0e4c67f623eb8608273be8636ac7ee32431ad71cd5f2ae29367ee38c |
|
MD5 | 3713809e5fd3beb4bc7bfb0121d4997e |
|
BLAKE2b-256 | a8070c892a32053a8e7a6ae9e12a31f2960001ae60f5b174f5859ee5fdef0ddd |
Hashes for rithm-9.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 577c58c1f91092231193046bec48830aa11c8a4dba0e7014cc9741b548bec180 |
|
MD5 | 49f059afc514f6a026e8fc56fa9c45a8 |
|
BLAKE2b-256 | f7e5cb0ad6563ed7434b583cde2d704ccf614d5cf944e480446a9044097b0ec2 |
Hashes for rithm-9.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a668bd8b914b8ec2974eed2d3e8dd77aef582de678aad86b36e9c450d1226d9 |
|
MD5 | ba717fefb0333c02f1cb03bb416f2019 |
|
BLAKE2b-256 | b9e81aea15769a9091181a660d5edc7aab21250270841c30505431c09fd171be |
Hashes for rithm-9.3.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 240cd61ed1b4ae4f34af1ec537fd716d1c63b70e44d5d2eb9a56a7492d685085 |
|
MD5 | e35721471e859473ecbd04e128093556 |
|
BLAKE2b-256 | e8bb45553451e83a7d54cd51e42bc4bd451ddca640d8741fa1511ad2ab87f9ed |
Hashes for rithm-9.3.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df33fce5c7694cbd8d93fd744b91b9160ba48e0a33e111f6c1c2cb0929c4c480 |
|
MD5 | b816d296668d035df8c4b356c8aee23b |
|
BLAKE2b-256 | 98227632516b0a2dd9d518d50c395d121c9886d43ca538f707908a4c65ca6e0f |
Hashes for rithm-9.3.0-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a14a211f961f3fbaeacccdc3fb6a826841213cd7c48a3a2ac9e2900a682d95ed |
|
MD5 | c814ccc963e7c8b28d4a6878f958bde8 |
|
BLAKE2b-256 | 2da808446659c5ffbc50e0cd82daa34e05af5a1d35caf0276c52ea06ef73ae1a |
Hashes for rithm-9.3.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b652cbaacd4541e68b36f75429659665835ee5fded592e0f8abb8d4f9aadabc3 |
|
MD5 | 710f4dfa3b588aaaaf200db30451a5cb |
|
BLAKE2b-256 | 91d4f82d7fa0954480d515288d8dfd29d8a61b67da6a250b2c6e8b4ff46f96ad |
Hashes for rithm-9.3.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1127b0856d205b3a562f1a917169e45c6a318c71796beac508610c56962b6eb8 |
|
MD5 | c4218519baeb247daf3f79f136401b88 |
|
BLAKE2b-256 | a63605032a36dae6138c93d8940d0de32ae6fe1f53c24a9f46e6ed2a9c9aaa32 |
Hashes for rithm-9.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e05151e6f11099274b81dc35a78d89f414e80a35d14dc2eedbf4be3e2f1910bd |
|
MD5 | b74c0c7b45e154759a12f01556370644 |
|
BLAKE2b-256 | 8b224fef8634ba85ed058c3fa979a13d40c5c9709baca7091da33759c9c37fe7 |
Hashes for rithm-9.3.0-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8bd7b6c3a3cdb8f883011fe76e0c4ce94041986eb2aecb5d693f6dcfc16d80e6 |
|
MD5 | 6a3435ef19b21f186ac3269cf0567696 |
|
BLAKE2b-256 | 8cb6645744d559340751ae336d9ae590f45221164f58ab9105f804d39669d962 |
Hashes for rithm-9.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bc83c476bddfb79ac6774321422bd7f07e2a785c3ed6207adc75d4ba131550e |
|
MD5 | 3d00483cf4c87b186ff2808dc10bc15a |
|
BLAKE2b-256 | de9ff8a44440b54b0e366e9b2413fdfc45b04826af23870d3846be0f64b8eb8d |
Hashes for rithm-9.3.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 147651cd5abce428591771f8401b713d333316766c2e0ccda332198c43c6c797 |
|
MD5 | f901491baa9f9aa92cbe0f564ab6b67c |
|
BLAKE2b-256 | fb6aec9588d08ed8068f93cd468e04a1ec9c2e557771c095f5c259efb9676ec9 |
Hashes for rithm-9.3.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63787c178a7d338ba9dc7712d5c4cbde876042b27acf1ccf54e08375da6ea7e0 |
|
MD5 | 90854247d92519390870363c4795e765 |
|
BLAKE2b-256 | a8aef8241e02b465ee8e3c148bd3d3b609db1362fdd092992d2e71115b7abfcc |
Hashes for rithm-9.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a772c00df03bd78a72f8860b0f527b000a50db6b2c5bcafbc7c14fb0bfe18ad |
|
MD5 | fbb44ebab2151706e36e680a84d065b8 |
|
BLAKE2b-256 | 6971ab7c4972898ac4549acd85ed15a64781ab2c9f2a1f8fa23f9b83a7813eb7 |
Hashes for rithm-9.3.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62ac47bf95f5f4bef947bb4d4544129fb7105c93ee721b75c84259c4d88d1092 |
|
MD5 | 5f415351a254fb1fb461a51b482ec9db |
|
BLAKE2b-256 | 15bcfd7330b6ae9cd7fc22a379d89d12fc157e5d33e93bd6e7f95d5685e255c1 |
Hashes for rithm-9.3.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49ba2393e7e35de0537dd5556d690434770d9362085d7c2c5fd5eee62dd014ba |
|
MD5 | 742131e436f21a5ea6c52e60494084f6 |
|
BLAKE2b-256 | 7b700f3b9970715f1f3ff5ffbd404291b97274e161b9ebf0b48a94bad4fa3a28 |