LatticeAlgs.cpp File Reference
`#include "stdinc.h"`
`#include "LatticeAlgs.h"`
`#include <stack>`

Go to the source code of this file.

## Functions

void | getThinPlanes (vector< TriPlane > &planes, const GrobLat &lat)
void | checkPlanes (const vector< TriPlane > &thinPlanes, const vector< Plane > &dtPlanes)
char | getPlaceCode (NeighborPlace place)
size_t | pushOutFacetPositive (size_t facetPushOut, const vector< mpz_class > &rhs, const GrobLat &lat)
size_t | pushOutFacetZero (const vector< mpz_class > &rhs, const GrobLat &lat)
void | computeRhs (vector< mpz_class > &rhs, const vector< Neighbor > points)
void | computeMlfbs (vector< Mlfb > &mlfbs, const GrobLat &lat)
SeqPos | nextInSeq (SeqPos pos)
SeqPos | prevInSeq (SeqPos pos)
size_t | computeFlatIntervalCount (const vector< SeqPos > &flatSeq)
void | computeFlatSeq (vector< SeqPos > &seq, const vector< Mlfb > &mlfbs, const Plane &plane)
void | computePlanes (vector< Plane > &planes, const GrobLat &lat, vector< Mlfb > &mlfbs)
void | check0Graph (const vector< Mlfb > &mlfbs)
void | checkMlfbs (const vector< Mlfb > &mlfbs, const GrobLat &lat)
void | checkDoubleTrianglePlanes (const vector< Plane > &planes, const GrobLat &lat, const vector< Mlfb > &mlfbs)
void | checkPlane (const Plane &plane, const vector< Mlfb > &mlfbs)
size_t | pivotToFlatFacet (const Mlfb &pivot, const Plane &plane)
| Returns the facet to push in of pivot to get to a flat.
bool | disjointSeqs (const vector< SeqPos > &a, const vector< SeqPos > &b)
void | computePivots (vector< const Mlfb * > &pivots, const vector< Mlfb > &mlfbs, const Plane &plane, const vector< SeqPos > &flatSeq)
| Put all pivots into pivots.
void | computeSeqs (vector< vector< SeqPos > > &left, vector< vector< SeqPos > > &right, const vector< Mlfb > &mlfbs, const Plane &plane)
void | computePivotSeqs (vector< vector< SeqPos > > &seqs, const Mlfb &pivot, const Plane &plane)
| Starting at pivot (which must be a pivot), follow the three non-flat sequences starting at pivot.
void | checkSeq (vector< bool > &seenOnSide, const vector< SeqPos > &seq, const Plane &plane)
void | checkSide (vector< bool > &pivotOnSide, const vector< vector< SeqPos > > &side, const Plane &plane, const vector< Mlfb > &mlfbs)
void | checkSeqs (const vector< vector< SeqPos > > &left, const vector< vector< SeqPos > > &right, const Plane &plane, const vector< Mlfb > &mlfbs)
void | checkMiddle (const Plane &plane, const vector< Mlfb > &mlfbs)
void | checkGraphOnPlane (const Plane &plane, const vector< Mlfb > &mlfbs)
void | checkDoubleTriangle (const Plane &plane, const vector< Mlfb > &mlfbs)
void | checkGraph (const vector< Mlfb > &mlfbs)
void | checkPivotSeqs (vector< vector< SeqPos > > &pivotSeqs, const Plane &plane, const vector< Mlfb > &mlfbs, const vector< SeqPos > &flatSeq)
| Perform checks where pivotSeqs are the 3 non-flat sequences on one side.
void | checkNonSums (const GrobLat &lat)
void | checkFlatSeq (const vector< SeqPos > &flatSeq, const GrobLat &lat, const Plane &plane)
void | checkPlaneTri (const GrobLat &lat, const vector< Mlfb > &mlfbs, const vector< const Mlfb * > &pivots, const Plane &plane)
const char * | getEdgePos (size_t index)
mpq_class | getIndexSum (const vector< Mlfb > &mlfbs)

