tesseract v5.3.3.20231005
OnTheFlyPrimeTable Class Reference

#include <prime_tables.h>

Inheritance diagram for OnTheFlyPrimeTable:
PrimeTable

Public Member Functions

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 55 of file prime_tables.h.

Member Function Documentation

◆ GetNextPrime()

int OnTheFlyPrimeTable::GetNextPrime ( int  p) const
inlineoverridevirtual

Implements PrimeTable.

Definition at line 68 of file prime_tables.h.

68 {
69 if (p < 0) return -1;
70
71 for (int n = p + 1;; n++) {
72 if (IsPrime(n)) return n;
73 }
74 }
const char * p
bool IsPrime(int n) const override
Definition: prime_tables.h:57

◆ IsPrime()

bool OnTheFlyPrimeTable::IsPrime ( int  n) const
inlineoverridevirtual

Implements PrimeTable.

Definition at line 57 of file prime_tables.h.

57 {
58 if (n <= 1) return false;
59
60 for (int i = 2; i*i <= n; i++) {
61 // n is divisible by an integer other than 1 and itself.
62 if ((n % i) == 0) return false;
63 }
64
65 return true;
66 }

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