From 60c867a49cd935e95b735edaace43606aca096e7 Mon Sep 17 00:00:00 2001 From: Christian Cunningham Date: Sun, 21 Aug 2022 18:27:47 -0700 Subject: Move types to its own module --- src/mem/types.rs | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/mem/types.rs (limited to 'src/mem/types.rs') diff --git a/src/mem/types.rs b/src/mem/types.rs new file mode 100644 index 0000000..04522bc --- /dev/null +++ b/src/mem/types.rs @@ -0,0 +1,54 @@ +/// # u256 struct +/// +/// 256 bit size field +#[derive(Copy,Clone)] +pub struct U256(u128,u128); +impl U256 { + pub const fn new() -> Self { + U256(0,0) + } +} + +/// # u512 struct +/// +/// 512 bit size field +#[derive(Copy,Clone)] +pub struct U512(U256,U256); +impl U512 { + pub const fn new() -> Self { + U512(U256::new(), U256::new()) + } +} + +/// # u1024 struct +/// +/// 1024 bit size field +#[derive(Copy,Clone)] +pub struct U1024(U512,U512); +impl U1024 { + pub const fn new() -> Self { + U1024(U512::new(), U512::new()) + } +} + +/// # u2048 struct +/// +/// 2048 bit size field +#[derive(Copy,Clone)] +pub struct U2048(U1024,U1024); +impl U2048 { + pub const fn new() -> Self { + U2048(U1024::new(), U1024::new()) + } +} + +/// # u4096 struct +/// +/// 4096 bit size field +#[derive(Copy,Clone)] +pub struct U4096(U2048,U2048); +impl U4096 { + pub const fn new() -> Self { + U4096(U2048::new(), U2048::new()) + } +} -- cgit v1.2.1