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;
466 int rankMeasure1 ()
const;
484 int rankMeasure2 ()
const;
501 int rankMeasure3 ()
const;
518 int rankMeasure4 ()
const;
535 int rankMeasure5 ()
const;
546 static int GetRankingStrategy();
569 virtual int getWeight ()
const;
578 int getRetrievals ()
const;
588 int getPotentialRetrievals ()
const;
603 int getMultiplications ()
const;
616 int getAccumulatedMultiplications ()
const;
627 int getAdditions ()
const;
639 int getAccumulatedAdditions ()
const;
657 void incrementRetrievals ();
674 int getUtility ()
const;
683 static void SetRankingStrategy (
const int rankingStrategy);
742 const int accumulatedMultiplications,
743 const int accumulatedAdditions,
const int retrievals,
744 const int potentialRetrievals);
765 int getResult()
const;
771 int getWeight ()
const;
824 const int accumulatedMultiplications,
825 const int accumulatedAdditions,
const int retrievals,
826 const int potentialRetrievals);
852 poly getResult()
const;
858 int getWeight ()
const;
Class MinorProcessor implements the key methods for computing one or all sub-determinantes of a given...
int getRelativeColumnIndex(const int i) const
A method for retrieving the (0-based) relative index of the i-th column in this MinorKey.
int _accumulatedSum
a store for the accumulated number of additions to compute the current minor; This also includes all ...
void setColumnKey(const int blockIndex, const unsigned int columnKey)
A method for setting the blockIndex-th element of _columnKey.
Compatiblity layer for legacy polynomial operations (over currRing)
bool selectNextColumns(const int k, const MinorKey &mk)
This method redefines the set of columns represented by this MinorKey.
int getRelativeRowIndex(const int i) const
A method for retrieving the (0-based) relative index of the i-th row in this MinorKey.
STATIC_VAR int g_rankingStrategy
private store for the current value ranking strategy; This member can be set using MinorValue::SetRan...
void getAbsoluteRowIndices(int *const target) const
A method for retrieving the 0-based indices of all rows encoded in this MinorKey. ...
std::string toString() const
A method for providing a printable version of the represented MinorKey.
void getAbsoluteColumnIndices(int *const target) const
A method for retrieving the 0-based indices of all columns encoded in this MinorKey.
MinorKey & operator=(const MinorKey &)
just to make the compiler happy
Class IntMinorValue is derived from MinorValue and can be used for representing values in a cache for...
int getNumberOfRowBlocks() const
Accessor of _numberOfRowBlocks.
int _additions
a store for the actual number of additions to compute the current minor
int _accumulatedMult
a store for the accumulated number of multiplications to compute the current minor; This also include...
void setRowKey(const int blockIndex, const unsigned int rowKey)
A method for setting the blockIndex-th element of _rowKey.
void selectFirstRows(const int k, const MinorKey &mk)
This method redefines the set of rows represented by this MinorKey.
int _retrievals
-1 iff cache is not used, otherwise the number of retrievals so far of the current minor ...
bool operator==(const MinorKey &) const
just to make the compiler happy
void selectFirstColumns(const int k, const MinorKey &mk)
This method redefines the set of columns represented by this MinorKey.
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...
int getNumberOfColumnBlocks() const
Accessor of _numberOfColumnBlocks.
int _result
a store for the actual value of the minor
int compare(const MinorKey &mk) const
A comparator for two instances of 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...
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...
MinorKey(const int lengthOfRowArray=0, const unsigned int *const rowKey=NULL, const int lengthOfColumnArray=0, const unsigned int *const columnKey=NULL)
A constructor for class MinorKey.
bool selectNextRows(const int k, const MinorKey &mk)
This method redefines the set of rows represented by this MinorKey.
Class PolyMinorValue is derived from MinorValue and can be used for representing values in a cache fo...
int _multiplications
a store for the actual number of multiplications to compute the current minor
Class MinorKey can be used for representing keys in a cache for sub-determinantes; see class Cache...
int _numberOfColumnBlocks
the number of ints (i.e.
int _potentialRetrievals
-1 iff cache is not used, otherwise the maximum number of potential retrievals of this minor (e...
~MinorKey()
A destructor for deleting an instance.
unsigned int getRowKey(const int blockIndex) const
Inlined accessor of blockIndex-th element of _rowKey.
bool operator<(const MinorKey &) const
just to make the compiler happy
unsigned int getColumnKey(const int blockIndex) const
Accessor of blockIndex-th element of _columnKey.
int _numberOfRowBlocks
the number of ints (i.e.
poly _result
a store for the actual value of the minor
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...
void reset()
A method for deleting all entries of _rowKey and _columnKey.
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...