## Function Documentation

## check0Graph()

void check0Graph | ( | const vector< Mlfb > & | mlfbs | ) |

Definition at line 611 of file LatticeAlgs.cpp.

## checkDoubleTriangle()

void checkDoubleTriangle | ( | const Plane & | plane,
|  | const vector< Mlfb > & | mlfbs )

Definition at line 1043 of file LatticeAlgs.cpp.

## checkDoubleTrianglePlanes()

void checkDoubleTrianglePlanes | ( | const vector< Plane > & | planes,
|  | const GrobLat & | lat,
|  | const vector< Mlfb > & | mlfbs )

Definition at line 649 of file LatticeAlgs.cpp.

## checkFlatSeq()

void checkFlatSeq | ( | const vector< SeqPos > & | flatSeq,
|  | const GrobLat & | lat,
|  | const Plane & | plane )

Definition at line 1180 of file LatticeAlgs.cpp.

## checkGraph()

void checkGraph | ( | const vector< Mlfb > & | mlfbs | ) |

Definition at line 1060 of file LatticeAlgs.cpp.

## checkGraphOnPlane()

void checkGraphOnPlane | ( | const Plane & | plane,
|  | const vector< Mlfb > & | mlfbs )

Definition at line 1017 of file LatticeAlgs.cpp.

## checkMiddle()

void checkMiddle | ( | const Plane & | plane,
|  | const vector< Mlfb > & | mlfbs )

Definition at line 985 of file LatticeAlgs.cpp.

## checkMlfbs()

void checkMlfbs | ( | const vector< Mlfb > & | mlfbs,
|  | const GrobLat & | lat )

Definition at line 642 of file LatticeAlgs.cpp.

## checkNonSums()

void checkNonSums | ( | const GrobLat & | lat | ) |

Definition at line 1157 of file LatticeAlgs.cpp.

## checkPivotSeqs()

void checkPivotSeqs | ( | vector< vector< SeqPos > > & | pivotSeqs,
|  | const Plane & | plane,
|  | const vector< Mlfb > & | mlfbs,
|  | const vector< SeqPos > & | flatSeq )

Perform checks where pivotSeqs are the 3 non-flat sequences on one side.

Definition at line 1092 of file LatticeAlgs.cpp.

## checkPlane()

void checkPlane | ( | const Plane & | plane,
|  | const vector< Mlfb > & | mlfbs )

Definition at line 714 of file LatticeAlgs.cpp.

## checkPlanes()

void checkPlanes | ( | const vector< TriPlane > & | thinPlanes,
|  | const vector< Plane > & | dtPlanes )

Definition at line 99 of file LatticeAlgs.cpp.

## checkPlaneTri()

void checkPlaneTri | ( | const GrobLat & | lat,
|  | const vector< Mlfb > & | mlfbs,
|  | const vector< const Mlfb * > & | pivots,
|  | const Plane & | plane )

Definition at line 1259 of file LatticeAlgs.cpp.

## checkSeq()

void checkSeq | ( | vector< bool > & | seenOnSide,
|  | const vector< SeqPos > & | seq,
|  | const Plane & | plane )

Definition at line 904 of file LatticeAlgs.cpp.

## checkSeqs()

void checkSeqs | ( | const vector< vector< SeqPos > > & | left,
|  | const vector< vector< SeqPos > > & | right,
|  | const Plane & | plane,
|  | const vector< Mlfb > & | mlfbs )

Definition at line 966 of file LatticeAlgs.cpp.

## checkSide()

void checkSide | ( | vector< bool > & | pivotOnSide,
|  | const vector< vector< SeqPos > > & | side,
|  | const Plane & | plane,
|  | const vector< Mlfb > & | mlfbs )

Definition at line 937 of file LatticeAlgs.cpp.

## computeFlatIntervalCount()

size_t computeFlatIntervalCount | ( | const vector< SeqPos > & | flatSeq | ) |

