#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <polylib/polylib.h>
Go to the source code of this file.
Classes | |
struct | SatMatrix |
Defines | |
#define | WSIZE (8*sizeof(int)) |
#define | bexchange(a, b, l) |
#define | exchange(a, b, t) { (t)=(a); (a)=(b); (b)=(t); } |
#define | SMVector_Copy(p1, p2, length) memcpy((char *)(p2), (char *)(p1), (int)((length)*sizeof(int))) |
#define | SMVector_Init(p1, length) memset((char *)(p1), 0, (int)((length)*sizeof(int))) |
Functions | |
void | errormsg1 (char *f, char *msgname, char *msg) |
SatMatrix * | SMAlloc (int rows, int cols) |
void | SMFree (SatMatrix **matrix) |
void | SMPrint (SatMatrix *matrix) |
void | SatVector_OR (int *p1, int *p2, int *p3, unsigned length) |
void | Combine (Value *p1, Value *p2, Value *p3, int pos, unsigned length) |
SatMatrix * | TransformSat (Matrix *Mat, Matrix *Ray, SatMatrix *Sat) |
void | RaySort (Matrix *Ray, SatMatrix *Sat, int NbBid, int NbRay, int *equal_bound, int *sup_bound, unsigned RowSize1, unsigned RowSize2, unsigned bx, unsigned jx) |
void | SatMatrix_Extend (SatMatrix *Sat, Matrix *Mat, unsigned rows) |
void | Matrix_Extend (Matrix *Mat, unsigned NbRows) |
int | Chernikova (Matrix *Mat, Matrix *Ray, SatMatrix *Sat, unsigned NbBid, unsigned NbMaxRays, unsigned FirstConstraint, unsigned dual) |
int | Gauss4 (Value **p, int NbEq, int NbRows, int Dimension) |
int | Gauss (Matrix *Mat, int NbEq, int Dimension) |
Polyhedron * | Remove_Redundants (Matrix *Mat, Matrix *Ray, SatMatrix *Sat, unsigned *Filter) |
Polyhedron * | Polyhedron_Alloc (unsigned Dimension, unsigned NbConstraints, unsigned NbRays) |
void | Polyhedron_Free (Polyhedron *Pol) |
void | Domain_Free (Polyhedron *Pol) |
void | Polyhedron_Print (FILE *Dst, char *Format, Polyhedron *Pol) |
void | PolyPrint (Polyhedron *Pol) |
Polyhedron * | Empty_Polyhedron (unsigned Dimension) |
Polyhedron * | Universe_Polyhedron (unsigned Dimension) |
Polyhedron * | Constraints2Polyhedron (Matrix *Constraints, unsigned NbMaxRays) |
Given a matrix of constraints ('Constraints'), construct and return a polyhedron. | |
Matrix * | Polyhedron2Constraints (Polyhedron *Pol) |
Polyhedron * | Rays2Polyhedron (Matrix *Ray, unsigned NbMaxConstrs) |
Given a matrix of rays 'Ray', create and return a polyhedron. | |
void | Polyhedron_Compute_Dual (Polyhedron *P) |
SatMatrix * | BuildSat (Matrix *Mat, Matrix *Ray, unsigned NbConstraints, unsigned NbMaxRays) |
Polyhedron * | AddConstraints (Value *Con, unsigned NbConstraints, Polyhedron *Pol, unsigned NbMaxRays) |
int | PolyhedronIncludes (Polyhedron *Pol1, Polyhedron *Pol2) |
Polyhedron * | AddPolyToDomain (Polyhedron *Pol, Polyhedron *PolDomain) |
Polyhedron * | SubConstraint (Value *Con, Polyhedron *Pol, unsigned NbMaxRays, int Pass) |
Polyhedron * | DomainIntersection (Polyhedron *Pol1, Polyhedron *Pol2, unsigned NbMaxRays) |
Matrix * | Polyhedron2Rays (Polyhedron *Pol) |
Polyhedron * | AddRays (Value *AddedRays, unsigned NbAddedRays, Polyhedron *Pol, unsigned NbMaxConstrs) |
Polyhedron * | DomainAddRays (Polyhedron *Pol, Matrix *Ray, unsigned NbMaxConstrs) |
Polyhedron * | Polyhedron_Copy (Polyhedron *Pol) |
Polyhedron * | Domain_Copy (Polyhedron *Pol) |
void | addToFilter (int k, unsigned *Filter, SatMatrix *Sat, Value *tmpR, Value *tmpC, int NbRays, int NbConstraints) |
void | FindSimple (Polyhedron *P1, Polyhedron *P2, unsigned *Filter, unsigned NbMaxRays) |
int | SimplifyConstraints (Polyhedron *Pol1, Polyhedron *Pol2, unsigned *Filter, unsigned NbMaxRays) |
void | SimplifyEqualities (Polyhedron *Pol1, Polyhedron *Pol2, unsigned *Filter) |
Polyhedron * | DomainSimplify (Polyhedron *Pol1, Polyhedron *Pol2, unsigned NbMaxRays) |
Polyhedron * | Stras_DomainSimplify (Polyhedron *Pol1, Polyhedron *Pol2, unsigned NbMaxRays) |
Polyhedron * | DomainUnion (Polyhedron *Pol1, Polyhedron *Pol2, unsigned NbMaxRays) |
Polyhedron * | DomainConvex (Polyhedron *Pol, unsigned NbMaxConstrs) |
Polyhedron * | DomainDifference (Polyhedron *Pol1, Polyhedron *Pol2, unsigned NbMaxRays) |
Polyhedron * | align_context (Polyhedron *Pol, int align_dimension, int NbMaxRays) |
Polyhedron * | Polyhedron_Scan (Polyhedron *D, Polyhedron *C, unsigned NbMaxRays) |
int | lower_upper_bounds (int pos, Polyhedron *P, Value *context, Value *LBp, Value *UBp) |
void | Rays_Mult (Value **A, Matrix *B, Value **C, unsigned NbRays) |
void | Rays_Mult_Transpose (Value **A, Matrix *B, Value **C, unsigned NbRays) |
Polyhedron * | Polyhedron_Preimage (Polyhedron *Pol, Matrix *Func, unsigned NbMaxRays) |
Polyhedron * | DomainPreimage (Polyhedron *Pol, Matrix *Func, unsigned NbMaxRays) |
Polyhedron * | Polyhedron_Image (Polyhedron *Pol, Matrix *Func, unsigned NbMaxConstrs) |
Polyhedron * | DomainImage (Polyhedron *Pol, Matrix *Func, unsigned NbMaxConstrs) |
Interval * | DomainCost (Polyhedron *Pol, Value *Cost) |
Polyhedron * | DomainAddConstraints (Polyhedron *Pol, Matrix *Mat, unsigned NbMaxRays) |
Polyhedron * | Disjoint_Domain (Polyhedron *P, int flag, unsigned NbMaxRays) |
void | Polyhedron_PrintConstraints (FILE *Dst, char *Format, Polyhedron *Pol) |
void | Domain_PrintConstraints (FILE *Dst, char *Format, Polyhedron *Pol) |
Polyhedron * | p_simplify_constraints (Polyhedron *P, Vector *row, Value *g, unsigned MaxRays) |
Polyhedron * | DomainConstraintSimplify (Polyhedron *P, unsigned MaxRays) |
Variables | |
int | Pol_status |
|
Value: {\ char *t = (char *)malloc(l*sizeof(char));\ memcpy((t), (char *)(a), (int)(l));\ memcpy((char *)(a), (char *)(b), (int)(l));\ memcpy((char *)(b), (t), (int)(l));\ free(t); \ } Definition at line 54 of file polyhedron.c. Referenced by RaySort(), and Remove_Redundants(). |
|
Definition at line 63 of file polyhedron.c. Referenced by Remove_Redundants(). |
|
Definition at line 182 of file polyhedron.c. Referenced by Chernikova(). |
|
Definition at line 188 of file polyhedron.c. Referenced by BuildSat(), Constraints2Polyhedron(), DomainSimplify(), FindSimple(), Rays2Polyhedron(), Stras_DomainSimplify(), and TransformSat(). |
|
Definition at line 52 of file polyhedron.c. Referenced by addToFilter(), and Chernikova(). |
|
Definition at line 2335 of file polyhedron.c. References any_exception_error, BuildSat(), CATCH, Chernikova(), polyhedron::Constraint, polyhedron::Dimension, errormsg1(), Matrix, Matrix_Alloc(), Matrix_Free(), polyhedron::NbBid, polyhedron::NbConstraints, polyhedron::NbRays, matrix::NbRows, matrix::p, POL_ENSURE_FACETS, POL_ENSURE_VERTICES, POL_NO_DUAL, Pol_status, Polyhedron, Polyhedron_Copy(), Polyhedron_Free(), polyhedron::Ray, Remove_Redundants(), RETHROW, SMFree(), TRY, UNCATCH, Value, and Vector_Copy(). |
|
Definition at line 2462 of file polyhedron.c. References emptyQ, polyhedron::next, p, POL_ENSURE_FACETS, POL_ENSURE_VERTICES, Polyhedron, Polyhedron_Free(), and PolyhedronIncludes(). |
|
Definition at line 2691 of file polyhedron.c. References any_exception_error, BuildSat(), CATCH, Chernikova(), polyhedron::Constraint, polyhedron::Dimension, errormsg1(), Matrix, Matrix_Alloc(), Matrix_Free(), polyhedron::NbConstraints, polyhedron::NbEq, polyhedron::NbRays, matrix::NbRows, matrix::p_Init, POL_ENSURE_FACETS, POL_ENSURE_VERTICES, POL_NO_DUAL, Pol_status, Polyhedron, Polyhedron_Free(), polyhedron::Ray, Remove_Redundants(), RETHROW, SMFree(), TransformSat(), TRY, UNCATCH, Value, and Vector_Copy(). |
|
Definition at line 2888 of file polyhedron.c. References MSB, NEXT, SatMatrix::p, Value, value_decrement, value_posz_p, value_set_si, and WSIZE. Referenced by FindSimple(). |
|
Definition at line 3686 of file polyhedron.c. References any_exception_error, CATCH, polyhedron::Constraint, polyhedron::Dimension, errormsg1(), F_ISSET, polyhedron::flags, polyhedron::NbBid, polyhedron::NbConstraints, polyhedron::NbEq, polyhedron::NbRays, polyhedron::next, p, POL_INEQUALITIES, POL_POINTS, POL_VALID, Polyhedron, Polyhedron_Alloc(), Polyhedron_Copy(), Polyhedron_Free(), polyhedron::Ray, RETHROW, TRY, UNCATCH, value_assign, value_set_si, and Vector_Copy(). |
|
Definition at line 2279 of file polyhedron.c. References any_exception_error, CATCH, Matrix, MSB, matrix::NbColumns, SatMatrix::NbRows, matrix::NbRows, NEXT, SatMatrix::p, matrix::p, SatMatrix::p_init, RETHROW, SMAlloc(), SMFree(), SMVector_Init, TRY, UNCATCH, Value, value_addmul, value_notzero_p, and value_set_si. Referenced by AddConstraints(), AddRays(), SimplifyConstraints(), and SubConstraint(). |
|
Definition at line 401 of file polyhedron.c. References any_exception_error, CATCH, Combine(), errormsg1(), Matrix, Matrix_Extend(), Matrix_Print(), MSB, SatMatrix::NbColumns, matrix::NbColumns, SatMatrix::NbRows, matrix::NbRows, NEXT, SatMatrix::p, matrix::p, P_VALUE_FMT, RaySort(), RETHROW, SatMatrix_Extend(), SatVector_OR(), SMPrint(), SMVector_Copy, TRY, UNCATCH, Value, value_addmul, value_multiply, value_neg_p, value_notzero_p, value_oppose, value_print, value_zero_p, Vector_Copy(), Vector_Exchange(), and WSIZE. Referenced by AddConstraints(), AddRays(), Constraints2Polyhedron(), Rays2Polyhedron(), SimplifyConstraints(), and SubConstraint(). |
|
Definition at line 201 of file polyhedron.c. References Gcd(), Value, value_absolute, value_assign, value_clear, value_division, value_init, value_oppose, Vector_Combine(), and Vector_Normalize(). Referenced by Chernikova(), and Gauss4(). |
|
Given a matrix of constraints ('Constraints'), construct and return a polyhedron.
Definition at line 1976 of file polyhedron.c. References any_exception_error, CATCH, Chernikova(), polyhedron::Constraint, errormsg1(), ExchangeRows(), F_SET, Gauss(), Matrix, Matrix_Alloc(), Matrix_Free(), Matrix_Print(), matrix::NbColumns, polyhedron::NbEq, SatMatrix::NbRows, matrix::NbRows, matrix::p, SatMatrix::p_init, matrix::p_Init, POL_INEQUALITIES, POL_NO_DUAL, POL_VALID, Polyhedron, Polyhedron_Alloc(), Polyhedron_Free(), Polyhedron_Print(), polyhedron::Ray, Remove_Redundants(), RETHROW, SMAlloc(), SMFree(), SMPrint(), SMVector_Init, TRY, UNCATCH, Universe_Polyhedron(), value_set_si, value_zero_p, Vector_Copy(), and Vector_Set(). |
|
Definition at line 4408 of file polyhedron.c. References AddConstraints(), AddPolyToDomain(), polyhedron::Constraint, Domain_Free(), emptyQ, errormsg1(), polyhedron::NbConstraints, polyhedron::next, Polyhedron, Polyhedron_Copy(), Polyhedron_Free(), SubConstraint(), and value_zero_p. |
|
Definition at line 2850 of file polyhedron.c. References Domain_Copy(), polyhedron::next, Polyhedron, and Polyhedron_Copy(). |
|
Definition at line 1800 of file polyhedron.c. References polyhedron::next, Polyhedron, and Polyhedron_Free(). |
|
Definition at line 4642 of file polyhedron.c. References polyhedron::next, Polyhedron, and Polyhedron_PrintConstraints(). |
|
Definition at line 4355 of file polyhedron.c. References AddConstraints(), polyhedron::Dimension, errormsg1(), Matrix, matrix::NbColumns, matrix::NbRows, polyhedron::next, matrix::p_Init, Polyhedron, and PolyhedronIncludes(). |
|
Definition at line 2780 of file polyhedron.c. References AddRays(), polyhedron::Dimension, errormsg1(), Matrix, matrix::NbColumns, matrix::NbRows, polyhedron::next, matrix::p, Polyhedron, and PolyhedronIncludes(). |
|
Definition at line 4681 of file polyhedron.c. References polyhedron::Dimension, emptyQ, polyhedron::next, Vector::p, p_simplify_constraints(), Polyhedron, Polyhedron_Free(), Value, value_clear, value_init, value_set_si, Vector_Alloc(), and Vector_Free(). |
|
Definition at line 3597 of file polyhedron.c. References AddRays(), any_exception_error, CATCH, polyhedron::next, p, Polyhedron, Polyhedron_Copy(), Polyhedron_Free(), RETHROW, TRY, and UNCATCH. |
|
Definition at line 4227 of file polyhedron.c. References any_exception_error, CATCH, polyhedron::Dimension, errormsg1(), Interval, interval::MaxD, interval::MaxI, interval::MaxN, interval::MinD, interval::MinI, interval::MinN, polyhedron::NbRays, POL_ENSURE_FACETS, POL_ENSURE_VERTICES, Polyhedron, polyhedron::Ray, RETHROW, TRY, UNCATCH, Value, value_addto, value_assign, value_clear, value_eq, value_gt, value_init, value_lt, value_multiply, value_ne, value_oppose, value_set_si, and value_zero_p. |
|
Definition at line 3629 of file polyhedron.c. References AddPolyToDomain(), polyhedron::Constraint, polyhedron::Dimension, Domain_Copy(), Domain_Free(), Empty_Polyhedron(), emptyQ, errormsg1(), polyhedron::NbConstraints, polyhedron::next, POL_ENSURE_FACETS, POL_ENSURE_VERTICES, Polyhedron, SubConstraint(), and value_notzero_p. |
|
Definition at line 4191 of file polyhedron.c. References AddPolyToDomain(), any_exception_error, CATCH, Matrix, p, Polyhedron, Polyhedron_Free(), Polyhedron_Image(), RETHROW, TRY, and UNCATCH. |
|
Definition at line 2637 of file polyhedron.c. References AddConstraints(), AddPolyToDomain(), polyhedron::Constraint, polyhedron::Dimension, Empty_Polyhedron(), errormsg1(), polyhedron::NbConstraints, polyhedron::next, and Polyhedron. |
|
Definition at line 4065 of file polyhedron.c. References AddPolyToDomain(), any_exception_error, CATCH, Matrix, p, Polyhedron, Polyhedron_Free(), Polyhedron_Preimage(), RETHROW, TRY, and UNCATCH. |
|
Definition at line 3287 of file polyhedron.c. References AddPolyToDomain(), polyhedron::Constraint, Constraints2Polyhedron(), polyhedron::Dimension, Empty_Polyhedron(), emptyQ, errormsg1(), Matrix, Matrix_Alloc(), Matrix_Free(), MSB, polyhedron::NbConstraints, matrix::NbRows, NEXT, polyhedron::next, matrix::p, POL_ENSURE_VERTICES, Pol_status, Polyhedron, SimplifyConstraints(), SimplifyEqualities(), SMVector_Init, and Vector_Copy(). |
|
Definition at line 3516 of file polyhedron.c. References polyhedron::Dimension, errormsg1(), polyhedron::next, Polyhedron, Polyhedron_Copy(), and PolyhedronIncludes(). |
|
Definition at line 1899 of file polyhedron.c. References polyhedron::Constraint, errormsg1(), F_SET, polyhedron::NbBid, polyhedron::NbEq, POL_FACETS, POL_INEQUALITIES, POL_POINTS, POL_VALID, POL_VERTICES, Polyhedron, Polyhedron_Alloc(), value_set_si, and Vector_Set(). |
|
Definition at line 28 of file errormsg.c. References Pol_status. |
|
Definition at line 2929 of file polyhedron.c. References AddConstraints(), addToFilter(), any_exception_error, CATCH, polyhedron::Constraint, polyhedron::Dimension, emptyQ, errormsg1(), Matrix, Matrix_Alloc(), Matrix_Free(), MSB, polyhedron::NbConstraints, SatMatrix::NbRows, matrix::NbRows, NEXT, SatMatrix::p, matrix::p, SatMatrix::p_init, matrix::p_Init, Polyhedron, Polyhedron_Copy(), Polyhedron_Free(), RETHROW, SMAlloc(), SMFree(), SMVector_Init, TRY, UNCATCH, Value, value_add_int, value_addmul, value_assign, value_clear, value_decrement, value_eq, value_gt, value_increment, value_init, value_notzero_p, value_pos_p, value_posz_p, value_set_si, value_zero_p, Vector_Copy(), and Vector_Set(). Referenced by SimplifyConstraints(). |
|
Definition at line 857 of file polyhedron.c. References Gauss4(), Matrix, Matrix_Print(), matrix::NbRows, and matrix::p. |
|
Definition at line 749 of file polyhedron.c. References any_exception_error, CATCH, Combine(), errormsg1(), p, RETHROW, TRY, UNCATCH, Value, value_clear, value_cmp_si, value_division, value_init, value_neg_p, value_notzero_p, value_oppose, Vector_Exchange(), and Vector_Gcd(). Referenced by Gauss(), and Polyhedron_Image(). |
|
Definition at line 3815 of file polyhedron.c. References polyhedron::Constraint, polyhedron::Dimension, Inner_Product(), LB_INFINITY, polyhedron::NbConstraints, POL_ENSURE_FACETS, POL_ENSURE_VERTICES, Polyhedron, UB_INFINITY, Value, value_add_int, value_assign, value_clear, value_division, value_gt, value_init, value_lt, value_modulus, value_neg_p, value_notzero_p, value_oppose, value_pos_p, value_set_si, value_sub_int, and value_zero_p. |
|
Definition at line 358 of file polyhedron.c. References errormsg1(), Matrix, matrix::NbColumns, matrix::NbRows, matrix::p, p, matrix::p_Init, matrix::p_Init_size, Value, value_init, and Vector_Set(). Referenced by Chernikova(). |
|
Definition at line 4649 of file polyhedron.c. References AddConstraints(), polyhedron::Constraint, ConstraintSimplify(), polyhedron::Dimension, polyhedron::NbConstraints, Vector::p, Polyhedron, Polyhedron_Free(), and Value. Referenced by DomainConstraintSimplify(). |
|
Definition at line 2098 of file polyhedron.c. References polyhedron::Constraint, polyhedron::Dimension, errormsg1(), Matrix, Matrix_Alloc(), polyhedron::NbConstraints, matrix::p_Init, POL_ENSURE_INEQUALITIES, Polyhedron, and Vector_Copy(). |
|
Definition at line 2669 of file polyhedron.c. References polyhedron::Dimension, errormsg1(), Matrix, Matrix_Alloc(), polyhedron::NbRays, matrix::p_Init, POL_ENSURE_POINTS, Polyhedron, polyhedron::Ray, and Vector_Copy(). |
|
Definition at line 1740 of file polyhedron.c. References polyhedron::Constraint, polyhedron::Dimension, errormsg1(), polyhedron::flags, polyhedron::NbBid, polyhedron::NbConstraints, polyhedron::NbEq, polyhedron::NbRays, polyhedron::next, p, polyhedron::p_Init, polyhedron::p_Init_size, Polyhedron, polyhedron::Ray, Value, and value_alloc(). |
|
Definition at line 2240 of file polyhedron.c. References assert, polyhedron::Constraint, Constraints2Polyhedron(), polyhedron::Dimension, F_ISSET, Matrix, matrix::NbColumns, polyhedron::NbConstraints, matrix::NbRows, polyhedron::next, matrix::p, matrix::p_Init, polyhedron::p_Init, POL_FACETS, POL_INEQUALITIES, POL_VALID, POL_VERTICES, Polyhedron, and Polyhedron_Free(). |
|
Definition at line 2823 of file polyhedron.c. References polyhedron::Constraint, polyhedron::Dimension, errormsg1(), polyhedron::flags, polyhedron::NbBid, polyhedron::NbConstraints, polyhedron::NbEq, polyhedron::NbRays, Polyhedron, Polyhedron_Alloc(), polyhedron::Ray, and Vector_Copy(). |
|
Definition at line 1787 of file polyhedron.c. References polyhedron::Constraint, polyhedron::p_Init, polyhedron::p_Init_size, Polyhedron, and value_free(). |
|
|
Definition at line 4005 of file polyhedron.c. References any_exception_error, CATCH, polyhedron::Constraint, Constraints2Polyhedron(), polyhedron::Dimension, Empty_Polyhedron(), errormsg1(), Matrix, Matrix_Alloc(), Matrix_Free(), matrix::NbColumns, polyhedron::NbConstraints, matrix::NbRows, matrix::p, POL_ENSURE_FACETS, POL_ENSURE_VERTICES, Pol_status, Polyhedron, Polyhedron_Free(), Rays_Mult(), RETHROW, TRY, and UNCATCH. |
|
Definition at line 1814 of file polyhedron.c. References polyhedron::Constraint, polyhedron::Dimension, polyhedron::NbBid, polyhedron::NbConstraints, polyhedron::NbEq, polyhedron::NbRays, polyhedron::next, p, Polyhedron, Polyhedron_Print(), polyhedron::Ray, Value, VALUE_FMT, value_notzero_p, and value_print. |
|
Definition at line 4627 of file polyhedron.c. References polyhedron::Constraint, polyhedron::Dimension, polyhedron::NbConstraints, Polyhedron, and value_print. |
|
Definition at line 3755 of file polyhedron.c. References align_context(), polyhedron::Dimension, Domain_Free(), DomainAddRays(), DomainIntersection(), DomainSimplify(), errormsg1(), Matrix, Matrix_Alloc(), Matrix_Free(), matrix::NbRows, polyhedron::next, matrix::p, matrix::p_Init, POL_ENSURE_FACETS, POL_ENSURE_VERTICES, Polyhedron, value_set_si, and Vector_Set(). |
|
Definition at line 2418 of file polyhedron.c. References polyhedron::Constraint, polyhedron::Dimension, polyhedron::NbConstraints, polyhedron::NbRays, POL_ENSURE_FACETS, POL_ENSURE_VERTICES, Polyhedron, polyhedron::Ray, Value, value_addmul, value_clear, value_init, value_neg_p, value_notzero_p, value_set_si, and value_zero_p. |
|
Definition at line 1888 of file polyhedron.c. References Polyhedron, and Polyhedron_Print(). |
|
Given a matrix of rays 'Ray', create and return a polyhedron.
Definition at line 2125 of file polyhedron.c. References any_exception_error, CATCH, Chernikova(), Empty_Polyhedron(), errormsg1(), Matrix, Matrix_Alloc(), Matrix_Free(), Matrix_Print(), matrix::NbColumns, SatMatrix::NbRows, matrix::NbRows, SatMatrix::p, matrix::p, matrix::p_Init, POL_NO_DUAL, Polyhedron, Polyhedron_Free(), Polyhedron_Print(), Remove_Redundants(), RETHROW, SMAlloc(), SMFree(), SMPrint(), SMVector_Init, TransformSat(), TRY, UNCATCH, value_set_si, and Vector_Set(). |
|
Definition at line 3923 of file polyhedron.c. References any_exception_error, CATCH, Matrix, matrix::NbColumns, matrix::NbRows, matrix::p, RETHROW, TRY, UNCATCH, Value, value_addmul, value_assign, value_clear, value_init, value_notone_p, value_set_si, Vector_AntiScale(), and Vector_Gcd(). Referenced by Polyhedron_Image(), and Polyhedron_Preimage(). |
|
Definition at line 3962 of file polyhedron.c. References any_exception_error, CATCH, Matrix, matrix::NbColumns, matrix::NbRows, matrix::p, RETHROW, TRY, UNCATCH, Value, value_addmul, value_assign, value_clear, value_init, value_notone_p, value_set_si, Vector_AntiScale(), and Vector_Gcd(). Referenced by Polyhedron_Image(). |
|
Definition at line 288 of file polyhedron.c. References bexchange, Matrix, SatMatrix::p, matrix::p, Value, value_neg_p, value_zero_p, and Vector_Exchange(). Referenced by Chernikova(). |
|
|
Definition at line 337 of file polyhedron.c. References errormsg1(), Matrix, SatMatrix::NbRows, matrix::NbRows, SatMatrix::p, and SatMatrix::p_init. Referenced by Chernikova(). |
|
Definition at line 163 of file polyhedron.c. Referenced by Chernikova(). |
|
Definition at line 3147 of file polyhedron.c. References any_exception_error, BuildSat(), CATCH, Chernikova(), polyhedron::Constraint, polyhedron::Dimension, emptyQ, errormsg1(), FindSimple(), Matrix, Matrix_Alloc(), Matrix_Free(), polyhedron::NbBid, polyhedron::NbConstraints, polyhedron::NbRays, matrix::NbRows, matrix::p_Init, POL_NO_DUAL, Pol_status, Polyhedron, Polyhedron_Free(), polyhedron::Ray, Remove_Redundants(), RETHROW, SMFree(), TRY, UNCATCH, and Vector_Copy(). Referenced by DomainSimplify(), and Stras_DomainSimplify(). |
|
Definition at line 3234 of file polyhedron.c. References polyhedron::Constraint, polyhedron::Dimension, errormsg1(), Gauss(), Matrix, Matrix_Alloc(), Matrix_Free(), MSB, polyhedron::NbEq, NEXT, matrix::p, matrix::p_Init, Pol_status, Polyhedron, value_notzero_p, and Vector_Copy(). Referenced by DomainSimplify(). |
|
Definition at line 92 of file polyhedron.c. References errormsg1(), SatMatrix::NbColumns, SatMatrix::NbRows, SatMatrix::p, p, and SatMatrix::p_init. |
|
Definition at line 128 of file polyhedron.c. References SatMatrix::p, and SatMatrix::p_init. |
|
Definition at line 145 of file polyhedron.c. References SatMatrix::NbColumns, SatMatrix::NbRows, SatMatrix::p, and p. |
|
Definition at line 3395 of file polyhedron.c. References AddPolyToDomain(), any_exception_error, CATCH, polyhedron::Constraint, Constraints2Polyhedron(), polyhedron::Dimension, Empty_Polyhedron(), emptyQ, errormsg1(), Matrix, Matrix_Alloc(), Matrix_Free(), MSB, polyhedron::NbConstraints, matrix::NbRows, NEXT, polyhedron::next, matrix::p, POL_ENSURE_VERTICES, Polyhedron, Polyhedron_Free(), RETHROW, SimplifyConstraints(), SMVector_Init, TRY, UNCATCH, and Vector_Copy(). |
|
|
Definition at line 249 of file polyhedron.c. References Matrix, MSB, matrix::NbRows, NEXT, SatMatrix::p, SatMatrix::p_init, SMAlloc(), and SMVector_Init. Referenced by AddRays(), and Rays2Polyhedron(). |
|
Definition at line 1932 of file polyhedron.c. References polyhedron::Constraint, errormsg1(), F_SET, polyhedron::NbBid, polyhedron::NbEq, POL_FACETS, POL_INEQUALITIES, POL_POINTS, POL_VALID, POL_VERTICES, Polyhedron, Polyhedron_Alloc(), polyhedron::Ray, value_set_si, and Vector_Set(). |
|
Definition at line 72 of file polyhedron.c. |