|
polylib 7.01
|
Go to the source code of this file.
Functions | |
| int | ConstraintSimplify (Value *old, Value *n, int len, Value *v) |
| Value * | value_alloc (int want, int *got) |
| void | value_free (Value *p, int size) |
| void | Factorial (int n, Value *result) |
| void | Binomial (int n, int p, Value *result) |
| void | CNP (int a, int b, Value *result) |
| void | Gcd (Value a, Value b, Value *result) |
| int | First_Non_Zero (Value *p, unsigned length) |
| Vector * | Vector_Alloc (unsigned length) |
| Vector * | Vector_Realloc (Vector *V, unsigned newlength) |
| void | Vector_Free (Vector *vector) |
| void | Vector_Print (FILE *Dst, const char *Format, Vector *Vec) |
| Vector * | Vector_Read (void) |
| void | Vector_Set (Value *p, int n, unsigned length) |
| void | Vector_Exchange (Value *p1, Value *p2, unsigned length) |
| void | Vector_Copy (Value *p1, Value *p2, unsigned length) |
| void | Vector_Add (Value *p1, Value *p2, Value *p3, unsigned length) |
| void | Vector_Sub (Value *p1, Value *p2, Value *p3, unsigned length) |
| void | Vector_Or (Value *p1, Value *p2, Value *p3, unsigned length) |
| void | Vector_Scale (Value *p1, Value *p2, Value lambda, unsigned length) |
| void | Vector_AntiScale (Value *p1, Value *p2, Value lambda, unsigned length) |
| void | Vector_Oppose (Value *p1, Value *p2, unsigned length) |
| void | Inner_Product (Value *p1, Value *p2, unsigned length, Value *result) |
| void | Vector_Max (Value *p, unsigned length, Value *result) |
| void | Vector_Min (Value *p, unsigned length, Value *result) |
| void | Vector_Combine (Value *p1, Value *p2, Value *p3, Value lambda, Value mu, unsigned length) |
| int | Vector_Equal (Value *Vec1, Value *Vec2, unsigned n) |
| void | Vector_Min_Not_Zero (Value *p, unsigned length, int *index, Value *result) |
| void | Vector_Gcd (Value *p, unsigned length, Value *result) |
| void | Vector_Map (Value *p1, Value *p2, Value *p3, unsigned length, Value *(*f)(Value, Value)) |
| void | Vector_Normalize (Value *p, unsigned length) |
| void | Vector_Normalize_Positive (Value *p, int length, int pos) |
| void | Vector_Reduce (Value *p, unsigned length, void(*f)(Value, Value *), Value *result) |
| void | Vector_Sort (Value *vector, unsigned n) |
| int | Vector_IsZero (Value *v, unsigned length) |
| void | free_value_cache (void) |
| void Binomial | ( | int | n, |
| int | p, | ||
| Value * | result | ||
| ) |
Definition at line 40 of file vector.c.
References Factorial(), n, value_clear, value_division, value_init, value_multiply, and value_set_si.
| void CNP | ( | int | a, |
| int | b, | ||
| Value * | result | ||
| ) |
Definition at line 69 of file vector.c.
References value_clear, value_division, value_init, value_multiply, and value_set_si.
Definition at line 743 of file vector.c.
References value_notone_p, value_one_p, value_pdivision, Vector_AntiScale(), and Vector_Gcd().
Referenced by Constraints2Polyhedron(), and p_simplify_constraints().
| void Factorial | ( | int | n, |
| Value * | result | ||
| ) |
Definition at line 22 of file vector.c.
References n, value_clear, value_init, value_multiply, and value_set_si.
Referenced by Binomial().
| int First_Non_Zero | ( | Value * | p, |
| unsigned | length | ||
| ) |
Definition at line 117 of file vector.c.
References value_notzero_p.
Referenced by Constraints2Polyhedron(), Constraints_Remove_parm_eqs(), ImplicitEqualities(), Remove_Redundants(), and Vector_Min_Not_Zero().
| void free_value_cache | ( | void | ) |
Definition at line 901 of file vector.c.
References assert, cache, cache_size, MAX_CACHE_SIZE, cache_holder::size, and value_clear.
Referenced by polylib_close().
Definition at line 96 of file vector.c.
References value_absolute, value_assign, value_clear, value_init, value_modulus, and value_notzero_p.
Referenced by Lcm3().
Definition at line 403 of file vector.c.
References value_addmul, value_multiply, and value_set_si.
Referenced by FindSimple(), lower_upper_bounds(), and test_Constraints_fullDimensionize().
| Value * value_alloc | ( | int | want, |
| int * | got | ||
| ) |
Definition at line 826 of file vector.c.
References assert, cache, cache_size, MAX_CACHE_SIZE, cache_holder::p, cache_holder::size, value_init, and Vector_Set().
Referenced by Matrix_Alloc(), Polyhedron_Alloc(), and Vector_Alloc().
| void value_free | ( | Value * | p, |
| int | size | ||
| ) |
Definition at line 875 of file vector.c.
References assert, cache, cache_size, MAX_CACHE_SIZE, cache_holder::p, cache_holder::size, and value_clear.
Referenced by Matrix_Free(), Polyhedron_Free(), and Vector_Free().
Definition at line 294 of file vector.c.
References value_addto.
| Vector * Vector_Alloc | ( | unsigned | length | ) |
Definition at line 134 of file vector.c.
References errormsg1(), Vector::p, Vector::p_Init_size, Vector::Size, and value_alloc().
Referenced by Domain_Remove_Integer_Empty(), DomainConstraintSimplify(), Ehrhart_Quick_Apx_Full_Dim(), Enumerate_NoParameters(), get_pivots(), Orthogonal_Base(), Param_Polyhedron_Scale_Integer(), Polyhedron_Enumerate(), Polyhedron_Image_Enumerate(), Polyhedron_Preprocess(), Remove_Redundants(), sLBLCompute_holes(), value_prime_factors(), and Vector_Read().
Definition at line 381 of file vector.c.
References value_divexact.
Referenced by ConstraintSimplify(), Gauss4(), mpolyhedron_simplify(), Orthogonal_Base(), Rays_Mult(), Rays_Mult_Transpose(), Vector_Normalize(), and Vector_Normalize_Positive().
Definition at line 455 of file vector.c.
References value_addmul, value_assign, value_clear, value_init, and value_multiply.
Referenced by bound_polyhedron(), Combine(), GaussSimplify(), and old_Polyhedron_Preprocess().
Definition at line 276 of file vector.c.
References value_assign.
Referenced by AddConstraints(), AddRays(), align_context(), bound_polyhedron(), Chernikova(), ComputeNPLinesRays(), Constraints2Polyhedron(), Constraints_Remove_parm_eqs(), Constraints_removeElimCols(), dehomogenize_polyhedron(), domain_insert_dim(), domain_project(), DomainSimplify(), Find_m_faces(), FindSimple(), GenPoly(), LBLSimplify(), LexSmaller(), Matrix_copySubMatrix(), Matrix_subMatrix(), p_simplify_constraints(), Polyhedron2Constraints(), Polyhedron2Rays(), Polyhedron_Copy(), polyhedron_dark_source(), Polyhedron_Preprocess(), Recession_Cone(), Remove_Redundants(), RemoveColumn(), RemoveNColumns(), RemoveRow(), right_hermite(), SimplifyConstraints(), SimplifyEqualities(), sLBLCompute_holes(), sLBLIntersection(), sLBLMake_lattice_equal_to(), Stras_DomainSimplify(), SubConstraint(), and traite_m_face().
Definition at line 263 of file vector.c.
References value_swap.
Referenced by Chernikova(), Gauss4(), GaussSimplify(), hermite(), RaySort(), Remove_Redundants(), and SortConstraints().
| void Vector_Free | ( | Vector * | vector | ) |
Definition at line 187 of file vector.c.
References Vector::p, Vector::p_Init_size, and value_free().
Referenced by Domain_Remove_Integer_Empty(), DomainConstraintSimplify(), Ehrhart_Quick_Apx_Full_Dim(), Enumerate_NoParameters(), generate_lattice_union_row(), LatticeDifference(), Param_Polyhedron_Scale_Integer(), Polyhedron_Enumerate(), Polyhedron_Image_Enumerate(), Polyhedron_Preprocess(), Remove_Redundants(), and sLBLCompute_holes().
Definition at line 518 of file vector.c.
References min, value_absolute, value_clear, value_init, value_modulus, value_notone_p, value_notzero_p, and Vector_Min_Not_Zero().
Referenced by ConstraintSimplify(), Gauss4(), GaussSimplify(), MatInverse(), Matrix_Inverse(), mpolyhedron_simplify(), Orthogonal_Base(), Rays_Mult(), Rays_Mult_Transpose(), Vector_Normalize(), and Vector_Normalize_Positive().
| int Vector_IsZero | ( | Value * | v, |
| unsigned | length | ||
| ) |
Definition at line 763 of file vector.c.
References value_notzero_p, value_set_si, and value_zero_p.
Referenced by eliminable_vars(), and int_ker().
Definition at line 567 of file vector.c.
References value_assign.
Definition at line 418 of file vector.c.
References max, value_assign, and value_maximum.
Definition at line 436 of file vector.c.
References min, value_assign, and value_minimum.
Definition at line 491 of file vector.c.
References First_Non_Zero(), min, value_absolute, value_assign, value_clear, value_init, value_lt, value_set_si, and value_zero_p.
Referenced by Vector_Gcd().
| void Vector_Normalize | ( | Value * | p, |
| unsigned | length | ||
| ) |
Definition at line 588 of file vector.c.
References value_clear, value_init, value_notone_p, Vector_AntiScale(), and Vector_Gcd().
Referenced by Combine(), GaussSimplify(), old_Polyhedron_Preprocess(), and Param_Polyhedron_Scale_Integer().
| void Vector_Normalize_Positive | ( | Value * | p, |
| int | length, | ||
| int | pos | ||
| ) |
Definition at line 607 of file vector.c.
References value_clear, value_init, value_neg_p, value_notone_p, value_oppose, Vector_AntiScale(), and Vector_Gcd().
Referenced by MatInverse(), and rat_prodmat().
Definition at line 392 of file vector.c.
References value_oppose.
Referenced by Gauss4(), and sLBLIntersection().
Definition at line 338 of file vector.c.
References value_orto.
| void Vector_Print | ( | FILE * | Dst, |
| const char * | Format, | ||
| Vector * | Vec | ||
| ) |
Definition at line 198 of file vector.c.
References Vector::p, P_VALUE_FMT, Vector::Size, and value_print.
| Vector * Vector_Read | ( | void | ) |
Definition at line 218 of file vector.c.
References errormsg1(), Vector::p, s, value_read, and Vector_Alloc().
Definition at line 160 of file vector.c.
References errormsg1(), Vector::p, Vector::p_Init_size, Vector::Size, value_init, and value_set_si.
Referenced by value_prime_factors().
Definition at line 625 of file vector.c.
References value_assign.
Definition at line 360 of file vector.c.
References value_multiply.
Referenced by Param_Polyhedron_Scale_Integer(), and Remove_Redundants().
| void Vector_Set | ( | Value * | p, |
| int | n, | ||
| unsigned | length | ||
| ) |
Definition at line 248 of file vector.c.
References n, and value_set_si.
Referenced by Constraints2Polyhedron(), domain_insert_dim(), domain_project(), Domain_Remove_Integer_Empty(), Empty_Polyhedron(), Enumerate_NoParameters(), Equalities_validityLattice(), ImplicitEqualities(), LatticeDifference(), LBLSimplify(), left_hermite(), MatInverse(), Matrix_Extend(), Matrix_Inverse(), Polyhedron_Not_Empty(), Polyhedron_Scan(), PolyhedronLTQ(), Rays2Polyhedron(), Remove_Redundants(), right_hermite(), sLBLCompute_holes(), sLBLIntersection(), sLBLMake_lattice_equal_to(), Universe_Polyhedron(), and value_alloc().
| void Vector_Sort | ( | Value * | vector, |
| unsigned | n | ||
| ) |
Definition at line 643 of file vector.c.
References n, value_assign, value_clear, value_init, and value_lt.