Struct randomorg::Random
[−]
[src]
pub struct Random { /* fields omitted */ }
A random.org api client.
Methods
impl Random
[src]
fn new<S: Into<String>>(api_key: S) -> Result<Random>
Creates new random.org client.
Usage
extern crate randomorg; fn main() { use randomorg::Random; let r = Random::new("API KEY HERE").unwrap(); }
fn generate_integers(
&self,
min: i32,
max: i32,
limit: u16,
replacement: bool
) -> Result<Response<GenerateIntegersResult>>
&self,
min: i32,
max: i32,
limit: u16,
replacement: bool
) -> Result<Response<GenerateIntegersResult>>
This method generates true random integers within a user-defined range.
Usage
extern crate randomorg; fn main() { use randomorg::Random; let r = Random::new("API KEY HERE").unwrap(); println!("Result: {:?}", r.generate_integers(-100, 100, 15, true)); }
Constraints
min
must be within [-1e9; 1e9] rangemax
must be within [-1e9; 1e9] rangelimit
must be within [1; 1e4] range
fn generate_decimal_fractions(
&self,
limit: u16,
decimal_places: u8
) -> Result<Response<GenerateDecimalFractionsResult>>
&self,
limit: u16,
decimal_places: u8
) -> Result<Response<GenerateDecimalFractionsResult>>
This method generates true random decimal fractions from a uniform distribution across the [0,1] interval with a user-defined number of decimal places.
Usage
extern crate randomorg; fn main() { use randomorg::Random; let r = Random::new("API KEY HERE").unwrap(); println!("Result: {:?}", r.generate_decimal_fractions(10, 8)); }
Constraints
limit
must be within [1; 1e4] rangedecimal_places
must be within [1; 20] range
fn generate_gaussians(
&self,
limit: u16,
mean: i32,
standard_deviation: i32,
significant_digits: u8
) -> Result<Response<GenerateGaussiansResult>>
&self,
limit: u16,
mean: i32,
standard_deviation: i32,
significant_digits: u8
) -> Result<Response<GenerateGaussiansResult>>
This method generates true random numbers from a Gaussian distribution (also known as a normal distribution). The form uses a Box-Muller Transform to generate the Gaussian distribution from uniformly distributed numbers.
Usage
extern crate randomorg; fn main() { use randomorg::Random; let r = Random::new("API KEY HERE").unwrap(); println!("Result: {:?}", r.generate_gaussians(2000, 1100, 100, 4)); }
Constraints
limit
must be within [1; 1e4] rangemean
must be within [-1e6; 1e6] rangestandard_deviation
must be within [-1e6; 1e6] rangesignificant_digits
must be within [2; 20] range
fn generate_strings(
&self,
limit: u16,
length: u8,
characters: AllowedCharacters
) -> Result<Response<GenerateStringsResult>>
&self,
limit: u16,
length: u8,
characters: AllowedCharacters
) -> Result<Response<GenerateStringsResult>>
This method generates true random strings.
Usage
extern crate randomorg; fn main() { use randomorg::{ Random, AllowedCharacters }; use std::collections::BTreeSet; let chars = "abcde".chars().collect::<BTreeSet<char>>(); let r = Random::new("API KEY HERE").unwrap(); println!("Result: {:?}", r.generate_strings(5, 10, AllowedCharacters(chars))); }
Constraints
limit
must be within [1; 1e4] rangelength
must be within [1; 20] rangecharacters
must contain maximum 80 characters.
fn generate_uuids(&self, limit: u16) -> Result<Response<GenerateUUIDsResult>>
This method generates version 4 true random Universally Unique IDentifiers (UUIDs) in accordance with section 4.4 of RFC 4122.
Usage
extern crate randomorg; fn main() { use randomorg::Random; let r = Random::new("API KEY HERE").unwrap(); println!("Result: {:?}", r.generate_uuids(5)); }
Constraints
limit
must be within [1; 1e3] range
fn generate_blobs(
&self,
limit: u16,
size: u32
) -> Result<Response<GenerateBlobsResult>>
&self,
limit: u16,
size: u32
) -> Result<Response<GenerateBlobsResult>>
This method generates Binary Large OBjects (BLOBs) containing true random data.
Usage
extern crate randomorg; fn main() { use randomorg::Random; let r = Random::new("API KEY HERE").unwrap(); println!("Result: {:?}", r.generate_blobs(5, 16)); }
Constraints
limit
must be within [1; 100] rangesize
must be within [1, 1048576] range
fn get_usage(&self) -> Result<Response<GetUsageResult>>
Returns information related to the usage of a given API key.
Usage
extern crate randomorg; fn main() { use randomorg::Random; let r = Random::new("API KEY HERE").unwrap(); println!("Result: {:?}", r.get_usage()); }