From bf2f89ea6c29a3df768636973535fe784078c581 Mon Sep 17 00:00:00 2001 From: Hatter Jiang Date: Sun, 3 May 2020 00:13:51 +0800 Subject: [PATCH] add rand --- random/.gitignore | 1 + random/Cargo.lock | 85 ++++++++++++++++++++++++++++++++++++++++++++++ random/Cargo.toml | 12 +++++++ random/src/main.rs | 21 ++++++++++++ 4 files changed, 119 insertions(+) create mode 100644 random/.gitignore create mode 100644 random/Cargo.lock create mode 100644 random/Cargo.toml create mode 100644 random/src/main.rs diff --git a/random/.gitignore b/random/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/random/.gitignore @@ -0,0 +1 @@ +/target diff --git a/random/Cargo.lock b/random/Cargo.lock new file mode 100644 index 0000000..db236ca --- /dev/null +++ b/random/Cargo.lock @@ -0,0 +1,85 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +[[package]] +name = "cfg-if" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" + +[[package]] +name = "getrandom" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "libc" +version = "0.2.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99e85c08494b21a9054e7fe1374a732aeadaff3980b6990b94bfd3a70f690005" + +[[package]] +name = "ppv-lite86" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b" + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom", + "libc", + "rand_chacha", + "rand_core", + "rand_hc", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core", +] + +[[package]] +name = "random" +version = "0.1.0" +dependencies = [ + "rand", + "rand_core", +] + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" diff --git a/random/Cargo.toml b/random/Cargo.toml new file mode 100644 index 0000000..d34d53f --- /dev/null +++ b/random/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "random" +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] +rand = "0.7.3" +rand_core = "0.5.1" + diff --git a/random/src/main.rs b/random/src/main.rs new file mode 100644 index 0000000..8392e03 --- /dev/null +++ b/random/src/main.rs @@ -0,0 +1,21 @@ +use rand::distributions::{ + Distribution, Uniform, +}; +use rand_core::RngCore; + +fn main() { + let mut rng = rand::thread_rng(); + + println!("10 rands u32"); + for _ in 0..10 { + let u = rng.next_u32(); + println!("{}", u); + } + + println!("10 rands -1.0 ~ 1.0"); + let range = Uniform::new(-1.0f64, 1.0); + for _ in 0..10 { + let a = range.sample(&mut rng); + println!("{}", a); + } +} \ No newline at end of file