polyparam.c File Reference

#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 INT_BITS   (sizeof(unsigned) * 8)

Functions

static void traite_m_face (Polyhedron *, unsigned int *, unsigned int *)
static void scan_m_face (int, int, Polyhedron *, unsigned int *)
PolyhedronPDomainIntersection (Polyhedron *Pol1, Polyhedron *Pol2, unsigned NbMaxRays)
PolyhedronPDomainDifference (Polyhedron *Pol1, Polyhedron *Pol2, unsigned NbMaxRays)
static int TestRank (Matrix *Mat)
static SatMatrixSMAlloc (int rows, int cols)
static void SMPrint (SatMatrix *matrix)
static void SMFree (SatMatrix *matrix)
static PolyhedronAdd_CEqualities (Polyhedron *D)
unsigned int * int_array2bit_vector (unsigned int *array, int n)
static int count_sat (unsigned int *mf)
static int bit_vector_includes (unsigned int *bv, int len, unsigned int *part)
static SatMatrixPoly2Sat (Polyhedron *Pol, unsigned int **L)
Param_PolyhedronGenParamPolyhedron (Polyhedron *Pol, Matrix *Rays)
MatrixPreElim_Columns (Polyhedron *E, int *p, int *ref, int m)
PolyhedronElim_Columns (Polyhedron *A, Polyhedron *E, int *p, int *ref)
static PolyhedronRecession_Cone (Polyhedron *P, unsigned nvar, unsigned MaxRays)
static int ComputeNPLinesRays (int n, Polyhedron *D1, Matrix **Rays)
Param_PolyhedronFind_m_faces (Polyhedron **Di, Polyhedron *C, int keep_dom, int working_space, Polyhedron **CEq, Matrix **CT)
void Compute_PDomains (Param_Domain *PD, int nb_domains, int working_space)
Param_PolyhedronPolyhedron2Param_Vertices (Polyhedron *Din, Polyhedron *Cin, int working_space)
void Param_Vertices_Free (Param_Vertices *PV)
void Print_Vertex (FILE *DST, Matrix *V, const char **param_names)
MatrixVertexCT (Matrix *V, Matrix *CT)
void Print_Domain (FILE *DST, Polyhedron *D, const char **pname)
void Param_Vertices_Print (FILE *DST, Param_Vertices *PV, const char **param_names)
Param_PolyhedronPolyhedron2Param_Domain (Polyhedron *Din, Polyhedron *Cin, int working_space)
Param_PolyhedronPolyhedron2Param_SimplifiedDomain (Polyhedron **Din, Polyhedron *Cin, int working_space, Polyhedron **CEq, Matrix **CT)
void Param_Domain_Free (Param_Domain *PD)
void Param_Polyhedron_Free (Param_Polyhedron *P)
void Param_Polyhedron_Scale_Integer (Param_Polyhedron *PP, Polyhedron **P, Value *det, unsigned MaxRays)

Variables

static int m
static int m_dim
static int n
static int ws
static int nr
static PolyhedronCEqualities
static SatMatrixSat
static unsigned int * egalite
static MatrixXi
static MatrixPi
static MatrixPiTest
static MatrixCTest
static MatrixPiInv
static MatrixRaysDi
static int KD
static int nbPV
static Param_VerticesPV_Result
static Param_DomainPDomains
int cntbit [256]

Define Documentation

#define INT_BITS   (sizeof(unsigned) * 8)

Definition at line 339 of file polyparam.c.

Referenced by int_array2bit_vector().


Function Documentation

static Polyhedron* Add_CEqualities ( Polyhedron D  )  [static]
static int bit_vector_includes ( unsigned int *  bv,
int  len,
unsigned int *  part 
) [static]

Definition at line 559 of file polyparam.c.

Referenced by scan_m_face().

void Compute_PDomains ( Param_Domain PD,
int  nb_domains,
int  working_space 
)
static int ComputeNPLinesRays ( int  n,
Polyhedron D1,
Matrix **  Rays 
) [static]
static int count_sat ( unsigned int *  mf  )  [static]

Definition at line 542 of file polyparam.c.

References cntbit, and nr.

Referenced by scan_m_face().

Polyhedron* Elim_Columns ( Polyhedron A,
Polyhedron E,
int *  p,
int *  ref 
)
Param_Polyhedron* Find_m_faces ( Polyhedron **  Di,
Polyhedron C,
int  keep_dom,
int  working_space,
Polyhedron **  CEq,
Matrix **  CT 
)
Param_Polyhedron* GenParamPolyhedron ( Polyhedron Pol,
Matrix Rays 
)
unsigned int* int_array2bit_vector ( unsigned int *  array,
int  n 
)

Definition at line 341 of file polyparam.c.

References assert, INT_BITS, MSB, and NEXT.

