```ts
export function waveCount(readings: number[]): number {
  if (readings.length < 2) return 0;

  let changes = 0;
  for (let i = 1; i < readings.length; i++) {
    const current = readings[i];
    const prev = readings[i - 1];

    if ((current > prev && prev <= 0) || (prev < current && current >= 0)) {
      changes++;
    }
  }

  return changes;
}
```