|
polylib 7.01
|
Go to the source code of this file.
|
static |
Definition at line 2019 of file Zpolyhedron.c.
References polyhedron::Dimension, Matrix_Alloc(), Matrix_Free(), MAXNOOFRAYS, polyhedron::NbRays, matrix::NbRows, matrix::p, polyhedron::Ray, Rays2Polyhedron(), value_assign, value_clear, value_init, value_notzero_p, value_set_si, Vector_Combine(), and Vector_Copy().
Referenced by sLBLCompute_holes().
| void CanonicalLBL | ( | LBL * | A | ) |
Definition at line 3117 of file Zpolyhedron.c.
References AddPolyToDomain(), isEqualLattice(), lbl::Lat, LBL_Remove_Empty(), LBLPrint(), Matrix_Free(), polyhedron::next, lbl::next, lbl::P, P_VALUE_FMT, and sLBLCanonical().
Referenced by LBL2ZDomain(), LBLAlloc(), LBLComplement(), LBLDisjointUnion(), LBLImage(), LBLIntersection(), LBLPreimage(), LBLSimplify(), LBLSimplifyEmpty(), LBLUnion(), and sLBLComplement2().
|
static |
Definition at line 1861 of file Zpolyhedron.c.
References AddPolyToDomain(), domain_project(), polyhedron::next, polyhedron_dark_source(), and Polyhedron_Free().
Referenced by sLBL_Simplify_Zero_Dimensions(), and sLBLCompute_holes().
|
static |
Definition at line 2713 of file Zpolyhedron.c.
References polyhedron::next, Polyhedron_Alloc(), value_assign, value_set_si, Vector_Copy(), and Vector_Set().
Referenced by LBLSimplify(), sLBLCompute_holes(), and sLBLMake_lattice_equal_to().
|
static |
Definition at line 1754 of file Zpolyhedron.c.
References polyhedron::Dimension, DomainAddRays(), emptyQ, Matrix_Alloc(), Matrix_Free(), MAXNOOFRAYS, polyhedron::next, matrix::p, P_VALUE_FMT, Polyhedron_Print(), value_notzero_p, value_set_si, Vector_Copy(), and Vector_Set().
Referenced by domain_dark_shadow(), sLBL_Simplify_Zero_Dimensions(), and sLBLCompute_holes().
|
static |
Definition at line 2584 of file Zpolyhedron.c.
References AddConstraints(), polyhedron::Dimension, Domain_Free(), emptyQ, False, MAXNOOFRAYS, polyhedron::NbRays, polyhedron::next, Vector::p, P_VALUE_FMT, Polyhedron_Free(), polyhedron_int_solution(), Polyhedron_Print(), Polyhedron_Scan(), polyhedron::Ray, Vector::Size, True, Universe_Polyhedron(), value_one_p, value_oppose, value_set_si, value_zero_p, Vector_Alloc(), Vector_Free(), and Vector_Set().
Referenced by LBLIncluded(), LBLSimplifyEmpty(), and sLBLCompute_holes().
| LBL * EmptyLBL | ( | int | dimension | ) |
Definition at line 189 of file Zpolyhedron.c.
References errormsg1(), lbl::Lat, Matrix_Alloc(), lbl::next, matrix::p, lbl::P, and value_set_si.
Referenced by LBLDifference(), LBLImage(), LBLIntersection(), LBLPreimage(), main(), and sLBLIntersection().
| Polyhedron * GenPoly | ( | int | dim, |
| Value * | val | ||
| ) |
Definition at line 1890 of file Zpolyhedron.c.
References Matrix_Alloc(), Matrix_Free(), Matrix_Print(), MAXNOOFRAYS, matrix::p, P_VALUE_FMT, Rays2Polyhedron(), value_set_si, and Vector_Copy().
Referenced by Scan_RestAP().
|
static |
Definition at line 1449 of file Zpolyhedron.c.
References polyhedron::Constraint, polyhedron::Dimension, Matrix_Alloc(), matrix::NbColumns, polyhedron::NbEq, matrix::p, and value_assign.
Referenced by sLBLHomogenize_equalities().
Definition at line 54 of file Zpolyhedron.c.
References emptyQ, False, isEmptyLBL(), lbl::next, lbl::P, and True.
Referenced by isEmptyLBL(), LBLConcatenate(), LBLDifference(), LBLIncluded(), LBLSimplify(), main(), and sLBLIntersection().
Definition at line 3213 of file Zpolyhedron.c.
References CanonicalLBL(), LBLConcatenate(), LBLSimplifyEmpty(), lbl::next, and sLBL2ZDomain().
Referenced by main().
|
static |
Definition at line 2444 of file Zpolyhedron.c.
References Domain_Free(), emptyQ, lbl::Lat, LBLPrint(), Matrix_Free(), lbl::next, lbl::P, and P_VALUE_FMT.
Referenced by CanonicalLBL(), and LBLSimplifyEmpty().
Definition at line 241 of file Zpolyhedron.c.
References Domain_Free(), DomainDifference(), emptyQ, False, isEqualLattice(), lbl::Lat, MAXNOOFRAYS, lbl::next, lbl::P, and True.
Referenced by LBLDifference(), and LBLIncluded().
| LBL * LBLAlloc | ( | Matrix * | Lat, |
| Polyhedron * | Domain | ||
| ) |
Definition at line 75 of file Zpolyhedron.c.
References CanonicalLBL(), polyhedron::Dimension, Domain_Copy(), emptyQ, errormsg1(), lbl::Lat, Matrix_Copy(), matrix::NbColumns, lbl::next, and lbl::P.
Referenced by main(), sLBL2ZDomain(), sLBLComplement(), sLBLCopy(), sLBLImage(), sLBLIntersection(), and sLBLPreimage().
Definition at line 922 of file Zpolyhedron.c.
References CanonicalLBL(), LBLFree(), LBLIntersection(), lbl::next, and sLBLComplement().
Referenced by main().
Definition at line 162 of file Zpolyhedron.c.
References isEmptyLBL(), LBLFree(), and lbl::next.
Referenced by LBL2ZDomain(), LBLDisjointUnion(), LBLImage(), LBLIntersection(), LBLPreimage(), LBLUnion(), and sLBLComplement().
Definition at line 144 of file Zpolyhedron.c.
References LBLCopy(), lbl::next, and sLBLCopy().
Referenced by LBLCopy(), LBLDifference(), and LBLUnion().
Definition at line 406 of file Zpolyhedron.c.
References EmptyLBL(), errormsg1(), isEmptyLBL(), lbl::Lat, LBL_simple_inclusion_check(), LBLCopy(), LBLFree(), LBLIntersection(), LBLPrint(), matrix::NbRows, lbl::next, P_VALUE_FMT, and sLBLComplement().
Referenced by LBLDisjointUnion(), LBLIncluded(), and main().
Definition at line 3480 of file Zpolyhedron.c.
References CanonicalLBL(), LBLConcatenate(), LBLDifference(), LBLFree(), LBLIntersection(), lbl::next, and sLBLCopy().
Referenced by main().
| void LBLFree | ( | LBL * | L | ) |
Definition at line 122 of file Zpolyhedron.c.
References LBLFree(), lbl::next, and sLBLFree().
Referenced by LBLComplement(), LBLConcatenate(), LBLDifference(), LBLDisjointUnion(), LBLFree(), LBLIncluded(), and main().
Definition at line 475 of file Zpolyhedron.c.
References CanonicalLBL(), EmptyLBL(), lbl::Lat, LBLConcatenate(), matrix::NbRows, lbl::next, and sLBLImage().
Referenced by main().
Definition at line 272 of file Zpolyhedron.c.
References Domain_Remove_Integer_Empty(), False, isEmptyLBL(), LBL_simple_inclusion_check(), LBLDifference(), LBLFree(), lbl::next, and True.
Referenced by main().
Definition at line 364 of file Zpolyhedron.c.
References CanonicalLBL(), EmptyLBL(), errormsg1(), lbl::Lat, LBLConcatenate(), matrix::NbRows, lbl::next, and sLBLIntersection().
Referenced by LBLComplement(), LBLDifference(), LBLDisjointUnion(), and main().
Definition at line 497 of file Zpolyhedron.c.
References CanonicalLBL(), EmptyLBL(), LBLConcatenate(), matrix::NbColumns, lbl::next, and sLBLPreimage().
Referenced by main().
| void LBLPrint | ( | FILE * | fp, |
| const char * | format, | ||
| LBL * | A | ||
| ) |
Definition at line 324 of file Zpolyhedron.c.
References lbl::next, and sLBLPrint().
Referenced by CanonicalLBL(), LBL_Remove_Empty(), LBLDifference(), LBLSimplify(), main(), sLBL_Simplify_Zero_Dimensions(), sLBLComplement(), and sLBLIntersection().
| void LBLSimplify | ( | LBL * | A | ) |
Definition at line 3281 of file Zpolyhedron.c.
References assert, CanonicalLBL(), polyhedron::Dimension, Domain_Free(), domain_insert_dim(), DomainConstraintSimplify(), DomainUnion(), isEmptyLBL(), isSameLatticeSpace(), lbl::Lat, LatCountZeroCols(), LatticeIncluded(), LBLPrint(), LBLSimplifyEmpty(), Matrix_Alloc(), Matrix_Free(), MAXNOOFRAYS, matrix::NbColumns, matrix::NbRows, lbl::next, matrix::p, lbl::P, P_VALUE_FMT, sLBLMake_lattice_equal_to(), sLBLPrint(), value_assign, Vector_Copy(), and Vector_Set().
Referenced by LBLSimplifyEmpty(), and main().
| void LBLSimplifyEmpty | ( | LBL * | A | ) |
Definition at line 3235 of file Zpolyhedron.c.
References CanonicalLBL(), Domain_Remove_Integer_Empty(), LBL_Remove_Empty(), LBLSimplify(), and lbl::next.
Referenced by LBL2ZDomain(), LBLSimplify(), and main().
Definition at line 344 of file Zpolyhedron.c.
References CanonicalLBL(), LBLConcatenate(), and LBLCopy().
Referenced by main().
|
static |
Definition at line 1633 of file Zpolyhedron.c.
References AddConstraints(), polyhedron::Constraint, polyhedron::Dimension, Matrix_Alloc(), Matrix_Free(), Matrix_Print(), MAXNOOFRAYS, matrix::NbColumns, polyhedron::NbConstraints, matrix::p, P_VALUE_FMT, Polyhedron_Print(), value_add_int, value_addto, value_neg_p, value_notmone_p, value_notone_p, value_pos_p, value_substract, value_zero_p, and Vector_Copy().
Referenced by domain_dark_shadow().
|
static |
Definition at line 2521 of file Zpolyhedron.c.
References False, lower_upper_bounds(), polyhedron::next, P_VALUE_FMT, polyhedron_int_solution(), True, value_assign, value_clear, value_increment, value_init, value_le, value_print, and value_set_si.
Referenced by Domain_Remove_Integer_Empty(), and polyhedron_int_solution().
|
static |
Definition at line 1465 of file Zpolyhedron.c.
References polyhedron::Constraint, False, matrix::NbColumns, polyhedron::NbEq, matrix::NbRows, matrix::p, True, and value_ne.
Referenced by sLBLHomogenize_equalities().
| Polyhedron * Scan_RestAP | ( | Polyhedron * | R, |
| Value * | val, | ||
| int | position, | ||
| int | dimrest | ||
| ) |
Definition at line 1930 of file Zpolyhedron.c.
References AddPolyToDomain(), polyhedron::Dimension, errormsg1(), GenPoly(), lower_upper_bounds(), polyhedron::next, P_VALUE_FMT, Scan_RestAP(), value_assign, value_clear, value_increment, value_init, value_le, value_print, and value_set_si.
Referenced by Scan_RestAP(), and sLBLCompute_holes().
Definition at line 3173 of file Zpolyhedron.c.
References Domain_Free(), DomainDifference(), lbl::Lat, LatCountZeroCols(), LBLAlloc(), Matrix_Free(), MAXNOOFRAYS, matrix::NbColumns, P_VALUE_FMT, Polyhedron_Print(), RemoveNColumns(), sLBLCompute_holes(), and sLBLCopy().
Referenced by LBL2ZDomain().
|
static |
Definition at line 2389 of file Zpolyhedron.c.
References Domain_Free(), DomainPreimage(), isNormalLattice(), lbl::Lat, left_hermite(), Matrix_Free(), Matrix_Move_Homogeneous_Dim_First(), Matrix_Move_Homogeneous_Dim_Last(), Matrix_Print(), MAXNOOFRAYS, lbl::P, P_VALUE_FMT, and Polyhedron_Print().
Referenced by sLBLCanonical(), and sLBLMake_lattice_equal_to().
|
static |
Definition at line 2301 of file Zpolyhedron.c.
References domain_dark_shadow(), Domain_Free(), domain_project(), DomainConstraintSimplify(), DomainDifference(), emptyQ, False, lbl::Lat, LBLPrint(), Matrix_Free(), MAXNOOFRAYS, matrix::NbColumns, matrix::NbRows, matrix::p, lbl::P, P_VALUE_FMT, RemoveColumn(), sLBL_Simplify_Zero_Dimensions(), True, and value_notzero_p.
Referenced by sLBL_Simplify_Zero_Dimensions(), and sLBLCanonical().
|
static |
Definition at line 3027 of file Zpolyhedron.c.
References polyhedron::Dimension, Domain_Free(), DomainConstraintSimplify(), emptyQ, errormsg1(), lbl::Lat, Matrix_Free(), Matrix_Print(), MAXNOOFRAYS, matrix::NbColumns, polyhedron::NbEq, lbl::P, P_VALUE_FMT, Polyhedron_Print(), sLBL_Lat_Normalize(), sLBL_Simplify_Zero_Dimensions(), sLBLHomogenize_equalities(), and sLBLSimplify_equalities().
Referenced by CanonicalLBL().
Definition at line 816 of file Zpolyhedron.c.
References polyhedron::Dimension, Domain_Free(), DomainDifference(), DomainImage(), emptyQ, Identity_Matrix(), lbl::Lat, LatCountZeroCols(), LatticeDifference(), LBLAlloc(), LBLConcatenate(), LBLPrint(), Matrix_Free(), Matrix_Print(), MAXNOOFRAYS, matrix::NbColumns, matrix::NbRows, lattice_union::next, lbl::next, lbl::P, P_VALUE_FMT, Polyhedron_Print(), PrintLatticeUnion(), RemoveNColumns(), sLBLCompute_holes(), sLBLPrint(), and Universe_Polyhedron().
Referenced by LBLComplement(), and LBLDifference().
Definition at line 765 of file Zpolyhedron.c.
References CanonicalLBL(), polyhedron::Dimension, Domain_Free(), DomainDifference(), lbl::Lat, Matrix_Free(), Matrix_identity(), MAXNOOFRAYS, matrix::NbRows, polyhedron::next, lbl::P, P_VALUE_FMT, Polyhedron_Print(), sLBLCompute_holes(), sLBLCopy(), sLBLMake_lattice_equal_to(), sLBLPrint(), and Universe_Polyhedron().
|
static |
Definition at line 2079 of file Zpolyhedron.c.
References AddPolyToDomain(), bound_polyhedron(), polyhedron::Dimension, Disjoint_Domain(), domain_dark_shadow(), Domain_Free(), domain_insert_dim(), domain_project(), Domain_Remove_Integer_Empty(), DomainAddRays(), DomainConstraintSimplify(), DomainDifference(), DomainIntersection(), emptyQ, lbl::Lat, LatCountZeroCols(), Matrix_Alloc(), Matrix_Free(), MAXNOOFRAYS, matrix::NbColumns, polyhedron::next, Vector::p, matrix::p, lbl::P, P_VALUE_FMT, Polyhedron_Free(), Polyhedron_Print(), Polyhedron_Scan(), Scan_RestAP(), Vector::Size, sLBLPrint(), Universe_Polyhedron(), value_notzero_p, value_set_si, value_zero_p, Vector_Alloc(), Vector_Copy(), Vector_Free(), and Vector_Set().
Referenced by sLBL2ZDomain(), sLBLComplement(), and sLBLComplement2().
Definition at line 135 of file Zpolyhedron.c.
References lbl::Lat, LBLAlloc(), and lbl::P.
Referenced by LBLCopy(), LBLDisjointUnion(), sLBL2ZDomain(), and sLBLComplement2().
|
static |
Definition at line 106 of file Zpolyhedron.c.
References Domain_Free(), lbl::Lat, Matrix_Free(), and lbl::P.
Referenced by LBLFree().
Definition at line 1485 of file Zpolyhedron.c.
References errormsg1(), get_equalities(), lbl::Lat, Matrix_Copy(), polyhedron::next, lbl::next, lbl::P, P_VALUE_FMT, Polyhedron_Print(), and same_equalities().
Referenced by sLBLCanonical().
Definition at line 1139 of file Zpolyhedron.c.
References errormsg1(), lbl::Lat, LBLAlloc(), Matrix_Alloc(), Matrix_Free(), Matrix_Product(), matrix::NbColumns, matrix::NbRows, and lbl::P.
Referenced by LBLImage().
Definition at line 533 of file Zpolyhedron.c.
References AddConstraints(), AddPolyToDomain(), align_context(), polyhedron::Dimension, Domain_Free(), DomainImage(), DomainIntersection(), DomainPreimage(), EmptyLBL(), emptyQ, isEmptyLattice(), isEmptyLBL(), lbl::Lat, LatCountZeroCols(), LatticeIntersection(), LBLAlloc(), LBLPrint(), Matrix_Alloc(), Matrix_Free(), Matrix_Print(), MAXNOOFRAYS, matrix::NbColumns, matrix::NbRows, polyhedron::next, matrix::p, lbl::P, P_VALUE_FMT, Polyhedron_Free(), Polyhedron_Print(), sLBLPrint(), value_assign, value_substract, Vector_Copy(), Vector_Oppose(), and Vector_Set().
Referenced by LBLIntersection().
Definition at line 2773 of file Zpolyhedron.c.
References polyhedron::Dimension, Domain_Free(), domain_insert_dim(), DomainAddConstraints(), lbl::Lat, Matrix_Alloc(), Matrix_Free(), Matrix_Print(), MAXNOOFRAYS, matrix::NbColumns, matrix::NbRows, matrix::p, lbl::P, P_VALUE_FMT, sLBL_Lat_Normalize(), sLBLPrint(), value_assign, value_eq, value_ne, value_notzero_p, value_set_si, value_substract, value_zero_p, Vector_Copy(), and Vector_Set().
Referenced by LBLSimplify(), and sLBLComplement2().
Definition at line 1171 of file Zpolyhedron.c.
References align_context(), Domain_Free(), DomainAddConstraints(), errormsg1(), lbl::Lat, LBLAlloc(), Matrix_Alloc(), Matrix_Copy(), Matrix_Free(), Matrix_Inverse(), Matrix_Product(), MAXNOOFRAYS, matrix::NbColumns, matrix::NbRows, matrix::p, lbl::P, value_assign, value_one_p, value_oppose, value_set_si, and value_substract.
Referenced by LBLPreimage().
|
static |
Definition at line 307 of file Zpolyhedron.c.
References lbl::Lat, Matrix_Print(), matrix::NbRows, lbl::P, and Polyhedron_Print().
Referenced by LBLPrint(), LBLSimplify(), sLBLComplement(), sLBLComplement2(), sLBLCompute_holes(), sLBLIntersection(), and sLBLMake_lattice_equal_to().
Definition at line 1549 of file Zpolyhedron.c.
References AffineHermite(), Domain_Free(), DomainPreimage(), lbl::Lat, left_hermite(), Matrix_Alloc(), Matrix_Free(), Matrix_Print(), Matrix_Product(), MAXNOOFRAYS, matrix::NbColumns, polyhedron::NbEq, matrix::NbRows, lbl::P, P_VALUE_FMT, Polyhedron_Print(), and value_assign.
Referenced by sLBLCanonical().
| LBL * UniverseLBL | ( | int | dimension | ) |
Definition at line 218 of file Zpolyhedron.c.
References errormsg1(), lbl::Lat, Matrix_identity(), lbl::next, lbl::P, and Universe_Polyhedron().
Referenced by main().