Main Page   Compound List   File List   Compound Members   File Members  

ext_ehrhart.c File Reference

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

Go to the source code of this file.

Compounds

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.


Typedef Documentation

typedef struct _Polyhedron_union Polyhedron_union
 


Function Documentation

void AffConstraints Polyhedron   Poldisj
 

Definition at line 688 of file ext_ehrhart.c.

References polyhedron::next, P_VALUE_FMT, 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_Alloc(), matrix::NbRows, matrix::p, Soustraire_ligne(), swap_line(), 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 698 of file ext_ehrhart.c.

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

Referenced by Domain_Enumerate().

Polyhedron* DMUnion Enumeration   en,
unsigned    MR
 

Definition at line 676 of file ext_ehrhart.c.

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

Referenced by Domain_Enumerate().

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

Definition at line 710 of file ext_ehrhart.c.

References AffConstraints(), _evalue::d, Degenerate(), Disjoint_Domain(), DMUnion(), DomainDifference(), DomainIntersection(), ecopy(), emptyQ, _enumeration::EP, IncludeInRes(), MAXRAYS, new_eadd(), polyhedron::next, _enumeration::next, _Polyhedron_union::next, Polyhedron_Enumerate(), _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::NbRows, matrix::p, value_notzero_p, and value_zero_p.

Referenced by CalcBase().

int IncludeInRes Polyhedron   p,
Enumeration   e,
unsigned    MR
 

Definition at line 666 of file ext_ehrhart.c.

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

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(), Gcd(), new_enode(), periodic, polynomial, ppcm1(), 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 560 of file ext_ehrhart.c.

References Gcd(), Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, Vector::p, matrix::p, ppcm(), Scalar_product(), 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 833 of file ext_ehrhart.c.

References AddConstraints(), AddPolyToDomain(), AffConstraints(), CalcBase(), polyhedron::Constraint, polyhedron::Dimension, Domain_Enumerate(), DomainImage(), emptyQ, Matrix_Alloc(), Matrix_Copy(), Matrix_Free(), Matrix_Print(), MAXRAYS, matrix::NbColumns, polyhedron::NbConstraints, matrix::NbRows, Vector::p, matrix::p, P_VALUE_FMT, Polyhedron_Copy(), Polyhedron_Free(), Reduce_Matrix(), Scalar_product(), Transpose(), 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 551 of file ext_ehrhart.c.

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

Referenced by Orthogonal_Base().

int ppcm1 int    a,
int    b
[static]
 

Definition at line 543 of file ext_ehrhart.c.

References pgcd1().

Referenced by new_eadd().

Matrix* Reduce_Matrix Matrix   Mat
 

Definition at line 506 of file ext_ehrhart.c.

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

Referenced by Polyhedron_Image_Enumerate().

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

Definition at line 630 of file ext_ehrhart.c.

References _enumeration::next.

Referenced by Remove_RedundantDomains().

void Remove_RedundantDomains Enumeration **    Ures
 

Definition at line 642 of file ext_ehrhart.c.

References _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 525 of file ext_ehrhart.c.

References 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::NbColumns, matrix::p, 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::NbColumns, matrix::p, and value_assign.

Referenced by CalcBase().


Generated on Mon Mar 15 10:59:52 2004 for polylib by doxygen1.2.18