A general class for the MM* bitmap-based engines. More...
#include <engines.h>
Public Member Functions | |
virtual int | speed () const =0 |
The speed of the engine: The higher the number, the better. | |
bool | dimsupported (int dim) const |
Is this dimension supported by this engine? | |
int | memory (const cubfile &X) const |
Rough memory usage estimate for a single set of cubes. | |
bool | relative () const |
Does this engine compute relative homology? | |
bool | elementary () const |
Is this engine capable of processing elementary cubes? | |
bool | spacewrapping () const |
Does this engine support space wrapping? | |
virtual void | homology (const cubfile &x, algstruct< chomp::homology::integer > &h) const =0 |
Compute the homology of the given set of cubes. | |
void | homology (const cubfile &x, const cubfile &y, algstruct< chomp::homology::integer > &h) const |
Compute the relative homology of the given pair of sets of cubes. | |
virtual const char * | name () const =0 |
The name of the engine to be used in the command line. | |
virtual std::ostream & | describe (std::ostream &out) const =0 |
Describes this particular engine. | |
Protected Member Functions | |
MMengine () | |
The default constructor. | |
~MMengine () | |
The destructor. |
A general class for the MM* bitmap-based engines.
Definition at line 409 of file engines.h.
chomp::homengin::MMengine::MMengine | ( | ) | [inline, protected] |
chomp::homengin::MMengine::~MMengine | ( | ) | [inline, protected] |
virtual std::ostream& chomp::homengin::MMengine::describe | ( | std::ostream & | out | ) | const [pure virtual] |
Describes this particular engine.
Reimplemented from chomp::homengin::engine.
Implemented in chomp::homengin::MM_CRengine, chomp::homengin::MM_ARengine, and chomp::homengin::MM_ASLTengine.
bool chomp::homengin::MMengine::dimsupported | ( | int | dim | ) | const [inline, virtual] |
Is this dimension supported by this engine?
Reimplemented from chomp::homengin::engine.
Reimplemented in chomp::homengin::MM_CRengine, and chomp::homengin::MM_ARengine.
Definition at line 429 of file engines.h.
{
return (dim == embeddingDim);
}
bool chomp::homengin::MMengine::elementary | ( | ) | const [inline, virtual] |
Is this engine capable of processing elementary cubes?
Reimplemented from chomp::homengin::engine.
Definition at line 445 of file engines.h.
{ return false; }
void chomp::homengin::MMengine::homology | ( | const cubfile & | x, | |
const cubfile & | y, | |||
algstruct< chomp::homology::integer > & | h | |||
) | const [inline, virtual] |
Compute the relative homology of the given pair of sets of cubes.
Reimplemented from chomp::homengin::engine.
Definition at line 461 of file engines.h.
{ throw "The MM* engines do not support relative homology."; }
virtual void chomp::homengin::MMengine::homology | ( | const cubfile & | x, | |
algstruct< chomp::homology::integer > & | h | |||
) | const [pure virtual] |
Compute the homology of the given set of cubes.
Reimplemented from chomp::homengin::engine.
Implemented in chomp::homengin::MM_CRengine, chomp::homengin::MM_ARengine, and chomp::homengin::MM_ASLTengine.
int chomp::homengin::MMengine::memory | ( | const cubfile & | X | ) | const [virtual] |
Rough memory usage estimate for a single set of cubes.
Returns 0 if unknown, -1 if not enough memory.
Reimplemented from chomp::homengin::engine.
virtual const char* chomp::homengin::MMengine::name | ( | ) | const [pure virtual] |
The name of the engine to be used in the command line.
Reimplemented from chomp::homengin::engine.
Implemented in chomp::homengin::MM_CRengine, chomp::homengin::MM_ARengine, and chomp::homengin::MM_ASLTengine.
bool chomp::homengin::MMengine::relative | ( | ) | const [inline, virtual] |
Does this engine compute relative homology?
Reimplemented from chomp::homengin::engine.
Definition at line 439 of file engines.h.
{ return false; }
bool chomp::homengin::MMengine::spacewrapping | ( | ) | const [inline, virtual] |
Does this engine support space wrapping?
Reimplemented from chomp::homengin::engine.
Definition at line 451 of file engines.h.
{ return false; }
virtual int chomp::homengin::MMengine::speed | ( | ) | const [pure virtual] |
The speed of the engine: The higher the number, the better.
Reimplemented from chomp::homengin::engine.
Implemented in chomp::homengin::MM_CRengine, chomp::homengin::MM_ARengine, and chomp::homengin::MM_ASLTengine.