Dear Intel support,
We had some legacy software from awhile ago. And there is a piece of code that uses nsp.dll, nspa6.dll, nspm5.dll, nspm6.dll , etc. Which are the part of Interl Signal Processing library. And application calls these functions:
void _cdecl nspsRealFftl(float* samps, int order, int flags); void _cdecl nspsCcsFftl(float* samps, int order, int flags);
Here is how they called:
nspsRealFftl(&TrfmData[ctr * ChunkSize], 11, 0x81); // NSP_Forw|NSP_OutBitRev nspsCcsFftl(&TrfmData[ctr * ChunkSize], 11, 0x0202); // NSP_Inv|NSP_OutRCPerm
DLLs creation date is 30.07.1996
1. Does anyone know what are those functions inside?
2. Is there a document fully describing these functions and which exactly algorithm is used to compute FFT? Would anyone be so kind to provide a manual that came with that old version?
I took a look at the manual to Intel Signal Processing Library version 4.5 from year 2000 (the oldest one we have) and there is indeed a description of these functions. But when we try to replace original DLLs with DLLs from version 4.5 the application crushes.
3. Our goal is to update implementation and,maybe, replace these calls with open-source implementations of FFT if possible. If not - we will go with Intel IPP. But we want to ensure complete backwards compatibility, so the output from new application would be 100% identical to the old one. What would be your suggestion, respected friends? What is the best way to migrate this algorithm to a new codebase? Is there a way to migrate and keep output results to be the same?