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.2.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0522213792fc10c54d933f8ae5d39d3d50104f0bf8ad571f7e82064a8599eb9 |
|
MD5 | 1bbbdce2056ad3e02798b234ba8154d3 |
|
BLAKE2b-256 | ea36f51c44a2d278847f7c5e466204652b0b49229030c48a1af8a79044d817a0 |
Hashes for rithm-10.2.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 586afae1c77a30bb85b73b84a6b80e64a6f0c5e8b21f1af27cc89ab3264c856d |
|
MD5 | be0c316ba2d98e1b63b828ee09c4770b |
|
BLAKE2b-256 | 594772c85a3376be44b37f794dc0ed670ebb2a74a92e53ab4a91e0e179f8cf7a |
Hashes for rithm-10.2.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3baa792259a5ac77f5e471e806eca973ae26099bc5c91174a44cf094711af387 |
|
MD5 | f9b0f521a2b5181e52dda4041e5b4132 |
|
BLAKE2b-256 | deec494bb551479d737262892b12a621778ad76a99644fa450e29d8bd3f0cfb1 |
Hashes for rithm-10.2.0-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c76286767fd94841dd6d8719920d615a711314699513afb4fc6c12b0d35c0414 |
|
MD5 | 14dde2061fa6a050fe19819cdf789532 |
|
BLAKE2b-256 | 5a825ec65e997d64593cbbf2a6d5eed843695dc6eb9266aec2694494a2290f81 |
Hashes for rithm-10.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0401056017418e0edd01603dc29c0ac4e54450c84c21fcf4408a97570c4ee61f |
|
MD5 | 0a43d2a3b1284b1a950f8f10d2d1ec75 |
|
BLAKE2b-256 | 7e5e6cca9cbb1ab500b15d6052b360131ca07812ee37123352ae05dc674ed8d3 |
Hashes for rithm-10.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76bcea35f6cd0d69bef07dba64ff72d1a592174377f4cdf277bc27f00c9756e5 |
|
MD5 | f0d4455e58c5136728a743468f3f978b |
|
BLAKE2b-256 | 025b77d6970f2feca4f22c1a308452e4b6303981162f97c40e8b9ba054048559 |
Hashes for rithm-10.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7d5faea2b1627f4ac9387ca51b3a8d055b28c67453145b6533d4a88bec3adf9 |
|
MD5 | 60317f53c84f424adfa0101b31b9a92d |
|
BLAKE2b-256 | 84bbbd419577b365164ce0e7c077bc45d740ef8154484d74f3714f2d2372814f |
Hashes for rithm-10.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64b0df2382a68c737e64e02e384abb11734afd1dd2d79b19e311bb1a1229ebea |
|
MD5 | 9a2ce98b070b1f27592daf56589e9b4d |
|
BLAKE2b-256 | 9ba03a220d7a66ebdab342a521db1a7d57c5312aa6286958f69d6102d3afabb7 |
Hashes for rithm-10.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98a7463b4878f604a71a72ef4fdc70fa484cafdc2dd716668cea7200f4e6d9fe |
|
MD5 | 7b19767536b228428424943de0872133 |
|
BLAKE2b-256 | 74f52d1789d3ca2ff17a2dc3988b75721c6b544298e3db5fb0f52f4dfc469c03 |
Hashes for rithm-10.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd8c5b2bda538a68e66a4178959a0a2531ef6533e06565d905dce06e69147d90 |
|
MD5 | eb0803cf7366d519274af3ca3d9aa479 |
|
BLAKE2b-256 | 32bc5009c6f8a3efd20101f6ac362d6a75812329bdd6166a78cf41e74668c27c |
Hashes for rithm-10.2.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6390ff1e2584c3963ebb127ee86c7338c22b7066d24a0398281efd0654766f72 |
|
MD5 | 9206f3f1d837e1f3b5a7361897814225 |
|
BLAKE2b-256 | 508933d3cb8bfca47f3334a37733b09f23918cd443d983ccebfbf4d409c6ed91 |
Hashes for rithm-10.2.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1e29782f415b4d972885ce5d7b9fb590704969ca8eb97c45a077aef0c0c85e2 |
|
MD5 | e8e92b6436c2a54b8a0c1c20fbb6104b |
|
BLAKE2b-256 | 699074d429359b0d30b6ce2ec2f5ff3d46f97210c98c2238a3f972e7fdb6a06d |
Hashes for rithm-10.2.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d474fdb5757935134c4b2e5a979ec0ac03d446db5ee4878766b7ac514ddf9630 |
|
MD5 | 1e8085c57c6ab8d8d42c27e0826adcf5 |
|
BLAKE2b-256 | 1cccb13e945fb2a4578ed630c0430d67cd530f795cf75f371a329152147082d1 |
Hashes for rithm-10.2.0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09214701653ce5388319bd335a871860928015d401a0c9147fc1903de4dae9ed |
|
MD5 | a2319340921ed5aeb24a6b25cba9c2ed |
|
BLAKE2b-256 | 3b07eb104c0e801e665a67531d10c494345a77dc1318460bf52c93c187001a54 |
Hashes for rithm-10.2.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53b6f09c58c62203ab5c4b3cd55a827b32db580d13cd1f64a6fd2f770b51d050 |
|
MD5 | 50c13c0cbf12d3125478a441ef924171 |
|
BLAKE2b-256 | 46d9ae628965ce9d406c10f99c99824aa2a6c5de261e0c4f3767a0307d2103a0 |
Hashes for rithm-10.2.0-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f821b6856e0a344a5eafb92697b9ee3791572410025ec7ee9f736c5082142c68 |
|
MD5 | 459ce792a3acca813c810cdcbabc0c5b |
|
BLAKE2b-256 | 61f39039cd3e8886258f5a63bbfd7d2a73f770ff595e40a706a91140a13b9e6c |
Hashes for rithm-10.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 297f0a3ed770a9b8d3d409832960a045a411a8426fce8a6596bc6b7c8ff5d497 |
|
MD5 | bd3d8a45904c349744e3d7f1926095bd |
|
BLAKE2b-256 | a7bf338412596e3143dd42544d5bbfbe2d7251ebf1d8020786d6ca8cc8578b5b |
Hashes for rithm-10.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09bb0aa81e179795e54693b48059cc0b368f68bc988c41498f013b1d9384ffd8 |
|
MD5 | e7fcba9d8fd3347a1fb3bbca24f0fbb1 |
|
BLAKE2b-256 | de23363e4b232a96b605c0943ad97f5eb7506fe1e69cd0f42bd55f33148607f9 |
Hashes for rithm-10.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3f5786bdd0feaae81052e25c27b241f6b2b7618e44ba23883e340f1101abdcd |
|
MD5 | a5e46d3e8f4f8aee29b774e626e2ba03 |
|
BLAKE2b-256 | 67aaf235ca2a53ee791afd4bd8d8d71f0c142d3f662f04b870d4823fc84a02a1 |
Hashes for rithm-10.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb9877e05d99f20ac7c2117e123d8a899a09b11e835529c3ae374a7a97fb919c |
|
MD5 | 559c6ab7ea65088089ae603a95eae220 |
|
BLAKE2b-256 | c9ebfbbec0c49b59d58786f76683241f346173d63ac18f68ec286f4a642c4d83 |
Hashes for rithm-10.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6629860db05e7341c6e6b53e8339a38132a17388535ae18d801c43e6caa75ae |
|
MD5 | 11be4b24c42c0b812bc3d1f8a4f8c848 |
|
BLAKE2b-256 | 57c1d49ed471710c23fc6ca6c910fa12671954169e2cb12817e72ec0ab4530c1 |
Hashes for rithm-10.2.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b5504454c0768e21aa8c7d48941f92d0ad010da8a322ea7f912ceee39367353 |
|
MD5 | 36681297d67c2829c02380b82d7ef7e0 |
|
BLAKE2b-256 | 5b766d43b2c233012b039871233d11e968db72c5faffbd9fdfb4f6d86b7a6655 |
Hashes for rithm-10.2.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e2ae04c1389dfc341d249bffaf9c0c3cd59b28e8b72b4e3a250dc334ba7aafa |
|
MD5 | dea5680aa65c5ecc2c2fb17c572e5cb6 |
|
BLAKE2b-256 | d0a86a51d16b439ecebe4953beffcdd67721ef8433e5e78c887b0d1ec4228715 |
Hashes for rithm-10.2.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e3e41a5bced82a1291aad05432ce766f9382e6837618d368cb09bdfbbec7558 |
|
MD5 | cd57f5838fad468f91b8b48a308a38fe |
|
BLAKE2b-256 | e208e103c34703346e1a8fb11648c9f9efb514c2a21858a966885271b10bc879 |
Hashes for rithm-10.2.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9dc582f52aa6ea81e6e36d18b05def5627681191d109e84a13712a4717b858c1 |
|
MD5 | d065e075f1b5fe00489a89d8355273d3 |
|
BLAKE2b-256 | dda29cde0974eefffa2d669b67d1b15b88ddb084f1718fbfaa489f3d773bba7a |
Hashes for rithm-10.2.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e128c0b7680a2a693309587de33fbb28b7164153139e4034ca6966ad8797c9ef |
|
MD5 | b16660183c98b836a498996e38d79edd |
|
BLAKE2b-256 | 17cc2e91c012ed28b11a93e1f9617eaca61c5d15ebe4bd9e3db19ff57e9d1c15 |
Hashes for rithm-10.2.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f73a354629f7797938aedf023a9cb6c4113e513389dee388c7b9da6e984f287 |
|
MD5 | d3864321c9326c7bf2591b8a7ca521ab |
|
BLAKE2b-256 | b6cc221bc901c718dd49ae8f556ec448ea80d1316d011fc879e7c5e383b3f0c7 |
Hashes for rithm-10.2.0-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9a54b8f93dfda5de0974d9be6d15ecf353b72d8f62f40b4e84710ce14b260c9 |
|
MD5 | 9b45b88682523b0e1d83ad0fbdfb3be0 |
|
BLAKE2b-256 | d9db84ee196ed40dbdaeaef713c6d38bd3e83255c4aeb91ed31511a6f2611780 |
Hashes for rithm-10.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4ee0553f957638a7b3799e9f61824f15bdc799bf909ddae8f46435673640d9b |
|
MD5 | 070d16c4fceb899f812f09fc4a058cf0 |
|
BLAKE2b-256 | 21117a8b50125a99a810161994d225c85b5319120fcefd69575e0f83acfbf96f |
Hashes for rithm-10.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1909914acc806e390d3cf7a346ccb0e46cca5c16a2722cd7cb60a1bc89a6fac0 |
|
MD5 | 9ec5f527a16e7cde49a3d8ff6c6e861e |
|
BLAKE2b-256 | 136807849271155d79ad98dd2835b52461a6f95aa56d44f2b8d7625f3cd872ee |
Hashes for rithm-10.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c42a6fd7e7e160d51bbc5968131ccf4ffefb054abc704f0996aa8677213e61f0 |
|
MD5 | 6c8b5cf801a3e778896bea53c1fe891c |
|
BLAKE2b-256 | 978996a1acf2e07e8b8d625700f46f81220a265a0970f09f8b510b9b61adcc3e |
Hashes for rithm-10.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c388a268406ae18709a6b8dffbdc721b39f96152e3b0f4e191b0c699a1fd861 |
|
MD5 | d375fe464f362dc15ba9e4b61312b02f |
|
BLAKE2b-256 | f214959a36f18674c65fb62d8dd8a58c44a482c09b12f5ff1f0dcce1914e4d6a |
Hashes for rithm-10.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 605380f5c2d2e68cfb4a5ce04e42962920a054017eb6822a7c8eb198f8eb71c8 |
|
MD5 | 28d1101a78815010ca7ebbab632bde32 |
|
BLAKE2b-256 | f9ac9f41c892a27d4fba9c74ddf82f0e3e362f5e14459f045d0e06eb1e6579c3 |
Hashes for rithm-10.2.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42378ee0c896078eb587efc52703262ed7c233ac887ee1f6f61b49787c4a6338 |
|
MD5 | 559e7a11067cffba219b7c718c94e1a0 |
|
BLAKE2b-256 | 37c3cb3c6d11a2201ee02847b07a4d3ab4a53ed5db0743962edf11d5936b6ffd |
Hashes for rithm-10.2.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e03b96f90da78da1c9162711552b7d1cb3acee8d255049d6ed895d162b3c8dcf |
|
MD5 | 6e82354f85342647f76369abd81f401c |
|
BLAKE2b-256 | 77655ab4bcd05684ec5b821c6bd88800e197f55d7dd531ff947efdb81483d928 |
Hashes for rithm-10.2.0-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ccfc20115500e7593dd18af8538a93df9414876a0b6cc499cfa164cfd39db185 |
|
MD5 | 2dccfb85a20864546ccf147f7dc44fe7 |
|
BLAKE2b-256 | d641d8ebe4d9744ab592910aa2a1eac7ecae687f6a67232aa0f5d803e42d64ca |
Hashes for rithm-10.2.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d07482ab392de229ddacff5a5bcf7f88a1697f7ed760494c94914cf4f686d1c2 |
|
MD5 | 58b0a96cfa10b2fd660630c2a5193d78 |
|
BLAKE2b-256 | 84ef867b4b2b07bc485e002e21c655d099107f685797f45dc25bdb3b3254db97 |
Hashes for rithm-10.2.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9728700cab9d0697fb017c9d3c84a0fefc93b19a562eca3f5603985efaf83a7a |
|
MD5 | 56f927d6b1e61d26192bb359e0d2629c |
|
BLAKE2b-256 | 863b5783fb6cdefab4d3e0fe715e856b4584a2083f124fa3198ab55b5833aa36 |
Hashes for rithm-10.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6203dd813c4c01ad513ac273ce6b08eaf9866bbea9a6628d8fdc4d41bf1b5d3f |
|
MD5 | 72203a45ba3296d536fe3e8aff13ead8 |
|
BLAKE2b-256 | c8c759541a9390d43fff2d196800e43cea16f3d63f712c6f3f9f84654655701e |
Hashes for rithm-10.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c19c2ac7140e4354d58ced1cac7587b01457797bec86f3c237000420c057d77 |
|
MD5 | 7395e283047ce452b0d5aea9811a051a |
|
BLAKE2b-256 | 07ca4396b867f555c0bd14165b54228e4d1d6f44709af821b5d4c9ae6ace7559 |
Hashes for rithm-10.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab9fb975c151a7bfe934b01e1ed851d7c8476a90d8e344edaa2a84286de90a85 |
|
MD5 | a4c8ab0148b7b0636274d975838d2681 |
|
BLAKE2b-256 | 8a8e70fb9c85923c5c8e641e7d72a098ad691b1563e1ae33da86c03e357a9c91 |
Hashes for rithm-10.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7806d2dbafdc651a15e53d474d3dfd209270fd8be84abf6c6e78522f1ab78f6 |
|
MD5 | 25c063cf0cd997490aa912bf5bb1dd06 |
|
BLAKE2b-256 | 181a9c39f5d80688014bcd1d812d935e7b242817dce4fa24f963eb6d95d7e766 |
Hashes for rithm-10.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5ae73529a91be084350af86a903c46438c87732c250876e6b9a63939e183bef |
|
MD5 | faacb35e7cca09728314ec87ec7736bf |
|
BLAKE2b-256 | 1e0520f013dd4d39380c7455d1a14a05bf89ca82cf766fdee63c095324d8b62f |
Hashes for rithm-10.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e496423fcd0cc571f9c137122799bee9ef5db3b8409c0b3bd4b9f322b2115333 |
|
MD5 | 8170b86ac82f4dababb518bd1952af46 |
|
BLAKE2b-256 | 56e16bf0e770b5176b65cbd144e1251af3feaaaff91c64ecef3d7d8493d4b01b |
Hashes for rithm-10.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b19e51e297000dc0b9e37345b5bc6e385c3adcecff8bd33f27b9901f1bfa60c1 |
|
MD5 | ddf548f458e9098c43d39e544f8a9b84 |
|
BLAKE2b-256 | fa717e4720f8a8b51370784e86b6f51c89b7f23e5fa98efce8b5b1e4cbe00303 |
Hashes for rithm-10.2.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 484ff7649a00a3cd7e4e21fba17e1f9eec4c05e84337e8b6a1785aced6743022 |
|
MD5 | 50a336ddc223a1cee7cf320d6abec794 |
|
BLAKE2b-256 | dec20a35f96cf5605f26ab8b631bf2c245faa9d95d23f903213b644d12a77d6e |