Public Member Functions | Protected Member Functions

chomp::homengin::MMengine Class Reference

A general class for the MM* bitmap-based engines. More...

#include <engines.h>

Inheritance diagram for chomp::homengin::MMengine:
chomp::homengin::engine chomp::homengin::MM_ARengine chomp::homengin::MM_ASLTengine chomp::homengin::MM_CRengine

List of all members.

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.

Detailed Description

A general class for the MM* bitmap-based engines.

Definition at line 409 of file engines.h.


Constructor & Destructor Documentation

chomp::homengin::MMengine::MMengine (  )  [inline, protected]

The default constructor.

Definition at line 413 of file engines.h.

        {
                return;
        }

chomp::homengin::MMengine::~MMengine (  )  [inline, protected]

The destructor.

Definition at line 419 of file engines.h.

        {
                return;
        }


Member Function Documentation

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.


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