CoCoALib-0.9905 date: 23 May 2007


CoCoA::PPWithMask Class Reference

Implementation of PPMonoidElem with DivMask for fast divisibility test. More...

#include <PPWithMask.H>

Collaboration diagram for CoCoA::PPWithMask:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 PPWithMask (const PPMonoid &PPM, const DivMaskRule &DMRule)
 PPWithMask (ConstRefPPMonoidElem pp, const DivMaskRule &DMRule)
 ~PPWithMask ()
void myAssign (ConstRefPPMonoidElem pp)
PPWithMaskoperator= (const PPWithMask &pm)
bool operator== (const PPWithMask &pm) const
 WARNING: it does not check compatibility.
bool operator!= (const PPWithMask &pm) const
 WARNING: it does not check compatibility.

Private Member Functions

void myUpdateDivMask ()
 assign the correct DivMask for myPP

Private Attributes

member fields of PPWithMask
DivMask myDivMask
 the DivMask associated to PP by myDivMaskRule
PPMonoidElem myPP
 the PP itself
const DivMaskRule myDivMaskRule
 the DivMask "style": this might disappear

Friends

RefPPMonoidElem PP (PPWithMask &pm)
ConstRefPPMonoidElem PP (const PPWithMask &pm)
const DivMaskRuleDivMaskImpl (const PPWithMask &pm)
bool IsEqualFast (const PPWithMask &pm1, const PPWithMask &pm2)
 suffix "Fast" because it does not check compatibility
bool IsDivisibleFast (const PPWithMask &pm1, const PPWithMask &pm2)
 suffix "Fast" because it does not check compatibility
std::ostream & operator<< (std::ostream &out, const PPWithMask &pm)

Detailed Description

Implementation of PPMonoidElem with DivMask for fast divisibility test.

This type is not intended for "public use": it must be fast, so we cannot guarantee safety checks. It does some compatibility tests with CoCoA_ASSERT.

It is to be used ONLY when speed on divisibility tests is crucial (Buchberger, Toric, Hilbert).

Constructor and assignment from pp might be expensive.

Definition at line 51 of file PPWithMask.H.


Constructor & Destructor Documentation

CoCoA::PPWithMask::PPWithMask const PPMonoid PPM,
const DivMaskRule DMRule
[inline]
 

Definition at line 87 of file PPWithMask.H.

CoCoA::PPWithMask::PPWithMask ConstRefPPMonoidElem  pp,
const DivMaskRule DMRule
 

CoCoA::PPWithMask::~PPWithMask  )  [inline]
 

Definition at line 56 of file PPWithMask.H.


Member Function Documentation

void CoCoA::PPWithMask::myAssign ConstRefPPMonoidElem  pp  ) 
 

PPWithMask& CoCoA::PPWithMask::operator= const PPWithMask pm  ) 
 

bool CoCoA::PPWithMask::operator== const PPWithMask pm  )  const [inline]
 

WARNING: it does not check compatibility.

Definition at line 104 of file PPWithMask.H.

References IsEqualFast.

bool CoCoA::PPWithMask::operator!= const PPWithMask pm  )  const [inline]
 

WARNING: it does not check compatibility.

Definition at line 110 of file PPWithMask.H.

References IsEqualFast.

void CoCoA::PPWithMask::myUpdateDivMask  )  [private]
 

assign the correct DivMask for myPP


Friends And Related Function Documentation

RefPPMonoidElem PP PPWithMask pm  )  [friend]
 

Definition at line 58 of file PPWithMask.H.

ConstRefPPMonoidElem PP const PPWithMask pm  )  [friend]
 

Definition at line 59 of file PPWithMask.H.

const DivMaskRule& DivMaskImpl const PPWithMask pm  )  [friend]
 

Definition at line 60 of file PPWithMask.H.

bool IsEqualFast const PPWithMask pm1,
const PPWithMask pm2
[friend]
 

suffix "Fast" because it does not check compatibility

Definition at line 92 of file PPWithMask.H.

Referenced by operator!=(), and operator==().

bool IsDivisibleFast const PPWithMask pm1,
const PPWithMask pm2
[friend]
 

suffix "Fast" because it does not check compatibility

Definition at line 98 of file PPWithMask.H.

std::ostream& operator<< std::ostream &  out,
const PPWithMask pm
[friend]
 


Member Data Documentation

DivMask CoCoA::PPWithMask::myDivMask [private]
 

the DivMask associated to PP by myDivMaskRule

Definition at line 75 of file PPWithMask.H.

Referenced by CoCoA::IsDivisibleFast(), and CoCoA::IsEqualFast().

PPMonoidElem CoCoA::PPWithMask::myPP [private]
 

the PP itself

Definition at line 76 of file PPWithMask.H.

Referenced by CoCoA::IsDivisibleFast(), and CoCoA::IsEqualFast().

const DivMaskRule CoCoA::PPWithMask::myDivMaskRule [private]
 

the DivMask "style": this might disappear

Definition at line 77 of file PPWithMask.H.


The documentation for this class was generated from the following file:
Generated on Wed May 23 13:44:41 2007 for CoCoALib by  doxygen 1.4.6