Regina Calculation Engine
Public Member Functions | List of all members
regina::LPConstraintBase::Coefficients Struct Reference

Stores the extra coefficients in a single column for the nConstraints additional rows that we add to the tableaux to describe the nConstraints additional linear equations or inequalities. More...

#include <enumerate/ntreeconstraint.h>

Public Member Functions

 Coefficients ()
 Creates an uninitialised set of coefficients for a single column. More...
 
template<typename Integer >
void fillFinalRows (LPMatrix< Integer > &m, unsigned col) const
 Explicitly fills the final row(s) of the given tableaux matrix with the coefficients stored in this Coefficients structure. More...
 
template<typename Integer >
Integer innerProduct (const LPMatrix< Integer > &m, unsigned mRow) const
 Computes the inner product of (i) the final nConstraints entries in the given row of the given matrix with (ii) the nConstraints column coefficients stored in this data structure. More...
 
template<typename Integer >
Integer innerProductOct (const LPMatrix< Integer > &m, unsigned mRow) const
 A variant of innerProduct() that takes into account any adjustments to these linear constraint(s) that are required when this is a quadrilateral column being used to represent an octagon type. More...
 

Detailed Description

Stores the extra coefficients in a single column for the nConstraints additional rows that we add to the tableaux to describe the nConstraints additional linear equations or inequalities.

Subclasses may store these coefficients however they like (in particular, they may optimise for sparse coefficients, binary coefficients, and so on). They will only ever be accessed through the member functions of this Coefficients class.


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

Copyright © 1999-2014, The Regina development team
This software is released under the GNU General Public License, with some additional permissions; see the source code for details.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@debian.org).