Main   Namespaces   Classes   Hierarchy   Annotated   Files   Compound   Global   Pages  

HashedPatternSet Class Reference

Hashes patterns by ring godel; use for fast checking. More...

#include <HashedPatternSet.hpp>

List of all members.

Public Member Functions

 HashedPatternSet ()
 Creates empty set of hashed patterns.
 ~HashedPatternSet ()
 Destructor.
void hash (const PatternSet &patterns)
 Hashes the given patterns.
const RotatedPatternListListForGodel (const RingGodel &godel) const
 Returns list of rotated patterns for godel.

Private Attributes

std::vector< RotatedPatternListm_godel_list
 Will contain a RotatedPatternList for each of RingGodel::ValidGodels().

Detailed Description

Hashes patterns by ring godel; use for fast checking.

For each valid ring godel, a list of RotatedPatterns is pre-computed from the given PatternSet. This allows PatternBoard to check if a set of patterns matches a cell extremely quickly; especially if the patterns have a max extension of one, since in that case no checking is actually required!

Definition at line 24 of file HashedPatternSet.hpp.


Constructor & Destructor Documentation

HashedPatternSet::HashedPatternSet (  ) 

Creates empty set of hashed patterns.

Definition at line 12 of file HashedPatternSet.cpp.

HashedPatternSet::~HashedPatternSet (  ) 

Destructor.

Definition at line 17 of file HashedPatternSet.cpp.


Member Function Documentation

void HashedPatternSet::hash ( const PatternSet patterns  ) 
const RotatedPatternList & HashedPatternSet::ListForGodel ( const RingGodel godel  )  const

Returns list of rotated patterns for godel.

Definition at line 22 of file HashedPatternSet.cpp.

References RingGodel::Index(), and m_godel_list.

Referenced by PatternState::MatchOnCell().


Member Data Documentation

Will contain a RotatedPatternList for each of RingGodel::ValidGodels().

Definition at line 44 of file HashedPatternSet.hpp.

Referenced by hash(), and ListForGodel().


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


6 Jan 2011 Doxygen 1.6.3