My Project  UNKNOWN_GIT_VERSION
Public Member Functions | Private Attributes
FFGenerator Class Reference

generate all elements in F_p starting from 0 More...

#include <cf_generator.h>

Public Member Functions

 FFGenerator ()
 
 ~FFGenerator ()
 
bool hasItems () const
 
void reset ()
 
CanonicalForm item () const
 
void next ()
 
void operator++ ()
 
void operator++ (int)
 
CFGeneratorclone () const
 
 FFGenerator ()
 
 ~FFGenerator ()
 
bool hasItems () const
 
void reset ()
 
CanonicalForm item () const
 
void next ()
 
void operator++ ()
 
void operator++ (int)
 
CFGeneratorclone () const
 
 FFGenerator ()
 
 ~FFGenerator ()
 
bool hasItems () const
 
void reset ()
 
CanonicalForm item () const
 
void next ()
 
void operator++ ()
 
void operator++ (int)
 
CFGeneratorclone () const
 
- Public Member Functions inherited from CFGenerator
 CFGenerator ()
 
virtual ~CFGenerator ()
 
 CFGenerator ()
 
virtual ~CFGenerator ()
 
 CFGenerator ()
 
virtual ~CFGenerator ()
 

Private Attributes

int current
 

Detailed Description

generate all elements in F_p starting from 0

Definition at line 55 of file cf_generator.h.

Constructor & Destructor Documentation

◆ FFGenerator() [1/3]

FFGenerator::FFGenerator ( )
inline

Definition at line 60 of file cf_generator.h.

60 : current(0) {}

◆ ~FFGenerator() [1/3]

FFGenerator::~FFGenerator ( )
inline

Definition at line 61 of file cf_generator.h.

61 {}

◆ FFGenerator() [2/3]

FFGenerator::FFGenerator ( )
inline

Definition at line 713 of file factory.h.

713 : current(0) {}

◆ ~FFGenerator() [2/3]

FFGenerator::~FFGenerator ( )
inline

Definition at line 714 of file factory.h.

714 {}

◆ FFGenerator() [3/3]

FFGenerator::FFGenerator ( )
inline

Definition at line 713 of file factory.h.

713 : current(0) {}

◆ ~FFGenerator() [3/3]

FFGenerator::~FFGenerator ( )
inline

Definition at line 714 of file factory.h.

714 {}

Member Function Documentation

◆ clone() [1/3]

CFGenerator * FFGenerator::clone ( ) const
virtual

Reimplemented from CFGenerator.

Definition at line 52 of file cf_generator.cc.

53 {
54  return new FFGenerator();
55 }

◆ clone() [2/3]

CFGenerator* FFGenerator::clone ( ) const
virtual

Reimplemented from CFGenerator.

◆ clone() [3/3]

CFGenerator* FFGenerator::clone ( ) const
virtual

Reimplemented from CFGenerator.

◆ hasItems() [1/3]

bool FFGenerator::hasItems ( ) const
virtual

Reimplemented from CFGenerator.

Definition at line 35 of file cf_generator.cc.

36 {
37  return current < ff_prime;
38 }

◆ hasItems() [2/3]

bool FFGenerator::hasItems ( ) const
virtual

Reimplemented from CFGenerator.

◆ hasItems() [3/3]

bool FFGenerator::hasItems ( ) const
virtual

Reimplemented from CFGenerator.

◆ item() [1/3]

CanonicalForm FFGenerator::item ( ) const
virtual

Reimplemented from CFGenerator.

Definition at line 40 of file cf_generator.cc.

41 {
42  ASSERT( current < ff_prime, "no more items" );
43  return CanonicalForm( int2imm_p( current ) );
44 }

◆ item() [2/3]

CanonicalForm FFGenerator::item ( ) const
virtual

Reimplemented from CFGenerator.

◆ item() [3/3]

CanonicalForm FFGenerator::item ( ) const
virtual

Reimplemented from CFGenerator.

◆ next() [1/3]

void FFGenerator::next ( )
virtual

Reimplemented from CFGenerator.

Definition at line 46 of file cf_generator.cc.

47 {
48  ASSERT( current < ff_prime, "no more items" );
49  current++;
50 }

◆ next() [2/3]

void FFGenerator::next ( )
virtual

Reimplemented from CFGenerator.

◆ next() [3/3]

void FFGenerator::next ( )
virtual

Reimplemented from CFGenerator.

◆ operator++() [1/6]

void FFGenerator::operator++ ( )
inline

Definition at line 66 of file cf_generator.h.

66 { next(); }

◆ operator++() [2/6]

void FFGenerator::operator++ ( )
inline

Definition at line 719 of file factory.h.

719 { next(); }

◆ operator++() [3/6]

void FFGenerator::operator++ ( )
inline

Definition at line 719 of file factory.h.

719 { next(); }

◆ operator++() [4/6]

void FFGenerator::operator++ ( int  )
inline

Definition at line 67 of file cf_generator.h.

67 { next(); }

◆ operator++() [5/6]

void FFGenerator::operator++ ( int  )
inline

Definition at line 720 of file factory.h.

720 { next(); }

◆ operator++() [6/6]

void FFGenerator::operator++ ( int  )
inline

Definition at line 720 of file factory.h.

720 { next(); }

◆ reset() [1/3]

void FFGenerator::reset ( )
inlinevirtual

Reimplemented from CFGenerator.

Definition at line 63 of file cf_generator.h.

63 { current = 0; }

◆ reset() [2/3]

void FFGenerator::reset ( )
inlinevirtual

Reimplemented from CFGenerator.

Definition at line 716 of file factory.h.

716 { current = 0; }

◆ reset() [3/3]

void FFGenerator::reset ( )
inlinevirtual

Reimplemented from CFGenerator.

Definition at line 716 of file factory.h.

716 { current = 0; }

Field Documentation

◆ current

int FFGenerator::current
private

Definition at line 58 of file cf_generator.h.


The documentation for this class was generated from the following files:
CanonicalForm
factory's main class
Definition: canonicalform.h:77
ASSERT
#define ASSERT(expression, message)
Definition: cf_assert.h:99
FFGenerator::FFGenerator
FFGenerator()
Definition: cf_generator.h:60
FFGenerator::next
void next()
Definition: cf_generator.cc:46
FFGenerator::current
int current
Definition: cf_generator.h:58
int2imm_p
InternalCF * int2imm_p(long i)
Definition: imm.h:101
ff_prime
int ff_prime
Definition: ffops.cc:14