private void saveState()
{
// Increase capacity if necessary
if (nSaved == savedC.Length)
{
System.Object tmp;
tmp = savedC;
savedC = new int[nSaved + SAVED_INC];
// CONVERSION PROBLEM?
Array.Copy((System.Array)tmp, 0, savedC, 0, nSaved);
tmp = savedCT;
savedCT = new int[nSaved + SAVED_INC];
Array.Copy((System.Array)tmp, 0, savedCT, 0, nSaved);
tmp = savedA;
savedA = new int[nSaved + SAVED_INC];
Array.Copy((System.Array)tmp, 0, savedA, 0, nSaved);
tmp = savedB;
savedB = new int[nSaved + SAVED_INC];
Array.Copy((System.Array)tmp, 0, savedB, 0, nSaved);
tmp = savedDelFF;
savedDelFF = new bool[nSaved + SAVED_INC];
Array.Copy((System.Array)tmp, 0, savedDelFF, 0, nSaved);
}
// Save the current sate
savedC[nSaved] = c;
savedCT[nSaved] = cT;
savedA[nSaved] = a;
savedB[nSaved] = b;
savedDelFF[nSaved] = delFF;
nSaved++;
}