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 struct _Polyhedron_union Polyhedron_union

Functions

static int ppcm1 (int a, int b)
MatrixCalcBase (Matrix *R)
static void Soustraire_ligne (Matrix *R, int l1, int l2, int piv)
static int existepivot (Matrix *R, int l)
static 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)
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, const char **pn)
EnumerationPolyhedron_Image_Enumerate (Polyhedron *D, Polyhedron *C, Matrix *T, unsigned MAXRAYS, const char **par_name)

Define Documentation

#define WS   200

Definition at line 20 of file ext_ehrhart.c.

Referenced by main().


Typedef Documentation


Function Documentation

void AffConstraints ( Polyhedron Poldisj  ) 
Matrix * CalcBase ( Matrix R  ) 
int Degenerate ( Enumeration en  ) 

Definition at line 690 of file ext_ehrhart.c.

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

Referenced by Domain_Enumerate().

Polyhedron* DMUnion ( Enumeration en,
unsigned  MR 
)

Definition at line 668 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,
const char **  pn 
)
static int existepivot ( Matrix R,
int  l 
) [static]

Definition at line 218 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 658 of file ext_ehrhart.c.

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

Referenced by Domain_Enumerate().

void new_eadd ( evalue e1,
evalue res 
)
Matrix* Orthogonal_Base ( Matrix Mat  ) 
int pgcd1 ( int  a,
int  b 
)

Definition at line 257 of file ext_ehrhart.c.

Referenced by ppcm1().

Enumeration* Polyhedron_Image_Enumerate ( Polyhedron D,
Polyhedron C,
Matrix T,
unsigned  MAXRAYS,
const char **  par_name 
)
int ppcm1 ( int  a,
int  b 
) [static]

Definition at line 548 of file ext_ehrhart.c.

References pgcd1().

Referenced by new_eadd().

Matrix* Reduce_Matrix ( Matrix Mat  ) 

Definition at line 514 of file ext_ehrhart.c.

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

Referenced by Polyhedron_Image_Enumerate().

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

Definition at line 622 of file ext_ehrhart.c.

References _enumeration::next.

Referenced by Remove_RedundantDomains().

void Remove_RedundantDomains ( Enumeration **  Ures  ) 
void Scalar_product ( Value *  p1,
Value *  p2,
unsigned  length,
Value *  r 
)

Definition at line 533 of file ext_ehrhart.c.

References value_addmul, and value_set_si.

Referenced by Orthogonal_Base(), and Polyhedron_Image_Enumerate().

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

Definition at line 241 of file ext_ehrhart.c.

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

Referenced by CalcBase().


Generated on Wed Nov 25 17:45:27 2009 for polylib by  doxygen 1.6.1