void Swap(int i, int j) { if (i == j) { return; } idSwap(rowPtrs[i], rowPtrs[j]); m.SwapColumns(i, j); b.SwapElements(i, j); lo.SwapElements(i, j); hi.SwapElements(i, j); a.SwapElements(i, j); f.SwapElements(i, j); if (boxIndex != null) { idSwap(boxIndex[i], boxIndex[j]); } idSwap(side[i], side[j]); idSwap(permuted[i], permuted[j]); }