Есть вот такая реализация FFT от Intel, не получается ее реализовать.
При выполнении слетает с ошибкой сегментации не пройдя и половину кода.
Делаю вот так:
Собственно прототип:
void _radix2_cfft(int* in, int* csNorm, int* csInv, int* index, int* out, int L);
Ассемблерный код:
push L
push out
push index
push csInv
push csNorm
push in
push out ; Просто мусор в вершину, вместо адреса возврата
mov eax, 4[esp]
mov edx, 8[esp]
__AIR_radix2_cfft:
........
Все входные данные имеют формат фиксированной запятой:
xyzzzzzzzzzzzzzz (итого 16 бит), где x - знак, y - до запятой, z-после запятой
Например: 0100101010101011
Каждым числом идут пара 16 битных чисел действительная часть и мнимая часть
Наврятли Intel выложил кривой код, скорее всего я что-то делаю не так.
Буду благодарен за любую вашу помощь и догадки почему не работает.
Спасибо.