aboutsummaryrefslogtreecommitdiff
path: root/src/mem/types.rs
diff options
context:
space:
mode:
authorChristian Cunningham <cc@localhost>2022-08-21 18:27:47 -0700
committerChristian Cunningham <cc@localhost>2022-08-21 18:27:47 -0700
commit60c867a49cd935e95b735edaace43606aca096e7 (patch)
tree2cdd278385c80b820e85656349acf2d15baceefd /src/mem/types.rs
parent844ca958e6462cea5478135887e9540c6f4e4024 (diff)
Move types to its own module
Diffstat (limited to 'src/mem/types.rs')
-rw-r--r--src/mem/types.rs54
1 files changed, 54 insertions, 0 deletions
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())
+ }
+}