FBB::RandomMT(3bobcat)

Random Generator using std::mt19937
(libbobcat-dev_6.02.02)

2005-2022

NAME

FBB::RandomMT - Class template generating random numbers

SYNOPSIS

#include <bobcat/randommt>
Linking option: -lbobcat

DESCRIPTION

The class template RandomMT uses the std::mt19937 Mercenne Twister to produce random numbers. The class template has one template type parameter, which can be any integral or floating point type. By default size_t-valued random numbers are generated.

NAMESPACE

FBB
All constructors, members, operators and manipulators, mentioned in this man-page, are defined in the namespace FBB.

INHERITS FROM

-

CONSTRUCTORS

The default copy and move constructors and assignment operators are available.

OVERLOADED OPERATORS

EXAMPLE

#include <iostream>

#include <bobcat/randommt>

using namespace std;
using namespace FBB;

int main(int argc, char **argv)
try
{
    if (argc == 1)
    {
        cout << "arg[1]: minimum value, arg[2]: maximum value,\n"
                "arg[3]: (optional) seed (or time(0))\n";
        return 0;
    }

    // specify, e.g., RandomMt<double> to generate random double values
    RandomMT<> rmt( stoull(argv[1]), stoull(argv[2]),
                  argc >= 4 ? stoull(argv[3]) : time(0) );

    while (true)
    {
        cout << rmt() << "\n"
                "Enter: next";
        cin.ignore(1000, '\n');
    }

}
catch (exception const &exc)
{
    cerr << exc.what() << '\n';
}

FILES

bobcat/randommt - defines the class interface

SEE ALSO

bobcat(7), irandstream(3bobcat), rand(3), randbuf(3bobcat), srand(3)

BUGS

None Reported.

BOBCAT PROJECT FILES

BOBCAT

Bobcat is an acronym of `Brokken's Own Base Classes And Templates'.

COPYRIGHT

This is free software, distributed under the terms of the GNU General Public License (GPL).

AUTHOR

Frank B. Brokken (f.b.brokken@rug.nl).