Main Page | Class List | File List | Class Members | File Members

ext_ehrhart.c File Reference

#include <stdlib.h>
#include <polylib/polylib.h>

Go to the source code of this file.

Classes

struct  _Polyhedron_union

Defines

#define WS   200

Typedefs

typedef _Polyhedron_union Polyhedron_union

Functions

int ppcm1 (int a, int b)
MatrixCalcBase (Matrix *R)
void Soustraire_ligne (Matrix *R, int l1, int l2, int piv)
int existepivot (Matrix *R, int l)
void swap_line (Matrix *R, int l1, int l2)
int pgcd1 (int a, int b)
void new_eadd (evalue *e1, evalue *res)
MatrixReduce_Matrix (Matrix *Mat)
void Scalar_product (Value *p1, Value *p2, unsigned length, Value *r)
void ppcm (Value a, Value b, Value *r)
MatrixOrthogonal_Base (Matrix *Mat)
void Remove_Element (Enumeration *en, Enumeration **re, Enumeration *prev)
void Remove_RedundantDomains (Enumeration **Ures)
int IncludeInRes (Polyhedron *p, Enumeration *e, unsigned MR)
PolyhedronDMUnion (Enumeration *en, unsigned MR)
void AffConstraints (Polyhedron *Poldisj)
int Degenerate (Enumeration *en)
EnumerationDomain_Enumerate (Polyhedron *D, Polyhedron *C, unsigned MAXRAYS, char **pn)
EnumerationPolyhedron_Image_Enumerate (Polyhedron *D, Polyhedron *C, Matrix *T, unsigned MAXRAYS, char **par_name)


Define Documentation

#define WS   200
 

Definition at line 4 of file ext_ehrhart.c.

Referenced by main().


Typedef Documentation

typedef struct _Polyhedron_union Polyhedron_union
 

Referenced by Domain_Enumerate().


Function Documentation

void AffConstraints Polyhedron Poldisj  ) 
 

Definition at line 689 of file ext_ehrhart.c.

References polyhedron::next, P_VALUE_FMT, Polyhedron, and Polyhedron_PrintConstraints().

Referenced by Domain_Enumerate(), and Polyhedron_Image_Enumerate().

Matrix * CalcBase Matrix R  ) 
 

Definition at line 29 of file ext_ehrhart.c.

References existepivot(), Gcd(), Matrix, Matrix_Alloc(), matrix::NbRows, matrix::p, Soustraire_ligne(), swap_line(), Value, value_addto, value_clear, value_division, value_init, value_multiply, value_neg_p, value_notzero_p, value_oppose, value_set_si, and value_zero_p.

Referenced by Polyhedron_Image_Enumerate().

int Degenerate Enumeration en  ) 
 

Definition at line 699 of file ext_ehrhart.c.

References _evalue::d, Enumeration, _enumeration::EP, value_mone_p, value_notzero_p, and _evalue::x.

Referenced by Domain_Enumerate().

Polyhedron* DMUnion Enumeration en,
unsigned  MR
 

Definition at line 677 of file ext_ehrhart.c.

References DomainUnion(), Enumeration, _enumeration::next, Polyhedron, and _enumeration::ValidityDomain.

Referenced by Domain_Enumerate().

Enumeration* Domain_Enumerate Polyhedron D,
Polyhedron C,
unsigned  MAXRAYS,
char **  pn
 

Definition at line 711 of file ext_ehrhart.c.

References AffConstraints(), _evalue::d, Degenerate(), Disjoint_Domain(), DMUnion(), DomainDifference(), DomainIntersection(), ecopy(), emptyQ, Enumeration, _enumeration::EP, evalue, IncludeInRes(), MAXRAYS, new_eadd(), _Polyhedron_union::next, _enumeration::next, polyhedron::next, Polyhedron, Polyhedron_Enumerate(), Polyhedron_union, _Polyhedron_union::pt, Remove_RedundantDomains(), _enumeration::ValidityDomain, value_assign, value_init, value_zero_p, and _evalue::x.

Referenced by main(), and Polyhedron_Image_Enumerate().

int existepivot Matrix R,
int  l
[static]
 

Definition at line 209 of file ext_ehrhart.c.

References Matrix, matrix::NbRows, matrix::p, value_notzero_p, and value_zero_p.

Referenced by CalcBase().

int IncludeInRes Polyhedron p,
Enumeration e,
unsigned  MR
 

