ares/rust/ibig/tests/hash.rs
Edward Amsden a7005c7049 Ares -> Sword (#12)
* Update README.md

* Rename ares -> sword

* Workspace

* Cargo-only CI
2024-08-22 10:46:38 -05:00

27 lines
477 B
Rust

use ibig::ubig;
use std::{
collections::hash_map::DefaultHasher,
hash::{Hash, Hasher},
};
fn hash<T>(x: &T) -> u64
where
T: Hash,
{
let mut hasher = DefaultHasher::new();
x.hash(&mut hasher);
hasher.finish()
}
#[test]
fn test_hash() {
let h = hash(&(ubig!(1) << 1000));
for i in 0..=1000 {
let h2 = hash(&(ubig!(1) << i << (1000 - i)));
assert_eq!(h2, h);
}
let h3 = hash(&(ubig!(2) << 1000));
assert!(h3 != h);
}