Definition at line 445 of file LatticeAlgs.cpp.

## computeFlatSeq()

void computeFlatSeq | ( | vector< SeqPos > & | seq,
|  | const vector< Mlfb > & | mlfbs,
|  | const Plane & | plane )

Definition at line 471 of file LatticeAlgs.cpp.

## computeMlfbs()

void computeMlfbs | ( | vector< Mlfb > & | mlfbs,
|  | const GrobLat & | lat )

Definition at line 239 of file LatticeAlgs.cpp.

## computePivots()

void computePivots | ( | vector< const Mlfb * > & | pivots,
|  | const vector< Mlfb > & | mlfbs,
|  | const Plane & | plane,
|  | const vector< SeqPos > & | flatSeq )

Put all pivots into pivots.

flatSeq must be the sequence of flats. If flatSeq is not empty, then offsets 0,1 will be the left pivots while 2,3 will be the right pivots.

Definition at line 746 of file LatticeAlgs.cpp.

## computePivotSeqs()

void computePivotSeqs | ( | vector< vector< SeqPos > > & | seqs,
|  | const Mlfb & | pivot,
|  | const Plane & | plane )

Starting at pivot (which must be a pivot), follow the three non-flat sequences starting at pivot.

Definition at line 881 of file LatticeAlgs.cpp.

## computePlanes()

void computePlanes | ( | vector< Plane > & | planes,
|  | const GrobLat & | lat,
|  | vector< Mlfb > & | mlfbs )

Definition at line 511 of file LatticeAlgs.cpp.

## computeRhs()

void computeRhs | ( | vector< mpz_class > & | rhs,
|  | const vector< Neighbor > | points )

Definition at line 190 of file LatticeAlgs.cpp.

## computeSeqs()

void computeSeqs | ( | vector< vector< SeqPos > > & | left,
|  | vector< vector< SeqPos > > & | right,
|  | const vector< Mlfb > & | mlfbs,
|  | const Plane & | plane )

Definition at line 769 of file LatticeAlgs.cpp.

## disjointSeqs()

bool disjointSeqs | ( | const vector< SeqPos > & | a,
|  | const vector< SeqPos > & | b )

Definition at line 738 of file LatticeAlgs.cpp.

## getEdgePos()

const char * getEdgePos | ( | size_t | index | ) |

Definition at line 1310 of file LatticeAlgs.cpp.

## getIndexSum()

mpq_class getIndexSum | ( | const vector< Mlfb > & | mlfbs | ) |

Definition at line 1321 of file LatticeAlgs.cpp.

## getPlaceCode()

char getPlaceCode | ( | NeighborPlace | place | ) |

Definition at line 135 of file LatticeAlgs.cpp.

## getThinPlanes()

void getThinPlanes | ( | vector< TriPlane > & | planes,
|  | const GrobLat & | lat )

Definition at line 22 of file LatticeAlgs.cpp.

## nextInSeq()

SeqPos nextInSeq | ( | SeqPos | pos | ) |

Definition at line 415 of file LatticeAlgs.cpp.

## pivotToFlatFacet()

size_t pivotToFlatFacet | ( | const Mlfb & | pivot,
|  | const Plane & | plane )

Returns the facet to push in of pivot to get to a flat.

Pivot must be a pivot.

Definition at line 726 of file LatticeAlgs.cpp.

## prevInSeq()

SeqPos prevInSeq | ( | SeqPos | pos | ) |

Definition at line 441 of file LatticeAlgs.cpp.

## pushOutFacetPositive()

size_t pushOutFacetPositive | ( | size_t | facetPushOut,
|  | const vector< mpz_class > & | rhs,
|  | const GrobLat & | lat )

Definition at line 145 of file LatticeAlgs.cpp.

## pushOutFacetZero()

size_t pushOutFacetZero | ( | const vector< mpz_class > & | rhs,
|  | const GrobLat & | lat )

Definition at line 170 of file LatticeAlgs.cpp.