Definition at line 667 of file ext_ehrhart.c.

References Enumeration, _enumeration::next, Polyhedron, and PolyhedronIncludes().

Referenced by Domain_Enumerate().

void new_eadd evalue e1,
evalue res
 

Definition at line 313 of file ext_ehrhart.c.

References _enode::arr, _evalue::d, ecopy(), enode, evalue, Gcd(), new_enode(), periodic, polynomial, ppcm1(), Value, value_addto, value_assign, value_clear, value_division, value_init, value_multiply, value_notone_p, value_notzero_p, value_set_si, value_zero_p, and _evalue::x.

Referenced by Domain_Enumerate().

Matrix* Orthogonal_Base Matrix Mat  ) 
 

Definition at line 561 of file ext_ehrhart.c.

References Gcd(), Matrix, Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, Vector::p, matrix::p, ppcm(), Scalar_product(), Value, value_assign, value_clear, value_division, value_init, value_multiply, value_notone_p, value_set_si, value_substract, Vector_Alloc(), and Vector_Gcd().

int pgcd1 int  a,
int  b
 

Definition at line 248 of file ext_ehrhart.c.

Referenced by ppcm1().

Enumeration* Polyhedron_Image_Enumerate Polyhedron D,
Polyhedron C,
Matrix T,
unsigned  MAXRAYS,
char **  par_name
 

Definition at line 834 of file ext_ehrhart.c.

References AddConstraints(), AddPolyToDomain(), AffConstraints(), CalcBase(), polyhedron::Constraint, polyhedron::Dimension, Domain_Enumerate(), DomainImage(), emptyQ, Enumeration, Matrix, Matrix_Alloc(), Matrix_Copy(), Matrix_Free(), Matrix_Print(), MAXRAYS, matrix::NbColumns, polyhedron::NbConstraints, matrix::NbRows, Vector::p, matrix::p, P_VALUE_FMT, Polyhedron, Polyhedron_Copy(), Polyhedron_Free(), Reduce_Matrix(), Scalar_product(), Transpose(), Value, value_assign, value_clear, value_decrement, value_init, value_oppose, value_pos_p, value_set_si, value_substract, value_zero_p, Vector_Alloc(), and Vector_Free().

void ppcm Value  a,
Value  b,
Value r
 

Definition at line 552 of file ext_ehrhart.c.

References Gcd(), Value, value_division, value_init, and value_multiply.

Referenced by Orthogonal_Base().

int ppcm1 int  a,
int  b
[static]
 

Definition at line 544 of file ext_ehrhart.c.

References pgcd1().

Referenced by new_eadd().

Matrix* Reduce_Matrix Matrix Mat  ) 
 

Definition at line 507 of file ext_ehrhart.c.

References Matrix, matrix::NbColumns, matrix::NbRows, matrix::p, Value, and value_clear.

Referenced by Polyhedron_Image_Enumerate().

void Remove_Element Enumeration en,
Enumeration **  re,
Enumeration prev
 

Definition at line 631 of file ext_ehrhart.c.

References Enumeration, and _enumeration::next.

Referenced by Remove_RedundantDomains().

void Remove_RedundantDomains Enumeration **  Ures  ) 
 

Definition at line 643 of file ext_ehrhart.c.

References Enumeration, _enumeration::next, PolyhedronIncludes(), Remove_Element(), and _enumeration::ValidityDomain.

Referenced by Domain_Enumerate().

void Scalar_product Value p1,
Value p2,
unsigned  length,
Value r
 

Definition at line 526 of file ext_ehrhart.c.

References Value, value_addto, value_clear, value_init, value_multiply, and value_set_si.

Referenced by Orthogonal_Base(), and Polyhedron_Image_Enumerate().

void Soustraire_ligne Matrix R,
int  l1,
int  l2,
int  piv
[static]
 

Definition at line 270 of file ext_ehrhart.c.

References Gcd(), Matrix, matrix::NbColumns, matrix::p, Value, value_clear, value_division, value_init, value_multiply, value_set_si, value_substract, and value_zero_p.

Referenced by CalcBase().

void swap_line Matrix R,
int  l1,
int  l2
[static]
 

Definition at line 232 of file ext_ehrhart.c.

References Matrix, matrix::NbColumns, matrix::p, Value, and value_assign.

Referenced by CalcBase().


Generated on Mon Sep 12 14:48:30 2005 for polylib by doxygen 1.3.5