From 452b41d51aab26727175e98ae60d49e91ae01b97 Mon Sep 17 00:00:00 2001 From: Hatter Jiang Date: Sat, 30 Jan 2021 10:55:42 +0800 Subject: [PATCH] feat: add uint --- __misc/uint/Cargo.lock | 82 +++++++++++++++++++++++++++++++++++++++++ __misc/uint/Cargo.toml | 13 +++++++ __misc/uint/src/main.rs | 9 +++++ 3 files changed, 104 insertions(+) create mode 100644 __misc/uint/Cargo.lock create mode 100644 __misc/uint/Cargo.toml create mode 100644 __misc/uint/src/main.rs diff --git a/__misc/uint/Cargo.lock b/__misc/uint/Cargo.lock new file mode 100644 index 0000000..deabee4 --- /dev/null +++ b/__misc/uint/Cargo.lock @@ -0,0 +1,82 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +[[package]] +name = "autocfg" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" + +[[package]] +name = "byteorder" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae44d1a3d5a19df61dd0c8beb138458ac2a53a7ac09eba97d55592540004306b" + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "hex" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "644f9158b2f133fd50f5fb3242878846d9eb792e445c893805ff0e3824006e35" + +[[package]] +name = "num-bigint" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e9a41747ae4633fce5adffb4d2e81ffc5e89593cb19917f8fb2cc5ff76507bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-integer" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" +dependencies = [ + "autocfg", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "uint" +version = "0.1.0" +dependencies = [ + "num-bigint", + "num-traits", + "uint 0.9.0", +] + +[[package]] +name = "uint" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e11fe9a9348741cf134085ad57c249508345fe16411b3d7fb4ff2da2f1d6382e" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] diff --git a/__misc/uint/Cargo.toml b/__misc/uint/Cargo.toml new file mode 100644 index 0000000..12a13d4 --- /dev/null +++ b/__misc/uint/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "uint" +version = "0.1.0" +authors = ["Hatter Jiang "] +edition = "2018" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +uint = "0.9.0" +num-bigint = "0.3.1" +num-traits = "0.2.14" + diff --git a/__misc/uint/src/main.rs b/__misc/uint/src/main.rs new file mode 100644 index 0000000..9f58ff8 --- /dev/null +++ b/__misc/uint/src/main.rs @@ -0,0 +1,9 @@ +use num_bigint::BigUint; +use num_traits::{Zero, One}; + +fn main() { + let a: BigUint = Zero::zero(); + let b: BigUint = One::one(); + let c = a.clone() + &b; + println!("{}+{}={}", a, b, c); +}