79 unsigned int getRowKey (
const int blockIndex)
const;
93 void setRowKey (
const int blockIndex,
const unsigned int rowKey);
100 void setColumnKey (
const int blockIndex,
const unsigned int columnKey);
130 int getSetBits (
const int a)
const;
151 MinorKey (
const int lengthOfRowArray = 0,
152 const unsigned int*
const rowKey =
NULL,
153 const int lengthOfColumnArray = 0,
154 const unsigned int*
const columnKey =
NULL);
171 void set(
const int lengthOfRowArray,
const unsigned int* rowKey,
172 const int lengthOfColumnArray,
const unsigned int* columnKey);
314 const int absoluteEraseColumnIndex)
const;
690 virtual std::string
toString ()
const;
742 const int accumulatedMultiplications,
743 const int accumulatedAdditions,
const int retrievals,
744 const int potentialRetrievals);
824 const int accumulatedMultiplications,
825 const int accumulatedAdditions,
const int retrievals,
826 const int potentialRetrievals);
Class IntMinorValue is derived from MinorValue and can be used for representing values in a cache for...
int getResult() const
Accessor for the private field _result.
int _result
a store for the actual value of the minor
std::string toString() const
A method for providing a printable version of the represented MinorValue.
int getWeight() const
Accessor for the current weight of this class instance.
virtual ~IntMinorValue()
Destructor.
IntMinorValue()
just to make the compiler happy
Class MinorKey can be used for representing keys in a cache for sub-determinantes; see class Cache.
int getNumberOfColumnBlocks() const
Accessor of _numberOfColumnBlocks.
unsigned int getRowKey(const int blockIndex) const
Inlined accessor of blockIndex-th element of _rowKey.
int _numberOfColumnBlocks
the number of ints (i.e.
void getAbsoluteColumnIndices(int *const target) const
A method for retrieving the 0-based indices of all columns encoded in this MinorKey.
void selectFirstRows(const int k, const MinorKey &mk)
This method redefines the set of rows represented by this MinorKey.
bool selectNextColumns(const int k, const MinorKey &mk)
This method redefines the set of columns represented by this MinorKey.
~MinorKey()
A destructor for deleting an instance.
bool operator==(const MinorKey &) const
just to make the compiler happy
bool operator<(const MinorKey &) const
just to make the compiler happy
void reset()
A method for deleting all entries of _rowKey and _columnKey.
unsigned int * _columnKey
a pointer to an array[0..k-1] of ints, capturing k*32 bits for determining which columns of a pre-def...
void selectFirstColumns(const int k, const MinorKey &mk)
This method redefines the set of columns represented by this MinorKey.
MinorKey getSubMinorKey(const int absoluteEraseRowIndex, const int absoluteEraseColumnIndex) const
A method for retrieving a sub-MinorKey resulting from omitting one row and one column of this MinorKe...
void setColumnKey(const int blockIndex, const unsigned int columnKey)
A method for setting the blockIndex-th element of _columnKey.
int getAbsoluteColumnIndex(const int i) const
A method for retrieving the (0-based) index of the i-th column in the set of columns encoded in this.
void set(const int lengthOfRowArray, const unsigned int *rowKey, const int lengthOfColumnArray, const unsigned int *columnKey)
A setter method for class MinorKey.
void getAbsoluteRowIndices(int *const target) const
A method for retrieving the 0-based indices of all rows encoded in this MinorKey.
void setRowKey(const int blockIndex, const unsigned int rowKey)
A method for setting the blockIndex-th element of _rowKey.
int getNumberOfRowBlocks() const
Accessor of _numberOfRowBlocks.
int getRelativeRowIndex(const int i) const
A method for retrieving the (0-based) relative index of the i-th row in this MinorKey.
bool selectNextRows(const int k, const MinorKey &mk)
This method redefines the set of rows represented by this MinorKey.
MinorKey & operator=(const MinorKey &)
just to make the compiler happy
unsigned int * _rowKey
a pointer to an array[0..k-1] of ints, capturing k*32 bits for determining which rows of a pre-define...
int getRelativeColumnIndex(const int i) const
A method for retrieving the (0-based) relative index of the i-th column in this MinorKey.
std::string toString() const
A method for providing a printable version of the represented MinorKey.
int compare(const MinorKey &mk) const
A comparator for two instances of MinorKey.
int getAbsoluteRowIndex(const int i) const
A method for retrieving the (0-based) index of the i-th row in the set of rows encoded in this.
unsigned int getColumnKey(const int blockIndex) const
Accessor of blockIndex-th element of _columnKey.
int _numberOfRowBlocks
the number of ints (i.e.
Class MinorProcessor implements the key methods for computing one or all sub-determinantes of a given...
int getPotentialRetrievals() const
A method for accessing the maximum number of potential retrievals of this minor.
int _additions
a store for the actual number of additions to compute the current minor
int rankMeasure4() const
A method for obtaining a rank measure for the given MinorValue.
int getAdditions() const
A method for accessing the additions performed while computing this minor.
int _potentialRetrievals
-1 iff cache is not used, otherwise the maximum number of potential retrievals of this minor (e....
int _accumulatedMult
a store for the accumulated number of multiplications to compute the current minor; This also include...
int rankMeasure2() const
A method for obtaining a rank measure for the given MinorValue.
int _accumulatedSum
a store for the accumulated number of additions to compute the current minor; This also includes all ...
int getAccumulatedAdditions() const
A method for accessing the additions performed while computing this minor, including all nested addit...
int rankMeasure5() const
A method for obtaining a rank measure for the given MinorValue.
STATIC_VAR int g_rankingStrategy
private store for the current value ranking strategy; This member can be set using MinorValue::SetRan...
int getMultiplications() const
A method for accessing the multiplications performed while computing this minor.
static void SetRankingStrategy(const int rankingStrategy)
A method for determining the value ranking strategy.
void incrementRetrievals()
A method for incrementing the number of performed retrievals of this instance of MinorValue.
bool operator==(const MinorValue &mv) const
just to make the compiler happy
int rankMeasure3() const
A method for obtaining a rank measure for the given MinorValue.
virtual int getWeight() const
A method for retrieving the weight of a given MinorValue.
int _multiplications
a store for the actual number of multiplications to compute the current minor
int getUtility() const
A method for obtaining a rank measure for theiven MinorValue.
int getRetrievals() const
A method for accessing the number of retrievals of this minor.
int rankMeasure1() const
A method for obtaining a rank measure for the given MinorValue.
int _retrievals
-1 iff cache is not used, otherwise the number of retrievals so far of the current minor
virtual std::string toString() const
A method for providing a printable version of the represented MinorValue.
static int GetRankingStrategy()
Accessor for the static private field g_rankingStrategy.
int getAccumulatedMultiplications() const
A method for accessing the multiplications performed while computing this minor, including all nested...
bool operator<(const MinorValue &mv) const
just to make the compiler happy
void print() const
A method for printing a string representation of the given MinorValue to std::cout.
Class PolyMinorValue is derived from MinorValue and can be used for representing values in a cache fo...
PolyMinorValue()
just to make the compiler happy
void operator=(const PolyMinorValue &mv)
Assignment operator which creates a deep copy.
virtual ~PolyMinorValue()
Destructor.
std::string toString() const
A method for providing a printable version of the represented MinorValue.
int getWeight() const
Accessor for the current weight of this class instance.
poly _result
a store for the actual value of the minor
poly getResult() const
Accessor for the private field _result.
Compatibility layer for legacy polynomial operations (over currRing)