```python
from typing import List

def wave_count(readings: List[float]) -> int:
    """
    Count the number of times a run of readings changes direction.
    
    Args:
    readings (List[float]): A list of float readings.
    
    Returns:
    int: The count of direction changes.
    """
    if not readings:
        return 0
    
    count = 0
    prev_reading = readings[0]
    
    for reading in readings[1:]:
        if prev_reading < reading and reading > prev_reading:
            count += 1
        elif prev_reading > reading and reading < prev_reading:
            count += 1
        prev_reading = reading
    
    return count
```