Referenced by traite_m_face().

void Param_Domain_Free ( Param_Domain PD  ) 
void Param_Polyhedron_Free ( Param_Polyhedron P  ) 
void Param_Polyhedron_Scale_Integer ( Param_Polyhedron PP,
Polyhedron **  P,
Value *  det,
unsigned  MaxRays 
)
void Param_Vertices_Free ( Param_Vertices PV  ) 
void Param_Vertices_Print ( FILE *  DST,
Param_Vertices PV,
const char **  param_names 
)
Polyhedron* PDomainDifference ( Polyhedron Pol1,
Polyhedron Pol2,
unsigned  NbMaxRays 
)
Polyhedron* PDomainIntersection ( Polyhedron Pol1,
Polyhedron Pol2,
unsigned  NbMaxRays 
)
static SatMatrix* Poly2Sat ( Polyhedron Pol,
unsigned int **  L 
) [static]
Param_Polyhedron* Polyhedron2Param_Domain ( Polyhedron Din,
Polyhedron Cin,
int  working_space 
)
Param_Polyhedron* Polyhedron2Param_SimplifiedDomain ( Polyhedron **  Din,
Polyhedron Cin,
int  working_space,
Polyhedron **  CEq,
Matrix **  CT 
)
Param_Polyhedron* Polyhedron2Param_Vertices ( Polyhedron Din,
Polyhedron Cin,
int  working_space 
)

Definition at line 1546 of file polyparam.c.

References Find_m_faces(), _Param_Polyhedron::nbV, POL_ENSURE_FACETS, and POL_ENSURE_VERTICES.

Referenced by main().

Matrix* PreElim_Columns ( Polyhedron E,
int *  p,
int *  ref,
int  m 
)
void Print_Domain ( FILE *  DST,
Polyhedron D,
const char **  pname 
)
void Print_Vertex ( FILE *  DST,
Matrix V,
const char **  param_names 
)
static Polyhedron* Recession_Cone ( Polyhedron P,
unsigned  nvar,
unsigned  MaxRays 
) [static]
static void scan_m_face ( int  pos,
int  nb_un,
Polyhedron D,
unsigned int *  mf 
) [static]
static SatMatrix* SMAlloc ( int  rows,
int  cols 
) [static]

Definition at line 229 of file polyparam.c.

References assert, SatMatrix::NbColumns, SatMatrix::NbRows, SatMatrix::p, p, and SatMatrix::p_init.

Referenced by Poly2Sat().

static void SMFree ( SatMatrix matrix  )  [static]

Definition at line 268 of file polyparam.c.

References SatMatrix::p, and SatMatrix::p_init.

Referenced by Find_m_faces().

static void SMPrint ( SatMatrix matrix  )  [static]

Definition at line 252 of file polyparam.c.

References SatMatrix::NbColumns, SatMatrix::NbRows, SatMatrix::p, and p.

Referenced by Find_m_faces().

static int TestRank ( Matrix Mat  )  [static]
static void traite_m_face ( Polyhedron D,
unsigned int *  mf,
unsigned int *  egalite 
) [static]
Matrix* VertexCT ( Matrix V,
Matrix CT 
)

Variable Documentation

Definition at line 288 of file polyparam.c.

int cntbit[256]
Initial value:
 {                              
0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4,
1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,

1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,

1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,

2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8 }

Definition at line 521 of file polyparam.c.

Referenced by count_sat().

Matrix* CTest [static]

Definition at line 293 of file polyparam.c.

unsigned int* egalite [static]

Definition at line 290 of file polyparam.c.

Referenced by Find_m_faces(), and scan_m_face().

int KD [static]

Definition at line 298 of file polyparam.c.

Referenced by Find_m_faces(), and traite_m_face().

int m [static]

Definition at line 282 of file polyparam.c.

Referenced by Chernikova(), compute_enode(), Find_m_faces(), main(), scan_m_face(), and traite_m_face().

int m_dim [static]

Definition at line 283 of file polyparam.c.

Referenced by Find_m_faces(), and scan_m_face().

int n [static]
int nbPV [static]

Definition at line 301 of file polyparam.c.

Referenced by Find_m_faces(), main(), and traite_m_face().

int nr [static]

Definition at line 303 of file polyparam.c.

Matrix * Pi [static]

Definition at line 291 of file polyparam.c.

Matrix* PiInv [static]

Definition at line 294 of file polyparam.c.

Matrix* PiTest [static]

Definition at line 292 of file polyparam.c.

Definition at line 302 of file polyparam.c.

Matrix* RaysDi [static]

Definition at line 296 of file polyparam.c.

SatMatrix* Sat [static]
int ws [static]
Matrix* Xi [static]

Definition at line 291 of file polyparam.c.


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