#if USE_MOBILITY_TRACKING if (results->mobilityWindowLength > 0) { int var; int first, last; int ham = 0; int *firstPtr, *lastPtr; first = results->windowStart; firstPtr = results->mobilityWindow + first * n; if (results->currentWindowLength < results->mobilityWindowLength - 1) { for (var = 0; var < n; var++) { *firstPtr = X[var]; firstPtr++; } results->currentWindowLength++; } else { last = (first + results->mobilityWindowLength + 1) % results->mobilityWindowLength; lastPtr = results->mobilityWindow + last * n; for (var = 0; var < n; var++) { *firstPtr = X[var]; if (*firstPtr != *lastPtr) ham++; firstPtr++; lastPtr++; } results->sumMobility += ham; } results->windowStart = (results->windowStart + 1) % results->mobilityWindowLength; } #endif