 
 public func DispatchRadix2CooleyTukey(level: Int, _ input: UnsafePointer<Double>, _ in_stride: Int, _ in_count: Int, _ _real: UnsafeMutablePointer<Double>, _ _imag: UnsafeMutablePointer<Double>, _ out_stride: Int) {
     
-    assert(in_count & 1 == 0, "size of input must be multiple of 2.")
-    
     switch level {
         
     case 0:


public func DispatchHalfRadix2CooleyTukey(level: Int, _ input: UnsafePointer<Double>, _ in_stride: Int, _ in_count: Int, _ _real: UnsafeMutablePointer<Double>, _ _imag: UnsafeMutablePointer<Double>, _ out_stride: Int) {
    
    assert(in_count & 1 == 0, "size of input must be multiple of 2.")
    
    switch level {
        
    case 0:

        let length = 1 << level
        let half = length >> 1
        let fourth = length >> 2
        
        assert(in_count & 1 == 0, "size of input must be multiple of 2.")
        
        DispatchRadix2CooleyTukey(level - 1, input, input + in_stride, in_stride << 1, in_count >> 1, _real, _imag, out_stride)
        
