OpenVDB 10.0.1
Loading...
Searching...
No Matches
Public Member Functions | List of all members
RandInt< IntType, EngineType > Class Template Reference

Simple random integer generator. More...

#include <openvdb/math/Math.h>

Public Member Functions

 RandInt (const EngineType &engine, IntType imin, IntType imax)
 Initialize the generator.
 
 RandInt (unsigned int seed, IntType imin, IntType imax)
 Initialize the generator.
 
void setRange (IntType imin, IntType imax)
 Change the range over which integers are distributed to [imin, imax].
 
void setSeed (unsigned int seed)
 Set the seed value for the random number generator.
 
const EngineType & engine () const
 Return a const reference to the random number generator.
 
IntType operator() ()
 Return a randomly-generated integer in the current range.
 
IntType operator() (IntType imin, IntType imax)
 Return a randomly-generated integer in the new range [imin, imax], without changing the current range.
 

Detailed Description

template<typename IntType = int, typename EngineType = std::mt19937>
class openvdb::v10_0::math::RandInt< IntType, EngineType >

Simple random integer generator.

Thread-safe as long as each thread has its own RandInt instance

Constructor & Destructor Documentation

◆ RandInt() [1/2]

template<typename IntType = int, typename EngineType = std::mt19937>
RandInt ( const EngineType &  engine,
IntType  imin,
IntType  imax 
)
inline

Initialize the generator.

Parameters
enginerandom number generator
imin,imaxgenerate integers that are uniformly distributed over [imin, imax]

◆ RandInt() [2/2]

template<typename IntType = int, typename EngineType = std::mt19937>
RandInt ( unsigned int  seed,
IntType  imin,
IntType  imax 
)
inline

Initialize the generator.

Parameters
seedseed value for the random number generator
imin,imaxgenerate integers that are uniformly distributed over [imin, imax]

Member Function Documentation

◆ engine()

template<typename IntType = int, typename EngineType = std::mt19937>
const EngineType & engine ( ) const
inline

Return a const reference to the random number generator.

◆ operator()() [1/2]

template<typename IntType = int, typename EngineType = std::mt19937>
IntType operator() ( )
inline

Return a randomly-generated integer in the current range.

◆ operator()() [2/2]

template<typename IntType = int, typename EngineType = std::mt19937>
IntType operator() ( IntType  imin,
IntType  imax 
)
inline

Return a randomly-generated integer in the new range [imin, imax], without changing the current range.

◆ setRange()

template<typename IntType = int, typename EngineType = std::mt19937>
void setRange ( IntType  imin,
IntType  imax 
)
inline

Change the range over which integers are distributed to [imin, imax].

◆ setSeed()

template<typename IntType = int, typename EngineType = std::mt19937>
void setSeed ( unsigned int  seed)
inline

Set the seed value for the random number generator.