CoCoALib-0.9905 date: 23 May 2007


CoCoA::OrdvArith::base Class Reference

#include <OrdvArith.H>

Inheritance diagram for CoCoA::OrdvArith::base:

Inheritance graph
[legend]
List of all members.

Public Member Functions

virtual void myAssignZero (OrdvElem *ordv) const
virtual void myAssignFromExpv (OrdvElem *ordv, const std::vector< long > &expv) const =0
void myAssign (OrdvElem *dest, const OrdvElem *src) const
void mySwap (OrdvElem *ordv1, OrdvElem *ordv2) const
void myMul (OrdvElem *ordv, const OrdvElem *ordv1, const OrdvElem *ordv2) const
virtual void myMulIndetPower (OrdvElem *ordv, std::size_t var, unsigned long exp) const
 NOT PURE!!
void myDiv (OrdvElem *ordv, const OrdvElem *ordv1, const OrdvElem *ordv2) const
void myPower (OrdvElem *ordv, const OrdvElem *ordv1, unsigned long exp) const
int myCmp (const OrdvElem *l_ordv, const OrdvElem *r_ordv) const
void myComputeExpvBuffer (const OrdvElem *ordv) const
virtual void myComputeExpv (std::vector< long > &expv, const OrdvElem *ordv) const =0
virtual long myLog (const OrdvElem *ordv, std::size_t var) const =0
virtual std::size_t myStdDeg (const OrdvElem *ordv) const
virtual void myWDeg (degree &d, const OrdvElem *ordv) const
virtual int myCmpWDeg (const OrdvElem *ordv1, const OrdvElem *ordv2) const
virtual bool myIsZero (const OrdvElem *ordv) const
virtual bool myIsIndet (std::size_t &index, const OrdvElem *ordv) const
virtual void myOutputSelf (std::ostream &out) const =0

Protected Member Functions

 base (std::size_t NumIndets, std::size_t OrdvWords, std::size_t NumOrdvEntries)
virtual ~base ()
OrdvElem myOrdvGetNth (const OrdvElem *ordv, std::size_t n) const
void myCompress (OrdvElem *ordv, const std::vector< OrdvElem > &buffer) const
void myDecompress (std::vector< OrdvElem > &buffer, const OrdvElem *ordv, std::size_t NumCompts) const
void myRefCountInc () const
 increments ref count
void myRefCountDec () const
 decrements ref count, and self destructs if count becomes 0
void myRefCountZero () const
 sets myRefCount to 0

Protected Attributes

OrdvElem myOrdvMask
std::size_t myPackingDensity
std::size_t myBitsPerOrdvEntry
std::vector< OrdvElemmyOrdvBuffer
std::vector< long > myExpvBuffer
std::size_t myNumIndets
 Number of indeterminates.
std::size_t myGradingDim
 zero if not graded, otherwise grading is in Z^myGradingDim
std::size_t myOrdvWords
 byte-size-of-an-order-vector/sizeof(OrdvElem)
std::size_t myOrdvWordsForCmp
 might be smaller than myOrdvWords

Friends

class SmartPtrIRC< const base >
std::size_t OrdvWords (const reference &OA)

Detailed Description

Definition at line 56 of file OrdvArith.H.


Constructor & Destructor Documentation

CoCoA::OrdvArith::base::base std::size_t  NumIndets,
std::size_t  OrdvWords,
std::size_t  NumOrdvEntries
[protected]
 

virtual CoCoA::OrdvArith::base::~base  )  [protected, virtual]
 


Member Function Documentation

virtual void CoCoA::OrdvArith::base::myAssignZero OrdvElem ordv  )  const [virtual]
 

virtual void CoCoA::OrdvArith::base::myAssignFromExpv OrdvElem ordv,
const std::vector< long > &  expv
const [pure virtual]
 

Implemented in CoCoA::OrdvArith::LexImpl, CoCoA::OrdvArith::StdDegLexImpl, CoCoA::OrdvArith::StdDegRevLexImpl, CoCoA::OrdvArith::MatrixOrderingImpl, and CoCoA::OrdvArith::MatrixOrderingMod32749Impl.

void CoCoA::OrdvArith::base::myAssign OrdvElem dest,
const OrdvElem src
const
 

void CoCoA::OrdvArith::base::mySwap OrdvElem ordv1,
OrdvElem ordv2
const
 

void CoCoA::OrdvArith::base::myMul OrdvElem ordv,
const OrdvElem ordv1,
const OrdvElem ordv2
const [inline]
 

Definition at line 180 of file OrdvArith.H.

References myOrdvWords.

virtual void CoCoA::OrdvArith::base::myMulIndetPower OrdvElem ordv,
std::size_t  var,
unsigned long  exp
const [virtual]
 

NOT PURE!!

void CoCoA::OrdvArith::base::myDiv OrdvElem ordv,
const OrdvElem ordv1,
const OrdvElem ordv2
const [inline]
 

Definition at line 187 of file OrdvArith.H.

References myOrdvWords.

void CoCoA::OrdvArith::base::myPower OrdvElem ordv,
const OrdvElem ordv1,
unsigned long  exp
const
 

int CoCoA::OrdvArith::base::myCmp const OrdvElem l_ordv,
const OrdvElem r_ordv
const [inline]
 

Definition at line 194 of file OrdvArith.H.

References myOrdvWordsForCmp.

