void FloatArray::correlateInitialized(FloatArray operand2, FloatArray destination){ ASSERT(destination.size >= size+operand2.size-1, "Destination array too small"); //TODO: change CMSIS docs, which state a different size /// @note When built for ARM Cortex-M processor series, this method uses the optimized <a href="http://www.keil.com/pack/doc/CMSIS/General/html/index.html">CMSIS library</a> #ifdef ARM_CORTEX arm_correlate_f32(data, size, operand2.data, operand2.size, destination); #else //correlation is the same as a convolution where one of the signals is flipped in time //so we flip in time operand2 operand2.reverse(); //and convolve it with fa to obtain the correlation convolve(operand2, destination); //and we flip back operand2, so that the input is not modified operand2.reverse(); #endif /* ARM_CORTEX */ }