pub fn in_place_bit_reverse_permute<E>(input: &mut [E]) {
    for i in 0..input.len() {
        let bit_reversed_index = reverse_index(i, input.len() as u64);
        if bit_reversed_index > i {
            input.swap(i, bit_reversed_index);
        }
    }
}
In-place bit-reverse permutation algorithm. Requires input length to be a power of two.
crates/math/src/fft/cpu/bit_reversing.rs