# vcsn::misc::random Namespace Reference

The namespace for the random generation tools. More...

## Functions

template<typename T >
T | generate ()
| Generate a random value.
template<typename T >
T | generate (T min, T max)
| Generate a random value between bounds.
template<>
char | generate< char > ()
| Generate a random character.
template<>
char | generate< char > (char min, char max)
| Generate a random character between bounds.
char | generate_letter ()
| Generate a random lowercase letter.
char | generate_digit ()
| Generate a random digit.
template<>
bool | generate< bool > ()
| Generate a random Boolean.
template<>
int | generate< int > ()
| Generate a random integer.
template<>
int | generate< int > (int min, int max)
| Generate a random integer between two bounds.
template<>
unsigned | generate< unsigned > ()
| Generate a random unsigned integer.
template<>
unsigned | generate< unsigned > (unsigned min, unsigned max)
| Generate a random unsigned between two bounds.
template<>
float | generate< float > ()
| Generate a random float between -2 and 2.
template<>
float | generate< float > (float min, float max)
| Generate a random float between min and max.
template<>
double | generate< double > ()
| Generate a random double between -2 and 2.
template<>
double | generate< double > (double min, double max)
| Generate a random double between min and max.
template<class IteratorValueType , class InputIterator , class OutputIterator >
void | sample_n (const IteratorValueType &, InputIterator first, InputIterator end, OutputIterator out, unsigned n)
| Generate of n sample from a range to an output iterator.
template<>
vcsn::algebra::RationalNumber | generate< vcsn::algebra::RationalNumber > ()
| Generate a random rational number.
template<>
vcsn::algebra::RationalNumber | generate< vcsn::algebra::RationalNumber > (const vcsn::algebra::RationalNumber min, const vcsn::algebra::RationalNumber max)
| Generates a bounded random rational number.

## Small alphabetic letters random generation tools.

typedef vcsn::algebra::static_char_interval <'a', 'z'> | small_alpha_interval_t
typedef vcsn::algebra::static_ranged < char, small_alpha_interval_t > | small_alpha_letter_t
template<>
small_alpha_letter_t | generate< small_alpha_letter_t > ()
| Generates a random small alphabetic letter.

## Detailed Description

The namespace for the random generation tools.