tesseract  4.1.1
tesseract::TRand Class Reference

#include <helpers.h>

Public Member Functions

 TRand ()=default
 
void set_seed (uint64_t seed)
 
void set_seed (const std::string &str)
 
int32_t IntRand ()
 
double SignedRand (double range)
 
double UnsignedRand (double range)
 

Detailed Description

Definition at line 36 of file helpers.h.

Constructor & Destructor Documentation

◆ TRand()

tesseract::TRand::TRand ( )
default

Member Function Documentation

◆ IntRand()

int32_t tesseract::TRand::IntRand ( )
inline

Definition at line 50 of file helpers.h.

50  {
51  Iterate();
52  return seed_ >> 33;
53  }

◆ set_seed() [1/2]

void tesseract::TRand::set_seed ( const std::string &  str)
inline

Definition at line 44 of file helpers.h.

44  {
45  std::hash<std::string> hasher;
46  set_seed(static_cast<uint64_t>(hasher(str)));
47  }
void set_seed(uint64_t seed)
Definition: helpers.h:40

◆ set_seed() [2/2]

void tesseract::TRand::set_seed ( uint64_t  seed)
inline

Definition at line 40 of file helpers.h.

40  {
41  seed_ = seed;
42  }

◆ SignedRand()

double tesseract::TRand::SignedRand ( double  range)
inline

Definition at line 55 of file helpers.h.

55  {
56  return range * 2.0 * IntRand() / INT32_MAX - range;
57  }
int32_t IntRand()
Definition: helpers.h:50

◆ UnsignedRand()

double tesseract::TRand::UnsignedRand ( double  range)
inline

Definition at line 59 of file helpers.h.

59  {
60  return range * IntRand() / INT32_MAX;
61  }

The documentation for this class was generated from the following file: