Module un_algebra::tests::random[][src]

Random value generation for generative tests.

un_algebra generative tests (using proptest) rely on randomly generated values of Rust's built in numeric types. The random module provides convenient proptest generators for one or several built-in integer and floating point types.

This module has a lot of repetitive, boilerplate code. Some kind of nested macros scheme for generating proptest crate prop_compose items would help, but requires either macro token-pasting in function names (which Rust does not support) or placing each prop-compose item into its own module to avoid function name clashes.

I'm not sure that either of these approaches is better than the current endless repeated code.

Constants

F32_EPS

Default testing epsilon for 32 bit FP comparisons.

F64_EPS

Default testing epsilon for 64 bit FP comparisons.

Functions

f32_1

Generate one random f32 value.

f32_2

Generate two random f32 values.

f32_3

Generate three random f32 values.

f32_4

Generate four random f32 values.

f32_6

Generate six random f32 values.

f64_1

Generate one random f64 value.

f64_2

Generate two random f64 values.

f64_3

Generate three random f64 values.

f64_4

Generate four random f64 values.

f64_6

Generate six random f64 values.

i16_1

Generate one random i16 value.

i16_2

Generate two random i16 values.

i16_3

Generate three random i16 values.

i16_4

Generate four random i16 values.

i16_6

Generate six random i16 values.

i32_1

Generate one random i32 value.

i32_2

Generate two random i32 values.

i32_3

Generate three random i32 values.

i32_4

Generate four random i32 values.

i32_6

Generate six random i32 values.

i64_1

Generate one random i64 value.

i64_2

Generate two random i64 values.

i64_3

Generate three random i64 values.

i64_4

Generate four random i64 values.

i64_6

Generate six random i64 values.

i8_1

Generate one random i8 value.

i8_2

Generate two random i8 values.

i8_3

Generate three random i8 values.

i8_4

Generate four random i8 values.

i8_6

Generate six random i8 values.

isize_1

Generate one random isize value.

isize_2

Generate two random isize values.

isize_3

Generate three random isize values.

isize_4

Generate four random isize values.

isize_6

Generate six random isize values.

u16_1

Generate one random u16 value.

u16_2

Generate two random u16 values.

u16_3

Generate three random u16 values.

u16_4

Generate four random u16 values.

u16_6

Generate six random u16 values.

u32_1

Generate one random u32 value.

u32_2

Generate two random u32 values.

u32_3

Generate three random u32 values.

u32_4

Generate four random u32 values.

u32_6

Generate six random u32 values.

u64_1

Generate one random u64 value.

u64_2

Generate two random u64 values.

u64_3

Generate three random u64 values.

u64_4

Generate four random u64 values.

u64_6

Generate six random u64 values.

u8_1

Generate one random u8 value.

u8_2

Generate two random u8 values.

u8_3

Generate three random u8 values.

u8_4

Generate four random u8 values.

u8_6

Generate six random u8 values.

usize_1

Generate one random usize value.

usize_2

Generate two random usize values.

usize_3

Generate three random usize values.

usize_4

Generate four random usize values.

usize_6

Generate six random usize values.

Type Definitions

Four

Handy type alias for a 4-tuple of T values.

One

Handy type alias for a 2-tuple of T values.

Six

Handy type alias for a 6-tuple of T values.

Three

Handy type alias for a 3-tuple of T values.

Two

Handy type alias for a 2-tuple of T values.