Convolução 1D

Algorítimo para convolução de sinais 1D (vetores) em C++ (mas pode ser adaptado para C sem problemas). Eu tentei deixá-lo bem genérico, por isso talvez algumas passagens não fiquem claras, mas se tiverem qualquer dúvida não deixem de perguntar. Se encontrarem algum furo, por favor avisem!

Por: Rodrigo Vasconcelos de Barros