=================================================================== RCS file: /home/cvs/OpenXM/src/ox_cdd/ox_cdd.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- OpenXM/src/ox_cdd/ox_cdd.c 2005/05/25 04:42:20 1.1 +++ OpenXM/src/ox_cdd/ox_cdd.c 2007/09/12 07:07:36 1.2 @@ -1,4 +1,4 @@ -/* $OpenXM$ */ +/* $OpenXM: OpenXM/src/ox_cdd/ox_cdd.c,v 1.1 2005/05/25 04:42:20 noro Exp $ */ #include #include @@ -37,7 +37,9 @@ extern int debug_print; void init_cdd(void); int **redcheck(int row,int col,int **matrix,int *presult_row); mytype *lpsolve(dd_LPObjectiveType type,int row,int col,int **matrix,int *obj); +mytype *lpintpt(int row, int col, int **matrix); + void dprint( int level, char *string ) { if( debug_print >= level ){ @@ -51,6 +53,7 @@ void dprint( int level, char *string ) #define LP_MAX 0 #define LP_MIN 1 #define LP_MAXMIN 2 +#define LP_INTPT 3 int initialize_stack() { @@ -184,6 +187,27 @@ cmo *matrix2cmo( int **matrix, int row, int col ) return (cmo *)result; } +cmo_qq* new_cmo_qq_set_mpq(mpq_ptr q); + +cmo *vector2cmo( mytype *vector, int len) +{ + cmo_list *result; + cmo *tmp; + int j; + + result = new_cmo_list(); + for(j=0;js, "lpmaxmin" ) == 0 ){ my_lpsolve(LP_Q,LP_MAXMIN); return 0; +#if defined GMPRATIONAL + } else if( strcmp( func->s, "intpt" ) == 0 ){ + my_lpsolve(LP_Q,LP_INTPT); + return 0; +#endif } else if( strcmp( func->s, "debugprint" ) == 0 ){ pop(); debug_print = get_i();