#include "mkl.h" #include static void mkl_test_1(void) { DFTI_DESCRIPTOR_HANDLE h_dfti; MKL_LONG status = 0; int fftlen = 168; double buf[2*168] = {0}; double *re = 0; double *im = 0; int i; re = &buf[0]; im = re + fftlen; for( i = 0 ; i < fftlen; i++ ) im[i] = 0; re[0] = 1 ; re[1] = 0.9845610352472405 ; re[2] = 0.9387078695211419 ; re[3] = 0.8638379670978544 ; re[4] = 0.7622473288582996 ; re[5] = 0.6370608231751157 ; re[6] = 0.4921367353640238 ; re[7] = 0.3319484299947794 ; re[8] = 0.161446737257063 ; re[9] = -0.01409271812280575 ; re[10] = -0.1892325484479183 ; re[11] = -0.3585419637971988 ; re[12] = -0.5167652513463682 ; re[13] = -0.6589851445181178 ; re[14] = -0.780775997385541 ; re[15] = -0.878341982345934 ; re[16] = -0.9486359812605115 ; re[17] = -0.9894554285139489 ; re[18] = -0.9995120709671471 ; re[19] = -0.978473413007258 ; re[20] = -0.9269744901795867 ; re[21] = -0.846599535215131 ; re[22] = -0.7398340371297482 ; re[23] = -0.6099886183217148 ; re[24] = -0.4610970373597063 ; re[25] = -0.2977914387444079 ; re[26] = -0.1251586896910412 ; re[27] = 0.05141775486076222 ; re[28] = 0.2264255534694179 ; re[29] = 0.3943955275915001 ; re[30] = 0.5500726907372725 ; re[31] = 0.6885809060316196 ; re[32] = 0.8055760054032676 ; re[33] = 0.897382550541386 ; re[34] = 0.9611099147208824 ; re[35] = 0.9947440005404693 ; re[36] = 0.997211662086204 ; re[37] = 0.9684157478300475 ; re[38] = 0.9092395964409825 ; re[39] = 0.8215207731217249 ; re[40] = 0.7079947992313348 ; re[41] = 0.5722105725299508 ; re[42] = 0.4184200696250724 ; re[43] = 0.2514457378158615 ; re[44] = 0.07652969458057375 ; re[45] = -0.1008305633110443 ; re[46] = -0.2750548015000592 ; re[47] = -0.4406556238706015 ; re[48] = -0.5924114584757697 ; re[49] = -0.7255314959322425 ; re[50] = -0.8358073613681088 ; re[51] = -0.9197467051028866 ; re[52] = -0.974684454564221 ; re[53] = -0.9988681634544387 ; re[54] = -0.991514702458599 ; re[55] = -0.9528364337038995 ; re[56] = -0.8840359706762522 ; re[57] = -0.7872696162482867 ; re[58] = -0.6655805626333324 ; re[59] = -0.5228038970813191 ; re[60] = -0.3634463554594141 ; re[61] = -0.1925445738354039 ; re[62] = -0.01550627987094949 ; re[63] = 0.1620605811126459 ; re[64] = 0.3345253941555108 ; re[65] = 0.4964134789626373 ; re[66] = 0.6425800837417708 ; re[67] = 0.768374232694664 ; re[68] = 0.8697871984475632 ; re[69] = 0.9435808450383585 ; re[70] = 0.9873917140937055 ; re[71] = 0.9998074871273936 ; re[72] = 0.9804133267526659 ; re[73] = 0.9298065517189985 ; re[74] = 0.8495791050281197 ; re[75] = 0.7422682991333703 ; re[76] = 0.6112773347838243 ; re[77] = 0.460768058105286 ; re[78] = 0.2955293129612638 ; re[79] = 0.1208250337562509 ; re[80] = -0.05777311791572493 ; re[81] = -0.2345632625031477 ; re[82] = -0.4038953085779053 ; re[83] = -0.5603516475213565 ; re[84] = -0.6989207546382508 ; re[85] = -0.8151581257018747 ; re[86] = -0.9053293681201966 ; re[87] = -0.966530823252875 ; re[88] = -0.9967838036432799 ; re[89] = -0.9950993639194853 ; re[90] = -0.9615114605444699 ; re[91] = -0.8970773637785366 ; re[92] = -0.8038452330542937 ; re[93] = -0.6847898209520378 ; re[94] = -0.5437182972666285 ; re[95] = -0.3851491501968337 ; re[96] = -0.2141679952050986 ; re[97] = -0.03626487516659592 ; re[98] = 0.1428417566076753 ; re[99] = 0.317388736116981 ; re[100] = 0.4817536741005795 ; re[101] = 0.630636256481556 ; re[102] = 0.7592295077657151 ; re[103] = 0.8633754729989666 ; re[104] = 0.9397002613542748 ; re[105] = 0.9857240465931199 ; re[106] = 0.9999424160694479 ; re[107] = 0.9818763753960874 ; re[108] = 0.9320893212273459 ; re[109] = 0.8521703576437457 ; re[110] = 0.7446844181891173 ; re[111] = 0.6130907306334524 ; re[112] = 0.4616321901879201 ; re[113] = 0.2951991557050495 ; re[114] = 0.119172021342593 ; re[115] = -0.06075238429401575 ; re[116] = -0.2387449815602351 ; re[117] = -0.4090332574083132 ; re[118] = -0.5660886024361009 ; re[119] = -0.7048060840019684 ; re[120] = -0.8206708011511666 ; re[121] = -0.9099053870896723 ; re[122] = -0.969593822847399 ; re[123] = -0.9977774827890579 ; re[124] = -0.9935202246988205 ; re[125] = -0.9569403357327367 ; re[126] = -0.8892082184712881 ; re[127] = -0.7925098139334796 ; re[128] = 0 ; re[129] = 0 ; re[130] = 0 ; re[131] = 0 ; re[132] = 0 ; re[133] = 0 ; re[134] = 0 ; re[135] = 0 ; re[136] = 0 ; re[137] = 0 ; re[138] = 0 ; re[139] = 0 ; re[140] = 0 ; re[141] = 0 ; re[142] = 0 ; re[143] = 0 ; re[144] = 0 ; re[145] = 0 ; re[146] = 0 ; re[147] = 0 ; re[148] = 0 ; re[149] = 0 ; re[150] = 0 ; re[151] = 0 ; re[152] = 0 ; re[153] = 0 ; re[154] = 0 ; re[155] = 0 ; re[156] = 0 ; re[157] = 0 ; re[158] = 0 ; re[159] = 0 ; re[160] = 0 ; re[161] = 0 ; re[162] = 0 ; re[163] = 0 ; re[164] = 0 ; re[165] = 0 ; re[166] = 0 ; re[167] = 0 ; status = DftiCreateDescriptor( &h_dfti ,DFTI_DOUBLE, DFTI_COMPLEX, (MKL_LONG) 1 , (MKL_LONG) fftlen ); if( status != 0 ) return; status = DftiSetValue( h_dfti , DFTI_COMPLEX_STORAGE, DFTI_REAL_REAL); if( status != 0 ) return; status = DftiCommitDescriptor(h_dfti); if( status != 0 ) return; status = DftiComputeForward(h_dfti, re, im); if( status != 0 ) return; printf("FFT OUTPUT FOR TEST 1\n"); for( i = 0 ; i < fftlen; i++ ) { printf("%.9f %.9f\n",re[i],im[i]); } DftiFreeDescriptor(&h_dfti); printf("---------------------\n"); return; } int main(void) { mkl_test_1(); return 0; }