static void swapProblem (ATYPE A, dReal *x, dReal *b, dReal *w, dReal *lo, dReal *hi, int *p, bool *state, int *findex, int n, int i1, int i2, int nskip, int do_fast_row_swaps) { dReal tmpr; int tmpi; bool tmpb; dIASSERT (n>0 && i1 >=0 && i2 >= 0 && i1 < n && i2 < n && nskip >= n && i1 <= i2); if (i1==i2) return; swapRowsAndCols (A,n,i1,i2,nskip,do_fast_row_swaps); tmpr = x[i1]; x[i1] = x[i2]; x[i2] = tmpr; tmpr = b[i1]; b[i1] = b[i2]; b[i2] = tmpr; tmpr = w[i1]; w[i1] = w[i2]; w[i2] = tmpr; tmpr = lo[i1]; lo[i1] = lo[i2]; lo[i2] = tmpr; tmpr = hi[i1]; hi[i1] = hi[i2]; hi[i2] = tmpr; tmpi = p[i1]; p[i1] = p[i2]; p[i2] = tmpi; tmpb = state[i1]; state[i1] = state[i2]; state[i2] = tmpb; if (findex) { tmpi = findex[i1]; findex[i1] = findex[i2]; findex[i2] = tmpi; } }
static void swapProblem (ATYPE A, dReal *x, dReal *b, dReal *w, dReal *lo, dReal *hi, int *p, int *state, int *findex, int n, int i1, int i2, int nskip, int do_fast_row_swaps) { dReal tmp; int tmpi; dIASSERT (n>0 && i1 >=0 && i2 >= 0 && i1 < n && i2 < n && nskip >= n && i1 <= i2); if (i1==i2) return; swapRowsAndCols (A,n,i1,i2,nskip,do_fast_row_swaps); #ifdef dUSE_MALLOC_FOR_ALLOCA if (dMemoryFlag == d_MEMORY_OUT_OF_MEMORY) return; #endif tmp = x[i1]; x[i1] = x[i2]; x[i2] = tmp; tmp = b[i1]; b[i1] = b[i2]; b[i2] = tmp; tmp = w[i1]; w[i1] = w[i2]; w[i2] = tmp; tmp = lo[i1]; lo[i1] = lo[i2]; lo[i2] = tmp; tmp = hi[i1]; hi[i1] = hi[i2]; hi[i2] = tmp; tmpi = p[i1]; p[i1] = p[i2]; p[i2] = tmpi; tmpi = state[i1]; state[i1] = state[i2]; state[i2] = tmpi; if (findex) { tmpi = findex[i1]; findex[i1] = findex[i2]; findex[i2] = tmpi; } }