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

matrix_addon.h File Reference

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

Go to the source code of this file.

Defines

#define show_matrix(M)   {printf(#M"= \n"); Matrix_Print(stderr,P_VALUE_FMT,(M));}

Functions

void split_constraints (Matrix const *M, Matrix **Eqs, Matrix **Ineqs)
MatrixIdentity_Matrix (unsigned int dim)
void mtransformation_inverse (Matrix *transf, Matrix **inv, Value *g)
void mpolyhedron_simplify (Matrix *polyh)
void mpolyhedron_inflate (Matrix *polyh, unsigned int nb_parms)
void mpolyhedron_deflate (Matrix *polyh, unsigned int nb_parms)
void eliminate_var_with_constr (Matrix *Eliminator, unsigned int eliminator_row, Matrix *Victim, unsigned int victim_row, unsigned int var_to_elim)
void mpolyhedron_compress_last_vars (Matrix *M, Matrix *compression)
unsigned int mpolyhedron_eliminate_first_variables (Matrix *Eqs, Matrix *Ineqs)


Define Documentation

#define show_matrix  )     {printf(#M"= \n"); Matrix_Print(stderr,P_VALUE_FMT,(M));}
 

Definition at line 12 of file matrix_addon.h.

Referenced by Ehrhart_Quick_Apx(), LexSmaller(), and main().


Function Documentation

void eliminate_var_with_constr Matrix Eliminator,
unsigned int  eliminator_row,
Matrix Victim,
unsigned int  victim_row,
unsigned int  var_to_elim
 

Definition at line 154 of file matrix_addon.c.

References Lcm3(), Matrix, matrix::NbColumns, matrix::p, Value, value_absolute, value_assign, value_clear, value_division, value_init, value_multiply, value_notzero_p, and value_subtract.

Referenced by mpolyhedron_eliminate_first_variables().

Matrix* Identity_Matrix unsigned int  dim  ) 
 

Definition at line 38 of file matrix_addon.c.

References Matrix, Matrix_Alloc(), matrix::p, and value_set_si.

Referenced by compress_parms(), full_dimensionize(), and mtransformation_expand_left_to_dim().

void mpolyhedron_compress_last_vars Matrix M,
Matrix compression
 

Definition at line 197 of file matrix_addon.c.

References assert, Matrix, Matrix_Alloc(), Matrix_Free(), matrix::NbColumns, matrix::NbRows, matrix::p, value_addmul, value_assign, and value_set_si.

Referenced by Ehrhart_Quick_Apx(), and full_dimensionize().

void mpolyhedron_deflate Matrix polyh,
unsigned int  nb_parms
 

Definition at line 134 of file matrix_addon.c.

References Matrix, matrix::NbColumns, matrix::NbRows, matrix::p, Value, value_addto, value_clear, value_init, value_set_si, value_sign, and value_subtract.

Referenced by main().

unsigned int mpolyhedron_eliminate_first_variables Matrix Eqs,
Matrix Ineqs
 

Definition at line 221 of file matrix_addon.c.

References eliminate_var_with_constr(), Matrix, matrix::NbRows, matrix::p, value_cmp_si, and value_set_si.

Referenced by full_dimensionize().

void mpolyhedron_inflate Matrix polyh,
unsigned int  nb_parms
 

Definition at line 113 of file matrix_addon.c.

References Matrix, matrix::NbColumns, matrix::NbRows, matrix::p, Value, value_addto, value_clear, value_init, value_set_si, value_sign, and value_subtract.

Referenced by main().

void mpolyhedron_simplify Matrix polyh  ) 
 

Definition at line 97 of file matrix_addon.c.

References Gcd(), Matrix, matrix::NbColumns, matrix::NbRows, matrix::p, Value, value_clear, value_division, VALUE_FMT, value_init, value_print, and value_set_si.

void mtransformation_inverse Matrix transf,
Matrix **  inv,
Value g
 

Definition at line 53 of file matrix_addon.c.

References Lcm3(), MatInverse(), Matrix, Matrix_Alloc(), Matrix_Copy(), Matrix_Free(), matrix::NbColumns, matrix::NbRows, matrix::p, Value, value_clear, value_division, value_init, value_multiply, and value_set_si.

void split_constraints Matrix const *  M,
Matrix **  Eqs,
Matrix **  Ineqs
 

Definition at line 9 of file matrix_addon.c.

References Matrix, Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, matrix::p, value_assign, and value_zero_p.

Referenced by full_dimensionize().


Generated on Mon Sep 12 15:15:12 2005 for polylib by doxygen 1.3.5