epsel=DEF_EPSEL;
non_zeros=0;
- for(int i = 0; i < mat_alloc; i++) { set_row_nr(mat,i, 0); set_value(mat, i, 0); }
- for(int i = 0; i < mat_alloc; i++) col_no[i] = 0;
- for(int i = 0; i < columns + 1; i++) col_end[i] = 0;
+ for(int i = 0; i < col_end.length; i++) col_end[i] = 0;
for(int i = 0; i < rows + 1; i++) row_end[i] = 0;
for(int i = 0; i < rows + 1; i++) orig_rh[i] = 0;
for(int i = 0; i < rows + 1; i++) rh[i] = 0;
for(int i = 0; i <= rows; i++) { bas[i]=i; basis[i]=TRUE; }
for(int i = rows + 1; i <= sum; i++) basis[i]=FALSE;
for(int i = 0 ; i <= sum; i++) lower[i]=TRUE;
- for(int i = 0; i < eta_alloc; i++) eta_value[i] = 0;
- for(int i = 0; i < eta_alloc; i++) eta_row_nr[i] = 0;
- for(int i = 0; i < rows_alloc + max_num_inv; i++) eta_col_end[i] = 0;
for(int i = 0; i <= sum; i++) solution[i] = 0;
for(int i = 0; i <= sum; i++) best_solution[i] = 0;
for(int i = 0; i <= rows; i++) duals[i] = 0;
}
public int solve() {
- int result;
+ int result = FAILURE;
if (active == FALSE) set_globals();
total_iter = 0;
max_level = 1;
eta_size = Eta_size;
eta_alloc = Eta_alloc;
num_inv = Num_inv;
- return(result);
}
- return(FAILURE);
+ for(int i = 0; i < maxmat; i++) { set_row_nr(mat,i, 0); set_value(mat, i, 0); }
+ for(int i = 0; i < maxmat; i++) col_no[i] = 0;
+
+ // FIXME: not sure about this
+ for(int i = 0; i < Eta_size; i++) eta_value[i] = 0;
+ for(int i = 0; i < Eta_size; i++) eta_row_nr[i] = 0;
+ for(int i = 0; i < Eta_size; i++) eta_col_end[i] = 0;
+
+ maxmat = 0;
+ return(result);
}
+ private int maxmat = 0;
private final static float round( float val, float eps) { return (Math.abs(val) < eps) ? 0 : val; }
- static int get_row_nr(MatrixArray m, int i) { return m.row_nr[i]; }
- static void set_row_nr(MatrixArray m, int i, int val) { m.row_nr[i] = val; }
- static float get_value(MatrixArray m, int i) { return m.value[i]; }
- static void set_value(MatrixArray m, int i, float val) { m.value[i] = val; }
+ int get_row_nr(MatrixArray m, int i) { return m.row_nr[i]; }
+ void set_row_nr(MatrixArray m, int i, int val) { m.row_nr[i] = val; maxmat = Math.max(i, maxmat); }
+ float get_value(MatrixArray m, int i) { return m.value[i]; }
+ void set_value(MatrixArray m, int i, float val) { m.value[i] = val; maxmat = Math.max(i, maxmat); }
public static class MatrixArray {
public int[] row_nr;
public float[] value;