tesseract v5.3.3.20231005
PreCalculatedPrimeTable Class Reference

#include <prime_tables.h>

Inheritance diagram for PreCalculatedPrimeTable:
PrimeTable

Public Member Functions

 PreCalculatedPrimeTable (int max)
 
 ~PreCalculatedPrimeTable () override
 
bool IsPrime (int n) const override
 
int GetNextPrime (int p) const override
 
- Public Member Functions inherited from PrimeTable
virtual ~PrimeTable ()
 
virtual bool IsPrime (int n) const =0
 
virtual int GetNextPrime (int p) const =0
 

Detailed Description

Definition at line 79 of file prime_tables.h.

Constructor & Destructor Documentation

◆ PreCalculatedPrimeTable()

PreCalculatedPrimeTable::PreCalculatedPrimeTable ( int  max)
inlineexplicit

Definition at line 82 of file prime_tables.h.

83 : is_prime_size_(max + 1), is_prime_(new bool[max + 1]) {
84 CalculatePrimesUpTo(max);
85 }

◆ ~PreCalculatedPrimeTable()

PreCalculatedPrimeTable::~PreCalculatedPrimeTable ( )
inlineoverride

Definition at line 86 of file prime_tables.h.

86{ delete[] is_prime_; }

Member Function Documentation

◆ GetNextPrime()

int PreCalculatedPrimeTable::GetNextPrime ( int  p) const
inlineoverridevirtual

Implements PrimeTable.

Definition at line 92 of file prime_tables.h.

92 {
93 for (int n = p + 1; n < is_prime_size_; n++) {
94 if (is_prime_[n]) return n;
95 }
96
97 return -1;
98 }
const char * p

◆ IsPrime()

bool PreCalculatedPrimeTable::IsPrime ( int  n) const
inlineoverridevirtual

Implements PrimeTable.

Definition at line 88 of file prime_tables.h.

88 {
89 return 0 <= n && n < is_prime_size_ && is_prime_[n];
90 }

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