stack_test_randomx 0.1.1

rust randomx.
Documentation
use bigint::uint::U256;
use std::mem::transmute;

pub fn from_u32_to_U256(v: &[u32; 8]) -> U256 {
	let vu64: [u64; 4] = unsafe { transmute(*v) };

	U256(vu64)
}

#[cfg(test)]
mod test {
	use bigint::uint::U256;
	#[test]
	fn test_u32_to_u256() {
		let v = [1; 8];
		let result = crate::utils::from_u32_to_U256(&v);
		let expected: U256 = (0..8).fold(U256::from(0), |acc, i| {
			acc + U256::from(2).pow(U256::from(i * 32))
		});
		assert_eq!(expected, result);
		assert_eq!([1; 8], v);
	}

	#[test]
	fn test_u32_to_u256_simple() {
		let mut v = [0; 8];
		v[0] = 1;
		let result = crate::utils::from_u32_to_U256(&v);
		let expected = U256::from(1);
		assert_eq!(expected, result);
	}
}