swapHalf method

void swapHalf (Float64List array)

Reverses the order of the first half and the second half of array in place. Example: 1,2,3,4,5,6,7,8,9,10 => 5,4,3,2,1,10,9,8,7,6. See also method swap.

Implementation

static void swapHalf(Float64List array) {
  int right;
  double temp;
  int halfsize = array.length ~/ 2;

  // reverse 1st half of array
  for (int i = 0; i < halfsize ~/ 2; i++) {
    right = halfsize - 1 - i;
    temp = array[i];
    array[i] = array[right];
    array[right] = temp;
  }

  // reverse 2nd half of array
  for (int i = 0; i < halfsize ~/ 2; i++) {
    right = array.length - 1 - i;
    temp = array[halfsize + i];
    array[halfsize + i] = array[right];
    array[right] = temp;
  }
}