|
polylib 7.01
|
Go to the source code of this file.
Classes | |
| struct | factor |
Macros | |
| #define | LATDIF_DEBUG 1 |
Functions | |
| static factor | allfactors (int num) |
| static LatticeUnion * | generate_lattice_union_line (int line_nb, Vector *diag_A, Vector *diag_Inter, Lattice *Intersection, LatticeUnion *Result) |
| void | PrintLatticeUnion (FILE *fp, char *format, LatticeUnion *Head) |
| void | LatticeUnion_Free (LatticeUnion *Head) |
| LatticeUnion * | LatticeUnion_Alloc (void) |
| Bool | sameAffinepart (Lattice *A, Lattice *B) |
| Lattice * | EmptyLattice (int dimension) |
| Bool | isEmptyLattice (Lattice *A) |
| Bool | isLinear (Lattice *A) |
| void | AffineHermite (Lattice *A, Lattice **H, Matrix **U) |
| Lattice * | Homogenise (Lattice *A, Bool Forward) |
| Bool | LatticeIncludes (Lattice *A, Lattice *B) |
| Bool | sameLattice (Lattice *A, Lattice *B) |
| Lattice * | ChangeLatticeDimension (Lattice *A, int dimension) |
| Lattice * | ExtractLinearPart (Lattice *A) |
| static void | AddLattice (LatticeUnion *, Matrix *, Matrix *, Value, int) |
| LatticeUnion * | SplitLattice (Matrix *, Matrix *, Matrix *) |
| LatticeUnion * | Lattice2LatticeUnion (Lattice *X, Lattice *Y) |
| LatticeUnion * | LatticeDifference (Lattice *A, Lattice *B) |
| LatticeUnion * | SplitLattice (Lattice *B1, Lattice *B2, Matrix *C) |
| Bool | IsLattice (Matrix *m) |
| static Bool | Simplify (LatticeUnion **InputList, LatticeUnion **ResultList, int dim) |
| static int | LinearPartCompare (const void *A, const void *B) |
| static void | LinearPartSort (LatticeUnion *Head) |
| static int | AffinePartCompare (const void *A, const void *B) |
| static void | AffinePartSort (LatticeUnion *List) |
| static Bool | AlmostSameAffinePart (LatticeUnion *A, LatticeUnion *B) |
| static Bool | AffinePartSimplify (LatticeUnion *curlist, LatticeUnion **newlist) |
| static Bool | SameLinearPart (LatticeUnion *A, LatticeUnion *B) |
| LatticeUnion * | LatticeSimplify (LatticeUnion *latlist) |
| int | intcompare (const void *a, const void *b) |
| static factor | prime_factors (int n) |
| Lattice * | LatticeIntersection (Lattice *A, Lattice *B) |
| void | Matrix_Move_Homogeneous_Dim_First (Matrix *A) |
| void | Matrix_Move_Homogeneous_Dim_Last (Matrix *A) |
| Vector * | get_pivots (Matrix *A) |
| #define LATDIF_DEBUG 1 |
Definition at line 5 of file NewLattice.c.
|
static |
Definition at line 1004 of file NewLattice.c.
References AffineHermite(), lattice_union::M, Matrix_Copy(), Matrix_Free(), matrix::NbColumns, matrix::NbRows, lattice_union::next, matrix::p, value_addmul, value_clear, value_increment, value_init, value_lt, value_modulus, value_multiply, value_notzero_p, and value_set_si.
Referenced by SplitLattice().
| void AffineHermite | ( | Lattice * | A, |
| Lattice ** | H, | ||
| Matrix ** | U | ||
| ) |
Definition at line 161 of file NewLattice.c.
References left_hermite(), Matrix_Move_Homogeneous_Dim_First(), and Matrix_Move_Homogeneous_Dim_Last().
Referenced by AddLattice(), LatticeDifference(), LatticeIncludes(), and sameLattice().
|
static |
Definition at line 1596 of file NewLattice.c.
References value_gt, and value_lt.
Referenced by AffinePartSort().
|
static |
Definition at line 1665 of file NewLattice.c.
References AffinePartSort(), AlmostSameAffinePart(), False, lattice_union::M, matrix::NbColumns, matrix::NbRows, lattice_union::next, matrix::p, Simplify(), value_assign, value_clear, and value_init.
Referenced by LatticeSimplify().
|
static |
Definition at line 1620 of file NewLattice.c.
References AffinePartCompare(), lattice_union::M, and lattice_union::next.
Referenced by AffinePartSimplify().
|
static |
Definition at line 1841 of file NewLattice.c.
References factor::count, factor::fac, n, and prime_factors().
Referenced by Simplify().
|
static |
Definition at line 1645 of file NewLattice.c.
References False, lattice_union::M, matrix::NbColumns, matrix::NbRows, matrix::p, True, and value_ne.
Referenced by AffinePartSimplify().
| Lattice * ChangeLatticeDimension | ( | Lattice * | A, |
| int | dimension | ||
| ) |
Definition at line 405 of file NewLattice.c.
References Matrix_Alloc(), value_assign, and value_set_si.
| Lattice * EmptyLattice | ( | int | dimension | ) |
Definition at line 81 of file NewLattice.c.
References Matrix_Alloc(), and value_set_si.
| Lattice * ExtractLinearPart | ( | Lattice * | A | ) |
Definition at line 435 of file NewLattice.c.
References Matrix_Alloc(), and value_assign.
Referenced by Lattice2LatticeUnion().
|
static |
Definition at line 2162 of file NewLattice.c.
References lattice_union::M, Matrix_Copy(), matrix::NbColumns, lattice_union::next, Vector::p, matrix::p, value_addto, value_assign, value_clear, value_init, value_lt, and value_modulus.
Referenced by LatticeDifference().
Definition at line 2146 of file NewLattice.c.
References matrix::NbRows, Vector::p, matrix::p, value_assign, value_set_si, value_zero_p, and Vector_Alloc().
Referenced by LatticeDifference().
| Lattice * Homogenise | ( | Lattice * | A, |
| Bool | Forward | ||
| ) |
Definition at line 307 of file NewLattice.c.
References Matrix_Copy(), PutColumnFirst(), PutColumnLast(), PutRowFirst(), PutRowLast(), and True.
| int intcompare | ( | const void * | a, |
| const void * | b | ||
| ) |
Definition at line 1785 of file NewLattice.c.
| Bool isEmptyLattice | ( | Lattice * | A | ) |
Definition at line 105 of file NewLattice.c.
References False, True, and value_notzero_p.
Referenced by Lattice2LatticeUnion(), and LatticeDifference().
Definition at line 1334 of file NewLattice.c.
References False, m, True, value_notone_p, and value_notzero_p.
| Bool isLinear | ( | Lattice * | A | ) |
Definition at line 125 of file NewLattice.c.
References False, True, and value_notzero_p.
| LatticeUnion * Lattice2LatticeUnion | ( | Lattice * | X, |
| Lattice * | Y | ||
| ) |
Definition at line 686 of file NewLattice.c.
References ExtractLinearPart(), isEmptyLattice(), LatticeIntersection(), left_hermite(), Matrix_Alloc(), Matrix_Copy(), Matrix_Free(), Matrix_Inverse(), Matrix_Print(), Matrix_Product(), matrix::NbColumns, matrix::NbRows, matrix::p, P_VALUE_FMT, SplitLattice(), value_assign, value_clear, value_division, value_init, and value_set_si.
| LatticeUnion * LatticeDifference | ( | Lattice * | A, |
| Lattice * | B | ||
| ) |
Definition at line 834 of file NewLattice.c.
References AffineHermite(), errormsg1(), generate_lattice_union_line(), get_pivots(), isEmptyLattice(), isNormalLattice(), LatticeIntersection(), LatticeSimplify(), LatticeUnion_Alloc(), LatticeUnion_Free(), lattice_union::M, Matrix_Copy(), Matrix_Free(), Matrix_Print(), lattice_union::next, P_VALUE_FMT, PrintLatticeUnion(), and Vector_Free().
| Bool LatticeIncludes | ( | Lattice * | A, |
| Lattice * | B | ||
| ) |
Definition at line 334 of file NewLattice.c.
References AffineHermite(), False, LatticeIntersection(), Matrix_Free(), sameLattice(), and True.
| Lattice * LatticeIntersection | ( | Lattice * | A, |
| Lattice * | B | ||
| ) |
Definition at line 1943 of file NewLattice.c.
References errormsg1(), left_hermite(), Matrix_Alloc(), Matrix_Free(), Matrix_Move_Homogeneous_Dim_Last(), Matrix_Print(), P_VALUE_FMT, value_assign, value_notone_p, and value_notzero_p.
Referenced by Lattice2LatticeUnion(), LatticeDifference(), and LatticeIncludes().
| LatticeUnion * LatticeSimplify | ( | LatticeUnion * | latlist | ) |
Definition at line 1758 of file NewLattice.c.
References AffinePartSimplify(), False, LinearPartSort(), lattice_union::next, SameLinearPart(), and True.
Referenced by LatticeDifference().
| LatticeUnion * LatticeUnion_Alloc | ( | void | ) |
Definition at line 46 of file NewLattice.c.
References lattice_union::M, and lattice_union::next.
Referenced by LatticeDifference().
| void LatticeUnion_Free | ( | LatticeUnion * | Head | ) |
Definition at line 30 of file NewLattice.c.
References lattice_union::M, Matrix_Free(), and lattice_union::next.
Referenced by LatticeDifference().
|
static |
Definition at line 1541 of file NewLattice.c.
References value_gt, and value_lt.
Referenced by LinearPartSort().
|
static |
Definition at line 1564 of file NewLattice.c.
References LinearPartCompare(), lattice_union::M, and lattice_union::next.
Referenced by LatticeSimplify().
| void Matrix_Move_Homogeneous_Dim_First | ( | Matrix * | A | ) |
Definition at line 2086 of file NewLattice.c.
References matrix::NbColumns, matrix::NbRows, matrix::p, value_assign, value_clear, and value_init.
Referenced by AffineHermite().
| void Matrix_Move_Homogeneous_Dim_Last | ( | Matrix * | A | ) |
Definition at line 2122 of file NewLattice.c.
References matrix::NbColumns, matrix::NbRows, matrix::p, value_assign, value_clear, and value_init.
Referenced by AffineHermite(), and LatticeIntersection().
|
static |
Definition at line 1799 of file NewLattice.c.
References factor::count, factor::fac, and n.
Referenced by allfactors().
| void PrintLatticeUnion | ( | FILE * | fp, |
| char * | format, | ||
| LatticeUnion * | Head | ||
| ) |
Definition at line 18 of file NewLattice.c.
References lattice_union::M, Matrix_Print(), and lattice_union::next.
Referenced by LatticeDifference().
| Bool sameAffinepart | ( | Lattice * | A, |
| Lattice * | B | ||
| ) |
Definition at line 60 of file NewLattice.c.
| Bool sameLattice | ( | Lattice * | A, |
| Lattice * | B | ||
| ) |
Definition at line 366 of file NewLattice.c.
References AffineHermite(), False, Matrix_Free(), True, and value_ne.
Referenced by LatticeIncludes().
|
static |
Definition at line 1742 of file NewLattice.c.
References False, lattice_union::M, matrix::NbRows, matrix::p, True, and value_ne.
Referenced by LatticeSimplify().
|
static |
Definition at line 1401 of file NewLattice.c.
References allfactors(), factor::count, factor::fac, False, lattice_union::M, Matrix_Copy(), Matrix_Free(), matrix::NbColumns, matrix::NbRows, lattice_union::next, matrix::p, True, value_addto, value_assign, value_clear, value_division, value_eq, value_ge, value_gt, value_increment, value_init, value_lt, value_set_si, and VALUE_TO_INT.
Referenced by AffinePartSimplify().
| LatticeUnion * SplitLattice | ( | Lattice * | B1, |
| Lattice * | B2, | ||
| Matrix * | C | ||
| ) |
Definition at line 977 of file NewLattice.c.
References AddLattice(), lattice_union::M, matrix::NbRows, lattice_union::next, and matrix::p.
| LatticeUnion * SplitLattice | ( | Matrix * | , |
| Matrix * | , | ||
| Matrix * | |||
| ) |
Referenced by Lattice2LatticeUnion().