void CoCoA::OrdvArith::base::myComputeExpvBuffer const OrdvElem ordv  )  const [inline]
 

Definition at line 202 of file OrdvArith.H.

References myComputeExpv(), and myExpvBuffer.

virtual void CoCoA::OrdvArith::base::myComputeExpv std::vector< long > &  expv,
const OrdvElem ordv
const [pure virtual]
 

Implemented in CoCoA::OrdvArith::LexImpl, CoCoA::OrdvArith::StdDegLexImpl, CoCoA::OrdvArith::StdDegRevLexImpl, CoCoA::OrdvArith::MatrixOrderingImpl, and CoCoA::OrdvArith::MatrixOrderingMod32749Impl.

Referenced by myComputeExpvBuffer().

virtual long CoCoA::OrdvArith::base::myLog const OrdvElem ordv,
std::size_t  var
const [pure virtual]
 

Implemented in CoCoA::OrdvArith::LexImpl, CoCoA::OrdvArith::StdDegLexImpl, CoCoA::OrdvArith::StdDegRevLexImpl, CoCoA::OrdvArith::MatrixOrderingImpl, and CoCoA::OrdvArith::MatrixOrderingMod32749Impl.

virtual std::size_t CoCoA::OrdvArith::base::myStdDeg const OrdvElem ordv  )  const [virtual]
 

Reimplemented in CoCoA::OrdvArith::StdDegLexImpl, and CoCoA::OrdvArith::StdDegRevLexImpl.

virtual void CoCoA::OrdvArith::base::myWDeg degree d,
const OrdvElem ordv
const [virtual]
 

virtual int CoCoA::OrdvArith::base::myCmpWDeg const OrdvElem ordv1,
const OrdvElem ordv2
const [virtual]
 

virtual bool CoCoA::OrdvArith::base::myIsZero const OrdvElem ordv  )  const [virtual]
 

virtual bool CoCoA::OrdvArith::base::myIsIndet std::size_t &  index,
const OrdvElem ordv
const [virtual]
 

virtual void CoCoA::OrdvArith::base::myOutputSelf std::ostream &  out  )  const [pure virtual]
 

Implemented in CoCoA::OrdvArith::LexImpl, CoCoA::OrdvArith::StdDegLexImpl, CoCoA::OrdvArith::StdDegRevLexImpl, CoCoA::OrdvArith::MatrixOrderingImpl, and CoCoA::OrdvArith::MatrixOrderingMod32749Impl.

OrdvElem CoCoA::OrdvArith::base::myOrdvGetNth const OrdvElem ordv,
std::size_t  n
const [protected]
 

void CoCoA::OrdvArith::base::myCompress OrdvElem ordv,
const std::vector< OrdvElem > &  buffer
const [protected]
 

void CoCoA::OrdvArith::base::myDecompress std::vector< OrdvElem > &  buffer,
const OrdvElem ordv,
std::size_t  NumCompts
const [protected]
 

void CoCoA::IntrusiveReferenceCount::myRefCountInc  )  const [inline, protected, inherited]
 

increments ref count

Definition at line 86 of file SmartPtrIRC.H.

Referenced by CoCoA::ModuleBase::ModuleBase().

void CoCoA::IntrusiveReferenceCount::myRefCountDec  )  const [inline, protected, inherited]
 

decrements ref count, and self destructs if count becomes 0

Definition at line 91 of file SmartPtrIRC.H.

void CoCoA::IntrusiveReferenceCount::myRefCountZero  )  const [inline, protected, inherited]
 

sets myRefCount to 0

Definition at line 97 of file SmartPtrIRC.H.


Friends And Related Function Documentation

friend class SmartPtrIRC< const base > [friend]
 

Definition at line 58 of file OrdvArith.H.

std::size_t OrdvWords const reference OA  )  [friend]
 

Definition at line 174 of file OrdvArith.H.


Member Data Documentation

OrdvElem CoCoA::OrdvArith::base::myOrdvMask [protected]
 

Definition at line 90 of file OrdvArith.H.

std::size_t CoCoA::OrdvArith::base::myPackingDensity [protected]
 

Definition at line 91 of file OrdvArith.H.

std::size_t CoCoA::OrdvArith::base::myBitsPerOrdvEntry [protected]
 

Definition at line 92 of file OrdvArith.H.

std::vector<OrdvElem> CoCoA::OrdvArith::base::myOrdvBuffer [mutable, protected]
 

Definition at line 93 of file OrdvArith.H.

std::vector<long> CoCoA::OrdvArith::base::myExpvBuffer [mutable, protected]
 

Definition at line 94 of file OrdvArith.H.

Referenced by myComputeExpvBuffer().

std::size_t CoCoA::OrdvArith::base::myNumIndets [protected]
 

Number of indeterminates.

Definition at line 98 of file OrdvArith.H.

std::size_t CoCoA::OrdvArith::base::myGradingDim [protected]
 

zero if not graded, otherwise grading is in Z^myGradingDim

Definition at line 99 of file OrdvArith.H.

std::size_t CoCoA::OrdvArith::base::myOrdvWords [protected]
 

byte-size-of-an-order-vector/sizeof(OrdvElem)

Definition at line 100 of file OrdvArith.H.

Referenced by myDiv(), and myMul().

std::size_t CoCoA::OrdvArith::base::myOrdvWordsForCmp [protected]
 

might be smaller than myOrdvWords

Definition at line 101 of file OrdvArith.H.

Referenced by myCmp().


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