Browse Source

Add some more tests

master
Ivan Ukhov 9 years ago
parent
commit
3bd4b23b4a
  1. 654
      tests/fixtures.rs
  2. 60
      tests/lib.rs

654
tests/fixtures.rs

@ -1,4 +1,4 @@
pub const TIME_DATA: [f64; 2 * 128] = [
pub const TIME_DATA_256: [f64; 256] = [
0.242578298897752, 0.013469574513598,
0.383138850044058, 0.414652690484492,
0.067768972864267, 0.993126929734427,
@ -129,7 +129,7 @@ pub const TIME_DATA: [f64; 2 * 128] = [
0.452619465744411, 0.175360766321123,
];
pub const FREQUENCY_DATA_FOR_COMPLEX: [f64; 2 * 128] = [
pub const FREQUENCY_DATA_128_COMPLEX: [f64; 2 * 128] = [
6.750656266720340e+01, 6.279874768750683e+01,
7.714838837855442e-02, 5.819389938527752e+00,
-5.303978155417409e+00, -2.887549849606836e-01,
@ -260,7 +260,7 @@ pub const FREQUENCY_DATA_FOR_COMPLEX: [f64; 2 * 128] = [
-2.916435892389174e+00, 2.258137395096740e+00,
];
pub const FREQUENCY_DATA_FOR_REAL: [f64; 2 * 128] = [
pub const FREQUENCY_DATA_256_REAL_PACKED: [f64; 256] = [
1.303053103547102e+02, 4.707814979696565e+00,
2.581170396731581e+00, 1.851687150427200e-01,
-4.712992966498972e+00, 3.386970116076342e+00,
@ -391,7 +391,7 @@ pub const FREQUENCY_DATA_FOR_REAL: [f64; 2 * 128] = [
-5.420457900742201e+00, -3.376083828388293e+00,
];
pub const FREQUENCY_DATA_FOR_REAL_UNPACKED: [f64; 2 * 256] = [
pub const FREQUENCY_DATA_256_REAL_UNPACKED: [f64; 2 * 256] = [
1.303053103547102e+02, 0.000000000000000e+00,
2.581170396731584e+00, 1.851687150427199e-01,
-4.712992966498973e+00, 3.386970116076343e+00,
@ -649,3 +649,649 @@ pub const FREQUENCY_DATA_FOR_REAL_UNPACKED: [f64; 2 * 256] = [
-4.712992966498973e+00, -3.386970116076343e+00,
2.581170396731584e+00, -1.851687150427199e-01,
];
pub const TIME_DATA_512: [f64; 512] = [
1.806168877531084e-01, 4.505110747357421e-02, 7.231734791830953e-01, 3.474376455817901e-01,
6.606168245029038e-01, 3.838686010719714e-01, 6.273465024434670e-01, 2.164981463030646e-02,
9.105699885230285e-01, 8.005586562788111e-01, 7.458474843427212e-01, 8.131128136107607e-01,
3.833063186255292e-01, 6.172792323164492e-01, 5.754948597028139e-01, 5.300517047650156e-01,
2.750697558219350e-01, 2.486289596619704e-01, 4.516387704519728e-01, 2.277128260265476e-01,
8.044495836130701e-01, 9.861042418959701e-01, 2.999195026938994e-02, 5.356641906672377e-01,
8.707721990089234e-02, 8.020914405558039e-01, 9.891449097003400e-01, 6.694625839775015e-02,
9.393983618845348e-01, 1.817753363669572e-02, 6.838386137463554e-01, 7.837364800832186e-01,
5.341375678827283e-01, 8.853594509311418e-01, 8.990048989061401e-01, 6.259376260804959e-01,
1.378689924125582e-01, 2.178015937121246e-01, 1.821410758904337e-01, 4.181986397295434e-02,
1.069416585502070e-01, 6.164434850856851e-01, 9.396610101610667e-01, 3.544557309673289e-01,
4.106290900595140e-01, 9.843494169844516e-01, 9.455791890352626e-01, 6.766446784335391e-01,
9.883022623132862e-01, 7.668313872165943e-01, 3.366992643914761e-01, 6.623818603994812e-01,
2.441652867902793e-01, 2.955072508315968e-01, 6.801783712305021e-01, 5.278468304187979e-01,
4.115935134075346e-01, 6.026382180363972e-01, 7.505200559237356e-01, 5.835331742619586e-01,
5.517925149359675e-01, 5.835706187577144e-01, 5.118199199584752e-01, 8.259272699869935e-02,
7.195701348594897e-01, 9.961561112968694e-01, 3.545343049569218e-01, 9.712588151834057e-01,
3.464487613003596e-01, 8.865438617603063e-01, 4.546948649919078e-01, 4.134272890208153e-01,
2.177320683573004e-01, 1.256545873626262e-01, 3.089145935668153e-01, 7.261044316648319e-01,
7.828720729791232e-01, 6.937876149868972e-01, 9.802252263062083e-03, 8.432133380105096e-01,
9.223319977962757e-01, 7.709542206739245e-01, 4.265985593504873e-02, 3.781861370502189e-01,
7.043396244833676e-01, 7.295130455046469e-01, 2.242770706645144e-01, 2.690547317733650e-01,
6.730311650041190e-01, 4.774921977268612e-01, 6.237164126674425e-01, 2.364449326409104e-01,
1.771237544983165e-01, 8.296433856975846e-01, 7.669216679352648e-01, 9.344782731182696e-01,
1.078889050843636e-01, 1.822275056010557e-01, 9.909528242245846e-02, 4.897638019234469e-01,
1.932453304688705e-01, 8.958915737925682e-01, 9.908964968181455e-02, 4.416557176266112e-02,
5.572951558047619e-01, 7.724950671876241e-01, 3.119400574962689e-01, 1.789824793143351e-01,
3.389556782477182e-01, 2.101456370435520e-01, 5.101525197652502e-01, 9.063643232652148e-01,
6.289239386523179e-01, 1.015338888123122e-01, 3.908547527263546e-01, 5.461661522365757e-02,
5.012829132032153e-01, 4.317211718842472e-01, 9.975603495121891e-01, 8.116025809953229e-01,
4.856516698980177e-01, 8.944477555673932e-01, 1.375465947670648e-01, 3.900049144452854e-01,
9.273562249981249e-01, 9.174938324161169e-01, 7.135740115943158e-01, 6.183373836219400e-01,
3.432878902413454e-01, 9.360273266897697e-01, 1.247740406604926e-01, 7.305853615057071e-01,
6.464774324258138e-01, 8.331519856692950e-01, 3.982822282187755e-01, 7.498222093606359e-01,
8.352205104781305e-01, 3.224603973622594e-01, 5.522616168583550e-01, 9.791291324338921e-01,
5.493085330183027e-01, 3.304236096066028e-01, 6.194715551777799e-01, 3.606365710022027e-01,
7.565095435019443e-01, 4.139007486901897e-01, 4.923451043849377e-01, 6.947432331326101e-01,
9.727338850797841e-01, 3.277549604934068e-01, 8.378031830785756e-01, 7.390722272735281e-01,
9.541744563795431e-01, 3.192262950397839e-02, 3.568689861825420e-01, 6.626538342872145e-01,
2.815015591484906e-01, 2.303830673174637e-01, 7.111285511803251e-01, 6.245729169933085e-01,
5.906086529196359e-01, 6.604379663126019e-01, 4.755467311386607e-02, 3.487848085100589e-01,
4.513405803557432e-01, 2.409049971201107e-01, 7.150450132961765e-01, 8.561822920062879e-01,
2.815076951185533e-01, 7.310508297237415e-01, 1.377628925195163e-01, 8.367227817497175e-01,
1.386017157423600e-01, 5.882093853894936e-01, 3.661568004549378e-01, 8.067595446611057e-01,
5.037807857761559e-01, 4.895943387233542e-01, 8.770487233850439e-01, 3.531418129389555e-01,
4.494435565717483e-01, 9.635302868434269e-01, 4.229779791454280e-02, 9.729583341406347e-01,
1.892068431223760e-01, 6.671203000400749e-01, 5.864396146789179e-01, 6.751124164051153e-01,
3.610220491946609e-01, 6.202784270710855e-01, 8.111508851002852e-01, 1.925747741414141e-02,
8.387350828289986e-02, 9.748016671848904e-01, 6.513495324153533e-01, 2.312378161643522e-01,
4.034911431245899e-01, 1.220205182521296e-01, 2.684388213972831e-01, 2.578461701126047e-01,
3.316652387426293e-01, 1.522340128629465e-01, 3.480076597161135e-01, 1.216584543077261e-01,
8.841530577496601e-01, 9.427839006414607e-02, 9.300406261074891e-01, 3.990199690345555e-01,
4.740146202915074e-02, 3.423735031607398e-01, 7.359661588801641e-01, 7.946821573338052e-01,
5.449058982446715e-01, 6.862234629840409e-01, 8.936326959336016e-01, 5.479178991973244e-02,
3.036613797170159e-01, 4.619155633154781e-02, 1.954767636337984e-01, 7.201658025165256e-01,
7.217532734992967e-01, 8.777990711515272e-01, 5.824329644874103e-01, 7.068433538664998e-02,
9.227445701890922e-01, 8.003720923511071e-01, 2.859468564203632e-01, 5.436632328413619e-01,
9.847762369706098e-01, 7.156780671266215e-01, 8.389695973300002e-01, 4.332605610079483e-01,
4.706247156065407e-01, 5.607134110445561e-01, 2.690915435309975e-01, 7.490184676419461e-01,
5.038877734604886e-01, 6.468096662727805e-01, 3.077455820309407e-01, 1.387246360781446e-01,
4.755729337975629e-01, 3.624592808187460e-01, 7.881134283985473e-01, 7.802958208441096e-01,
6.685122142535449e-01, 1.335038596613123e-01, 2.155588720349699e-02, 5.598407058725097e-01,
3.008190180694891e-01, 9.394097138734583e-01, 9.809036360468590e-01, 2.866203888942593e-01,
8.008202869515346e-01, 8.961113514326038e-01, 5.975265768178296e-01, 8.840167357238198e-01,
9.437315411957914e-01, 5.491580874199027e-01, 7.283868245943567e-01, 5.767582978580098e-01,
2.585747108313963e-02, 4.465309782848144e-01, 6.463019573506555e-01, 5.212029526724182e-01,
3.723126607795121e-01, 9.371346663415623e-01, 8.295328245265149e-01, 8.490854799544552e-01,
3.725342398995395e-01, 5.931845752184903e-01, 8.725525646475586e-01, 9.335016085071053e-01,
6.684642743613756e-01, 2.067764579351050e-01, 6.538505920625881e-01, 7.205155122064988e-02,
4.067269150893638e-01, 6.669315332074987e-01, 9.337256595459297e-01, 8.109500322382651e-01,
4.845482718349904e-01, 7.567492100655122e-01, 4.170474537427670e-01, 9.717859929892940e-01,
9.879747012308320e-01, 8.641475290312027e-01, 3.888837759124285e-01, 4.547418280391118e-01,
2.466871976380792e-01, 7.844230930241771e-01, 8.828376055830525e-01, 9.137116812930182e-01,
5.582849236222750e-01, 5.988681027462054e-01, 1.488767203375491e-01, 8.997134845357385e-01,
4.503935806521155e-01, 2.056723394639635e-01, 8.996509905090808e-01, 7.625855393732269e-01,
8.824863074002980e-01, 2.849502180248212e-01, 6.732259864522577e-01, 6.642799044180507e-01,
1.228149938995259e-01, 4.073184230568129e-01, 2.752869513156900e-01, 7.166697406391417e-01,
2.833843816289363e-01, 8.961988568494954e-01, 8.265788923135602e-01, 3.900265128139977e-01,
4.979029429641866e-01, 6.948051926724939e-01, 8.343690010999377e-01, 6.096296896757324e-01,
5.747371608564080e-01, 3.260421709227913e-01, 4.564246008517470e-01, 7.137955832331345e-01,
8.844050452759949e-01, 7.208556708169315e-01, 1.861277472638612e-02, 6.747764671282858e-01,
4.385088242365128e-01, 4.378201791662700e-01, 1.170368195056578e-01, 8.146816895185822e-01,
3.248554386305090e-01, 2.462281142346414e-01, 3.427132211232795e-01, 3.756921400095883e-01,
5.465537930829589e-01, 5.619201542659767e-01, 3.958222286240010e-01, 3.981308795313359e-01,
5.153672192115724e-01, 6.575305420959110e-01, 9.509151982649592e-01, 7.223485143274979e-01,
4.000797453623376e-01, 8.318713393298099e-01, 1.343383417287082e-01, 6.046677193982841e-02,
8.424705231465957e-02, 1.638983183297082e-01, 3.242199202940490e-01, 3.017267772046470e-01,
1.168099113033960e-02, 5.399050938496253e-01, 9.537269262782155e-02, 1.465148564422315e-01,
6.311412070149550e-01, 8.593204114287853e-01, 9.742216312387133e-01, 5.708384274721835e-01,
9.968502145749486e-01, 5.535415734955326e-01, 5.154584548403258e-01, 3.306820659902671e-01,
4.300017983933964e-01, 4.918062536037447e-01, 7.103708391295271e-02, 8.877392155327161e-01,
6.463359105086841e-02, 4.361849557314483e-01, 8.266295066188918e-01, 3.945346842330335e-01,
6.134748817052620e-01, 8.186407350822091e-01, 8.862350390626065e-01, 9.311116274872206e-01,
1.907846480091222e-01, 2.585822514187723e-01, 8.978656848402992e-01, 5.933618603861089e-01,
5.038400818468479e-01, 6.128095888355591e-01, 8.194222422318759e-01, 5.318891694929258e-01,
2.020750965484316e-01, 4.538934656805219e-01, 4.279109198201708e-01, 9.660527496119991e-01,
6.200550541334737e-01, 6.953899519180036e-01, 7.201646120179794e-01, 3.468951902876136e-01,
5.169904205253102e-01, 5.566946320121019e-01, 1.564952191140445e-01, 5.620560455617748e-01,
6.948032891084562e-01, 4.264555357102374e-01, 8.362704206763141e-01, 7.313870661619331e-01,
3.600310420857716e-01, 4.542123718533986e-01, 3.863898985921723e-01, 7.755546422505355e-01,
7.342711056859393e-01, 4.302778450741556e-01, 6.937525741339134e-01, 9.452134871684603e-01,
7.842325982317409e-01, 7.055718581310688e-01, 1.093342395243457e-01, 3.899306571564850e-01,
5.909047304053364e-01, 4.593800479663254e-01, 5.033998673895412e-02, 2.286875840202208e-01,
8.341890610568995e-01, 1.564469269652702e-02, 8.637108650558657e-01, 7.806905303243428e-02,
6.690425900815554e-01, 5.002113242811024e-01, 2.179937987501536e-01, 5.716157254040891e-01,
1.221891509234198e-01, 6.711662329886530e-01, 5.995855481228138e-01, 5.597615738779049e-02,
5.634301854335677e-02, 1.525006370024703e-01, 1.962106676558406e-02, 4.351755456969518e-01,
8.322214752828176e-01, 6.173901714540843e-01, 5.201294153107420e-01, 8.638682229336107e-01,
9.769791816144313e-02, 9.080522031867692e-01, 1.080166941367590e-01, 5.169967580969449e-01,
1.431560220835761e-01, 5.593705724030039e-01, 4.579623947323475e-03, 7.666819986214874e-01,
8.487092264582824e-01, 9.168212702537381e-01, 9.869682747836581e-01, 5.051331017988225e-01,
2.714216244175151e-01, 1.007505119212356e-01, 5.078488308295366e-01, 5.856091257018784e-01,
7.628870959107409e-01, 8.296264911054385e-02, 6.615961930827142e-01, 5.169790147062131e-01,
1.710480175254472e-01, 9.385578643318424e-01, 5.904831771425717e-01, 4.406346807608401e-01,
9.419189303112829e-01, 6.559138202571413e-01, 4.519457092603858e-01, 8.396974207196690e-01,
5.326235024743463e-01, 5.538870657912750e-01, 6.800655300833607e-01, 3.671899053173674e-01,
2.392906061935454e-01, 5.789234924590936e-01, 8.668870546725078e-01, 4.067767602152256e-01,
1.126151410250468e-01, 4.438458367269573e-01, 3.001844012139000e-01, 4.013868538144928e-01,
8.333635634531343e-01, 4.036286627736071e-01, 3.901759381306066e-01, 3.604488933789446e-01,
1.402553592694443e-01, 2.601301941124401e-01, 8.681510086583366e-02, 4.293973370858053e-01,
2.572827847698599e-01, 2.975553841511184e-01, 4.248584117046258e-01, 1.192072594212871e-01,
4.950669238004591e-01, 7.064072275375605e-01, 2.435733726809508e-01, 7.850700819340061e-01,
7.408957686092688e-02, 3.938834269816966e-01, 3.394122964307411e-03, 2.206768919330240e-01,
1.300568700596139e-03, 1.891796709947352e-01, 1.424840548209715e-01, 2.680759991233760e-01,
1.748920653357828e-01, 1.386489715925953e-01, 5.988856103678650e-01, 9.010579056827256e-01,
9.393797658842382e-01, 2.211844559390779e-01, 4.826713753964138e-01, 3.760111159247546e-01,
5.237800369658695e-01, 2.648725935485898e-01, 6.835722047082915e-02, 4.363270774801027e-01,
1.738530373650010e-01, 2.610710815490491e-02, 9.546782740804495e-01, 4.305965198594173e-01,
];
pub const FREQUENCY_DATA_512_REAL_UNPACKED: [f64; 2 * 512] = [
2.619138110805671e+02, 0.000000000000000e+00,
-1.115198053389060e+01, -2.093238257176621e+00,
-8.200015102444658e-01, -7.430644653475370e+00,
-7.705513879535983e+00, -7.961932330163530e-01,
4.808921541164337e+00, -1.175049590959020e+01,
-9.898825616254497e+00, -1.046847356411203e+00,
-8.538542464542386e+00, -3.124513512169643e+00,
5.929533007177103e+00, -6.682324683920234e+00,
9.294132606813310e+00, -3.078788645618447e+00,
4.735864707544096e+00, -2.834662284625422e+00,
-2.704976477147880e+00, -4.771762179832171e-01,
2.781628079065968e+00, 7.607033774189008e+00,
4.536471930820263e-01, -4.234186011130483e+00,
-2.694473246748331e+00, -3.027108115093186e+00,
4.170109743112776e+00, -1.529841079065024e-01,
-7.016838902047954e+00, 3.293945497290087e-01,
-1.469436230459260e+00, 4.015828382290277e+00,
-1.348484236823121e+00, -2.737227825621715e+00,
2.580580187332635e+00, -3.037540370839985e+00,
-2.914789371223259e+00, 3.805515700385120e-01,
4.607789858888227e+00, 4.391538789546265e-01,
-2.039094736161577e+00, 1.710674414552282e+00,
-1.561214747151728e+00, -1.391093257125061e+00,
-2.471811499127627e-01, -4.384445856884108e+00,
-4.028581652984820e+00, 5.805438051017495e+00,
-7.499100689400009e+00, -1.066241172885081e+01,
-4.318228299783605e+00, -3.144074839146552e+00,
-3.323455275844535e+00, 8.396352081437128e-01,
-1.077138648563686e+01, -3.135963014122133e+00,
5.203510979945534e-01, 1.629783978974322e+00,
-5.489661601924908e+00, 8.166418133379253e+00,
-5.113967597278687e+00, -2.547150414055323e+00,
6.894482090786214e+00, -8.231000673725068e-01,
2.642620807324227e+00, 1.676033773179202e-01,
-2.811320166242819e-01, -9.308479974806125e-01,
-1.170323937144983e+00, -1.923971471364242e+01,
4.986096547926358e+00, 4.451554500839894e-02,
1.605346036925677e-01, -2.271501508783336e+00,
8.405811536822286e+00, 8.286416405851164e-01,
6.696466094116618e-01, 9.936421116532120e-01,
-3.967756035766337e+00, 5.035600043550436e+00,
-4.975862449438469e+00, -1.073002510922096e+00,
3.518076757813177e+00, 2.972120781785964e+00,
3.232843066707336e+00, 5.005214256068108e+00,
8.425460654609068e+00, 1.083552106138148e+01,
3.655636545651687e+00, 4.942944805021971e+00,
5.591137088101026e+00, 1.761738247406500e+00,
-2.984093429544520e+00, -2.218066839523427e+00,
3.215220533360645e+00, -3.128430150390831e+00,
1.086079136001600e+00, -4.019600896223478e+00,
-2.324426904773080e+00, -1.068077096198534e+00,
4.024480538702931e+00, 3.509122313302369e+00,
-1.119130895924454e+00, 2.432804817795666e+00,
3.008268220389146e+00, 1.705981736759047e+00,
-7.743663023539586e+00, 3.131051861809782e+00,
3.222893719481340e+00, -6.577825036895151e+00,
5.224562383239652e+00, -5.788258352733448e+00,
-4.609225183406877e+00, 6.278249376932217e+00,
1.566503184043088e+00, 4.731268374069121e+00,
-7.394233645645288e+00, 2.728068669997588e+00,
1.980268836206709e+00, 3.542570478843931e+00,
5.186505496936096e+00, -5.283947875955040e+00,
-1.990235482339024e+00, -4.276211188283089e+00,
-2.883109503407805e+00, -1.064048413268301e+00,
-1.410970776522150e+00, -2.517124568836177e+00,
1.055180728528839e+01, 1.047260703002487e+00,
-6.451549378495589e+00, -3.335397255493711e+00,
-7.499255668636902e+00, 5.317817777814344e-01,
9.951693195362443e-01, -1.039482760623180e+00,
-7.114591885454081e+00, 8.158194346990129e+00,
-1.302307674670791e-01, -2.374747305214465e+00,
-8.881661156617103e+00, -3.248060173083817e+00,
4.950075451033101e+00, 7.368026970180210e-01,
-5.992306970550251e+00, 7.797959221937784e+00,
9.677969079964690e+00, -2.442582586274967e+00,
-3.613491495111024e+00, 1.399683997077632e+00,
-2.309781414201543e-01, -4.024697025058348e-01,
4.622841749472442e+00, -1.465485020859071e+00,
6.131933084766453e+00, -9.117509119579497e+00,
2.355314674509621e+00, -2.288029974265379e+00,
3.091776866072473e+00, 8.755469413649359e-01,
-8.649090391178405e-01, 1.050403628184431e+01,
-1.696728568992433e+00, 1.740913703996018e+00,
-8.816405714122906e-01, -5.731103583499061e+00,
-8.933035833007693e+00, 3.197595516414023e+00,
-2.540807335668393e+00, -6.229493532160216e+00,
-6.453143645663326e-01, 1.073060787660790e+01,
4.331264438236961e+00, -2.941850938813325e+00,
-4.313753143682344e-01, 3.018899019083947e+00,
-6.051879349876754e+00, -1.728740776409845e+00,
-3.139444199854440e+00, 2.145999890329052e+00,
-3.384269724366646e+00, 4.405313260844331e+00,
-2.896001808690837e+00, 7.559961197961543e+00,
-1.638182672518742e+00, -4.082193744619680e-01,
-4.727842565426033e+00, 4.855440625454208e+00,
-1.790739114954947e+00, 7.525039452975838e+00,
1.241090425199624e+00, 3.123291753380865e+00,
-6.068289539732885e-02, 6.143211733539042e+00,
7.229887948433212e-01, -3.475310030263739e+00,
-2.318171287092368e+00, -1.170967907224973e+00,
-2.968963641410836e+00, 2.469949496124910e+00,
3.388508532171732e-01, 4.789425545228717e+00,
3.637640475089873e+00, 6.649844154272362e+00,
8.826458701518895e+00, -6.980243097247519e+00,
-1.266147389960346e+00, -7.088716718480166e-01,
-6.744394204515544e+00, -3.594984129647252e-01,
-8.430184913706638e+00, -1.305497034366212e+00,
-4.879622472929892e+00, 1.819633493360833e+00,
5.212016365855454e+00, -6.281540531689200e+00,
3.864620927561699e+00, 3.881224926440831e+00,
-1.502451167763855e+00, -4.268215810346013e+00,
4.327407054442016e-01, -1.583096056467947e+00,
-3.995151503093658e-01, -4.667499549445483e+00,
-3.634428182616939e+00, 3.776311383916513e+00,
3.719809958874579e+00, 2.570744809568180e+00,
9.567748439612478e-01, 2.839338648906699e+00,
-1.577291426041798e-01, -1.597019113268755e+00,
-1.320768450278335e+00, -3.099578121966010e+00,
-3.408303508938111e+00, 1.021495222387502e+00,
6.056619718885509e+00, 3.287912723104686e+00,
-2.067717321818745e+00, 5.902778124521634e+00,
6.991904328291065e-02, 5.366962567660710e+00,
7.247167857384769e+00, -9.987817259132376e+00,
7.006817941978442e+00, 3.206690324747669e+00,
-4.039152373799737e+00, 1.483261747626578e+00,
1.316149382945287e+00, 2.899506605970243e-01,
-2.737498689702138e+00, -1.299115283811872e+00,
3.085717015621618e+00, 6.665104828580986e-01,
-2.551385250652210e+00, 1.052417983754310e-01,
-8.389993662474575e-01, -3.696966275555670e+00,
-6.672280480071879e+00, -9.056162591704429e-01,
-8.126681518176483e+00, 6.129234224931580e+00,
4.584323345988825e+00, 5.016242991080830e+00,
-1.219393826108348e+00, -2.993870037055617e+00,
-1.864312726912067e+00, 8.062054710462570e+00,
4.455035352772764e+00, 3.120998307009305e+00,
-2.924636195377698e+00, -1.668578268256297e+00,
-3.473727290432167e+00, -3.870691703118520e+00,
-6.185334722726848e+00, 3.984395876382242e+00,
-1.527851891080256e+00, 1.993364544205765e-01,
-7.666009294630983e+00, -3.917504929311941e-01,
2.888140400676157e+00, -3.716178197877443e+00,
4.980166715244614e-01, 5.942302773943424e+00,
-6.430845495211380e+00, 8.812516704722375e-01,
2.227989700065884e+00, -6.791950308263385e+00,
-9.328538374431355e+00, 9.147826621930625e+00,
2.048806823194851e-01, 1.713872506312473e+00,
9.013265074447729e-01, 9.844987073093869e-01,
4.118838672020591e+00, 3.729736774300223e-01,
5.629103306378829e-01, -4.175870224636906e+00,
-6.405664448972425e+00, 4.602133214791547e+00,
1.026855599307259e+00, -1.902249771522030e+00,
2.071808028976322e+00, -5.489037448246241e+00,
-2.880374687838525e+00, -4.804607566030888e+00,
-4.658936772476315e+00, -6.007793054144102e+00,
-6.837257087056265e+00, 5.018812073479129e+00,
7.708317658744543e-01, 1.815061951080991e+00,
-1.710941178124903e+00, -2.166134537369716e+00,
1.094038329635999e+00, 8.533521028686508e+00,
-5.526632973003027e-01, 4.288943996680091e+00,
-5.852033276229081e+00, 4.407153040194589e-02,
-5.425581620899147e+00, -1.815508258033112e-01,
2.402622804491986e+00, -3.706878132036692e+00,
-6.468255867015987e+00, -9.899006388950724e+00,
-9.764037678609139e-02, 1.814994637565298e+00,
-3.203759165327217e+00, 1.141425690003025e+00,
5.223945858903594e+00, 6.435077209064109e+00,
-2.040287466475237e+00, -2.562399278971683e+00,
1.642149723401189e+00, 4.824685794822206e+00,
-3.044537976414709e+00, 3.660214507064629e+00,
3.079161095441084e+00, 1.538355571483298e+00,
-4.284845705831135e+00, -1.947331240925162e+00,
-3.768483997655424e+00, 4.683615603641362e+00,
-2.804522014157483e+00, -3.986619943343518e+00,
-1.817984909284021e+00, -3.305358818768953e+00,
1.502584872579042e+00, 4.708364731482699e+00,
1.143729189846115e+00, -8.794631259124452e-02,
-2.895754994560165e+00, 3.017419983238508e+00,
3.474806338399494e+00, 5.104246173950999e+00,
-4.406737051771778e+00, -4.078246385418372e+00,
-4.404694477921830e+00, 7.830813624414137e+00,
4.163608559006926e-01, -7.926413840769740e+00,
1.303461176226292e+01, -7.365683904389641e+00,
4.476211897682230e+00, -1.338373993085695e+00,
-2.274764327943855e+00, 3.969082207635650e+00,
-6.453082146368692e-01, -6.143999341367548e+00,
-3.475488869191185e+00, -2.023271683875887e+00,
-1.369103524248871e+00, -1.387037019447591e+00,
-1.210489761702059e+00, -4.542343222749198e+00,
-1.331431110781724e-01, -9.075946127921182e-01,
-5.177564629651572e+00, 2.455970528216657e+00,
3.691249052573440e+00, -1.673080242300862e+00,
1.912182035375140e+00, -1.312615300521312e+00,
-1.251141744555015e+00, 3.958327304016206e+00,
2.771123716702051e-01, 1.999063877905356e+00,
-4.155155433181079e+00, -8.444156417906978e-01,
-2.116273521786312e+00, 3.788095838420060e+00,
-7.507754666590323e+00, 3.326089670218413e-02,
4.905796052897330e+00, 4.556223645818581e+00,
9.240108598837768e+00, -1.009350499228775e+01,
3.598337919127382e+00, -3.048404278311585e+00,
4.980718588535794e+00, 3.047519697392533e-01,
-2.344033930886350e+00, -8.035245093554686e+00,
9.170890073497524e+00, -3.543571096766250e+00,
4.183930943883264e+00, -3.673598274208000e+00,
-3.005278029624455e+00, -1.135725746340678e+00,
-6.545171960243179e-02, 3.965945117860259e-01,
5.129683349114183e+00, -4.001620807901958e+00,
-2.738518015096642e+00, -5.113202762289758e+00,
-4.122911420601460e+00, -1.601192787646148e+00,
-4.940616875054313e-01, -7.625851861756456e-01,
-6.140656867341225e+00, 7.056509108397250e+00,
-1.047647277680205e+01, -1.490537740526122e+00,
1.750125158407559e+00, -8.980052096244597e-01,
-4.441113625642239e+00, -9.630808301176916e-01,
4.871201570796909e+00, 9.950714330413124e+00,
7.578893938310987e-01, -3.625968249215687e+00,
-5.915214379585120e+00, 1.156388804338686e-01,
1.105860925400031e+00, 5.146404866535110e+00,
3.018223037908849e+00, -5.585303882451983e+00,
7.939380851394719e+00, 9.404451546831240e+00,
2.662384827989065e+00, 5.415980217834097e+00,
5.384808730374431e+00, -2.099994208860945e+00,
-3.214839687312243e+00, -3.190403849749028e+00,
3.449820285335980e+00, -4.869521848106168e+00,
-2.936756738941453e-01, -9.408874776611528e-01,
6.332613968385270e-01, 4.006208820446869e+00,
1.992726081555017e+00, 4.469594342604584e+00,
-3.843002077006955e+00, 7.743129531845536e+00,
-7.008944518173879e+00, -4.197783446638493e+00,
4.408841096823935e+00, 1.177308232239781e+00,
-4.272335699448684e+00, 4.757654871323830e+00,
-1.191146139678042e+00, -9.221772364771397e-04,
3.349188462779500e+00, 3.948069260833601e+00,
9.127371019005301e-01, -6.716150719696672e-01,
-1.828365952626035e+00, 6.137975289408976e+00,
-3.418884852600284e+00, 8.777867800360051e-01,
-3.135109195213406e+00, 6.533347753457486e+00,
3.683389139629988e+00, -2.574900489200746e+00,
6.990020013124132e+00, -7.916582488718228e+00,
7.991122184404597e-01, -4.859788512723076e+00,
3.264782829214391e+00, 3.965023595567049e+00,
7.610469396179063e-01, 5.532678888281716e+00,
3.790752503936816e+00, -3.802744465906520e+00,
-2.706339202089834e+00, -5.722734566436507e+00,
1.674161414638171e+00, 1.147184591426204e+00,
1.414569524174249e+01, -1.188079386264216e+00,
7.934033025983180e-01, -2.743016641560216e+00,
-1.245322153627866e-01, 7.150529101422920e+00,
4.076112080871496e+00, -1.506043506392340e+00,
-4.866676790136244e+00, -6.803342622748687e-01,
2.599023021817089e+00, 5.720397531899284e+00,
6.140571612873296e+00, -1.049863266190272e-01,
2.993531810286013e+00, 5.044661398396778e+00,
5.214526690760704e+00, -3.585233477406347e+00,
1.063679699244957e+00, 4.691687296086943e-01,
-9.086160107535221e+00, 0.000000000000000e+00,
1.063679699244957e+00, -4.691687296086943e-01,
5.214526690760704e+00, 3.585233477406347e+00,
2.993531810286013e+00, -5.044661398396778e+00,
6.140571612873296e+00, 1.049863266190272e-01,
2.599023021817089e+00, -5.720397531899284e+00,
-4.866676790136244e+00, 6.803342622748687e-01,
4.076112080871496e+00, 1.506043506392340e+00,
-1.245322153627866e-01, -7.150529101422920e+00,
7.934033025983180e-01, 2.743016641560216e+00,
1.414569524174249e+01, 1.188079386264216e+00,
1.674161414638171e+00, -1.147184591426204e+00,
-2.706339202089834e+00, 5.722734566436507e+00,
3.790752503936816e+00, 3.802744465906520e+00,
7.610469396179063e-01, -5.532678888281716e+00,
3.264782829214391e+00, -3.965023595567049e+00,
7.991122184404597e-01, 4.859788512723076e+00,
6.990020013124132e+00, 7.916582488718228e+00,
3.683389139629988e+00, 2.574900489200746e+00,
-3.135109195213406e+00, -6.533347753457486e+00,
-3.418884852600284e+00, -8.777867800360051e-01,
-1.828365952626035e+00, -6.137975289408976e+00,
9.127371019005301e-01, 6.716150719696672e-01,
3.349188462779500e+00, -3.948069260833601e+00,
-1.191146139678042e+00, 9.221772364771397e-04,
-4.272335699448684e+00, -4.757654871323830e+00,
4.408841096823935e+00, -1.177308232239781e+00,
-7.008944518173879e+00, 4.197783446638493e+00,
-3.843002077006955e+00, -7.743129531845536e+00,
1.992726081555017e+00, -4.469594342604584e+00,
6.332613968385270e-01, -4.006208820446869e+00,
-2.936756738941453e-01, 9.408874776611528e-01,
3.449820285335980e+00, 4.869521848106168e+00,
-3.214839687312243e+00, 3.190403849749028e+00,
5.384808730374431e+00, 2.099994208860945e+00,
2.662384827989065e+00, -5.415980217834097e+00,
7.939380851394719e+00, -9.404451546831240e+00,
3.018223037908849e+00, 5.585303882451983e+00,
1.105860925400031e+00, -5.146404866535110e+00,
-5.915214379585120e+00, -1.156388804338686e-01,
7.578893938310987e-01, 3.625968249215687e+00,
4.871201570796909e+00, -9.950714330413124e+00,
-4.441113625642239e+00, 9.630808301176916e-01,
1.750125158407559e+00, 8.980052096244597e-01,
-1.047647277680205e+01, 1.490537740526122e+00,
-6.140656867341225e+00, -7.056509108397250e+00,
-4.940616875054313e-01, 7.625851861756456e-01,
-4.122911420601460e+00, 1.601192787646148e+00,
-2.738518015096642e+00, 5.113202762289758e+00,
5.129683349114183e+00, 4.001620807901958e+00,
-6.545171960243179e-02, -3.965945117860259e-01,
-3.005278029624455e+00, 1.135725746340678e+00,
4.183930943883264e+00, 3.673598274208000e+00,
9.170890073497524e+00, 3.543571096766250e+00,
-2.344033930886350e+00, 8.035245093554686e+00,
4.980718588535794e+00, -3.047519697392533e-01,
3.598337919127382e+00, 3.048404278311585e+00,
9.240108598837768e+00, 1.009350499228775e+01,
4.905796052897330e+00, -4.556223645818581e+00,
-7.507754666590323e+00, -3.326089670218413e-02,
-2.116273521786312e+00, -3.788095838420060e+00,
-4.155155433181079e+00, 8.444156417906978e-01,
2.771123716702051e-01, -1.999063877905356e+00,
-1.251141744555015e+00, -3.958327304016206e+00,
1.912182035375140e+00, 1.312615300521312e+00,
3.691249052573440e+00, 1.673080242300862e+00,
-5.177564629651572e+00, -2.455970528216657e+00,
-1.331431110781724e-01, 9.075946127921182e-01,
-1.210489761702059e+00, 4.542343222749198e+00,
-1.369103524248871e+00, 1.387037019447591e+00,
-3.475488869191185e+00, 2.023271683875887e+00,
-6.453082146368692e-01, 6.143999341367548e+00,
-2.274764327943855e+00, -3.969082207635650e+00,
4.476211897682230e+00, 1.338373993085695e+00,
1.303461176226292e+01, 7.365683904389641e+00,
4.163608559006926e-01, 7.926413840769740e+00,
-4.404694477921830e+00, -7.830813624414137e+00,
-4.406737051771778e+00, 4.078246385418372e+00,
3.474806338399494e+00, -5.104246173950999e+00,
-2.895754994560165e+00, -3.017419983238508e+00,
1.143729189846115e+00, 8.794631259124452e-02,
1.502584872579042e+00, -4.708364731482699e+00,
-1.817984909284021e+00, 3.305358818768953e+00,
-2.804522014157483e+00, 3.986619943343518e+00,
-3.768483997655424e+00, -4.683615603641362e+00,
-4.284845705831135e+00, 1.947331240925162e+00,
3.079161095441084e+00, -1.538355571483298e+00,
-3.044537976414709e+00, -3.660214507064629e+00,
1.642149723401189e+00, -4.824685794822206e+00,
-2.040287466475237e+00, 2.562399278971683e+00,
5.223945858903594e+00, -6.435077209064109e+00,
-3.203759165327217e+00, -1.141425690003025e+00,
-9.764037678609139e-02, -1.814994637565298e+00,
-6.468255867015987e+00, 9.899006388950724e+00,
2.402622804491986e+00, 3.706878132036692e+00,
-5.425581620899147e+00, 1.815508258033112e-01,
-5.852033276229081e+00, -4.407153040194589e-02,
-5.526632973003027e-01, -4.288943996680091e+00,
1.094038329635999e+00, -8.533521028686508e+00,
-1.710941178124903e+00, 2.166134537369716e+00,
7.708317658744543e-01, -1.815061951080991e+00,
-6.837257087056265e+00, -5.018812073479129e+00,
-4.658936772476315e+00, 6.007793054144102e+00,
-2.880374687838525e+00, 4.804607566030888e+00,
2.071808028976322e+00, 5.489037448246241e+00,
1.026855599307259e+00, 1.902249771522030e+00,
-6.405664448972425e+00, -4.602133214791547e+00,
5.629103306378829e-01, 4.175870224636906e+00,
4.118838672020591e+00, -3.729736774300223e-01,
9.013265074447729e-01, -9.844987073093869e-01,
2.048806823194851e-01, -1.713872506312473e+00,
-9.328538374431355e+00, -9.147826621930625e+00,
2.227989700065884e+00, 6.791950308263385e+00,
-6.430845495211380e+00, -8.812516704722375e-01,
4.980166715244614e-01, -5.942302773943424e+00,
2.888140400676157e+00, 3.716178197877443e+00,
-7.666009294630983e+00, 3.917504929311941e-01,
-1.527851891080256e+00, -1.993364544205765e-01,
-6.185334722726848e+00, -3.984395876382242e+00,
-3.473727290432167e+00, 3.870691703118520e+00,
-2.924636195377698e+00, 1.668578268256297e+00,
4.455035352772764e+00, -3.120998307009305e+00,
-1.864312726912067e+00, -8.062054710462570e+00,
-1.219393826108348e+00, 2.993870037055617e+00,
4.584323345988825e+00, -5.016242991080830e+00,
-8.126681518176483e+00, -6.129234224931580e+00,
-6.672280480071879e+00, 9.056162591704429e-01,
-8.389993662474575e-01, 3.696966275555670e+00,
-2.551385250652210e+00, -1.052417983754310e-01,
3.085717015621618e+00, -6.665104828580986e-01,
-2.737498689702138e+00, 1.299115283811872e+00,
1.316149382945287e+00, -2.899506605970243e-01,
-4.039152373799737e+00, -1.483261747626578e+00,
7.006817941978442e+00, -3.206690324747669e+00,
7.247167857384769e+00, 9.987817259132376e+00,
6.991904328291065e-02, -5.366962567660710e+00,
-2.067717321818745e+00, -5.902778124521634e+00,
6.056619718885509e+00, -3.287912723104686e+00,
-3.408303508938111e+00, -1.021495222387502e+00,
-1.320768450278335e+00, 3.099578121966010e+00,
-1.577291426041798e-01, 1.597019113268755e+00,
9.567748439612478e-01, -2.839338648906699e+00,
3.719809958874579e+00, -2.570744809568180e+00,
-3.634428182616939e+00, -3.776311383916513e+00,
-3.995151503093658e-01, 4.667499549445483e+00,
4.327407054442016e-01, 1.583096056467947e+00,
-1.502451167763855e+00, 4.268215810346013e+00,
3.864620927561699e+00, -3.881224926440831e+00,
5.212016365855454e+00, 6.281540531689200e+00,
-4.879622472929892e+00, -1.819633493360833e+00,
-8.430184913706638e+00, 1.305497034366212e+00,
-6.744394204515544e+00, 3.594984129647252e-01,
-1.266147389960346e+00, 7.088716718480166e-01,
8.826458701518895e+00, 6.980243097247519e+00,
3.637640475089873e+00, -6.649844154272362e+00,
3.388508532171732e-01, -4.789425545228717e+00,
-2.968963641410836e+00, -2.469949496124910e+00,
-2.318171287092368e+00, 1.170967907224973e+00,
7.229887948433212e-01, 3.475310030263739e+00,
-6.068289539732885e-02, -6.143211733539042e+00,
1.241090425199624e+00, -3.123291753380865e+00,
-1.790739114954947e+00, -7.525039452975838e+00,
-4.727842565426033e+00, -4.855440625454208e+00,
-1.638182672518742e+00, 4.082193744619680e-01,
-2.896001808690837e+00, -7.559961197961543e+00,
-3.384269724366646e+00, -4.405313260844331e+00,
-3.139444199854440e+00, -2.145999890329052e+00,
-6.051879349876754e+00, 1.728740776409845e+00,
-4.313753143682344e-01, -3.018899019083947e+00,
4.331264438236961e+00, 2.941850938813325e+00,
-6.453143645663326e-01, -1.073060787660790e+01,
-2.540807335668393e+00, 6.229493532160216e+00,
-8.933035833007693e+00, -3.197595516414023e+00,
-8.816405714122906e-01, 5.731103583499061e+00,
-1.696728568992433e+00, -1.740913703996018e+00,
-8.649090391178405e-01, -1.050403628184431e+01,
3.091776866072473e+00, -8.755469413649359e-01,
2.355314674509621e+00, 2.288029974265379e+00,
6.131933084766453e+00, 9.117509119579497e+00,
4.622841749472442e+00, 1.465485020859071e+00,
-2.309781414201543e-01, 4.024697025058348e-01,
-3.613491495111024e+00, -1.399683997077632e+00,
9.677969079964690e+00, 2.442582586274967e+00,
-5.992306970550251e+00, -7.797959221937784e+00,
4.950075451033101e+00, -7.368026970180210e-01,
-8.881661156617103e+00, 3.248060173083817e+00,
-1.302307674670791e-01, 2.374747305214465e+00,
-7.114591885454081e+00, -8.158194346990129e+00,
9.951693195362443e-01, 1.039482760623180e+00,
-7.499255668636902e+00, -5.317817777814344e-01,
-6.451549378495589e+00, 3.335397255493711e+00,
1.055180728528839e+01, -1.047260703002487e+00,
-1.410970776522150e+00, 2.517124568836177e+00,
-2.883109503407805e+00, 1.064048413268301e+00,
-1.990235482339024e+00, 4.276211188283089e+00,
5.186505496936096e+00, 5.283947875955040e+00,
1.980268836206709e+00, -3.542570478843931e+00,
-7.394233645645288e+00, -2.728068669997588e+00,
1.566503184043088e+00, -4.731268374069121e+00,
-4.609225183406877e+00, -6.278249376932217e+00,
5.224562383239652e+00, 5.788258352733448e+00,
3.222893719481340e+00, 6.577825036895151e+00,
-7.743663023539586e+00, -3.131051861809782e+00,
3.008268220389146e+00, -1.705981736759047e+00,
-1.119130895924454e+00, -2.432804817795666e+00,
4.024480538702931e+00, -3.509122313302369e+00,
-2.324426904773080e+00, 1.068077096198534e+00,
1.086079136001600e+00, 4.019600896223478e+00,
3.215220533360645e+00, 3.128430150390831e+00,
-2.984093429544520e+00, 2.218066839523427e+00,
5.591137088101026e+00, -1.761738247406500e+00,
3.655636545651687e+00, -4.942944805021971e+00,
8.425460654609068e+00, -1.083552106138148e+01,
3.232843066707336e+00, -5.005214256068108e+00,
3.518076757813177e+00, -2.972120781785964e+00,
-4.975862449438469e+00, 1.073002510922096e+00,
-3.967756035766337e+00, -5.035600043550436e+00,
6.696466094116618e-01, -9.936421116532120e-01,
8.405811536822286e+00, -8.286416405851164e-01,
1.605346036925677e-01, 2.271501508783336e+00,
4.986096547926358e+00, -4.451554500839894e-02,
-1.170323937144983e+00, 1.923971471364242e+01,
-2.811320166242819e-01, 9.308479974806125e-01,
2.642620807324227e+00, -1.676033773179202e-01,
6.894482090786214e+00, 8.231000673725068e-01,
-5.113967597278687e+00, 2.547150414055323e+00,
-5.489661601924908e+00, -8.166418133379253e+00,
5.203510979945534e-01, -1.629783978974322e+00,
-1.077138648563686e+01, 3.135963014122133e+00,
-3.323455275844535e+00, -8.396352081437128e-01,
-4.318228299783605e+00, 3.144074839146552e+00,
-7.499100689400009e+00, 1.066241172885081e+01,
-4.028581652984820e+00, -5.805438051017495e+00,
-2.471811499127627e-01, 4.384445856884108e+00,
-1.561214747151728e+00, 1.391093257125061e+00,
-2.039094736161577e+00, -1.710674414552282e+00,
4.607789858888227e+00, -4.391538789546265e-01,
-2.914789371223259e+00, -3.805515700385120e-01,
2.580580187332635e+00, 3.037540370839985e+00,
-1.348484236823121e+00, 2.737227825621715e+00,
-1.469436230459260e+00, -4.015828382290277e+00,
-7.016838902047954e+00, -3.293945497290087e-01,
4.170109743112776e+00, 1.529841079065024e-01,
-2.694473246748331e+00, 3.027108115093186e+00,
4.536471930820263e-01, 4.234186011130483e+00,
2.781628079065968e+00, -7.607033774189008e+00,
-2.704976477147880e+00, 4.771762179832171e-01,
4.735864707544096e+00, 2.834662284625422e+00,
9.294132606813310e+00, 3.078788645618447e+00,
5.929533007177103e+00, 6.682324683920234e+00,
-8.538542464542386e+00, 3.124513512169643e+00,
-9.898825616254497e+00, 1.046847356411203e+00,
4.808921541164337e+00, 1.175049590959020e+01,
-7.705513879535983e+00, 7.961932330163530e-01,
-8.200015102444658e-01, 7.430644653475370e+00,
-1.115198053389060e+01, 2.093238257176621e+00,
];

60
tests/lib.rs

@ -7,40 +7,56 @@ use complex::c64;
mod fixtures;
#[test]
fn complex_forward() {
let mut data = fixtures::TIME_DATA.to_vec();
fn complex_forward_128() {
let mut data = fixtures::TIME_DATA_256.to_vec();
fft::complex::forward(as_c64_mut(&mut data));
assert::close(&data, &fixtures::FREQUENCY_DATA_FOR_COMPLEX[..], 1e-14);
assert::close(&data, &fixtures::FREQUENCY_DATA_128_COMPLEX[..], 1e-14);
}
#[test]
fn complex_inverse() {
let mut data = fixtures::FREQUENCY_DATA_FOR_COMPLEX.to_vec();
fn complex_forward_real_256() {
let mut data = to_c64(&fixtures::TIME_DATA_256);
fft::complex::forward(&mut data);
assert::close(as_f64(&data), &fixtures::FREQUENCY_DATA_256_REAL_UNPACKED[..], 1e-13);
}
#[test]
fn complex_inverse_128() {
let mut data = fixtures::FREQUENCY_DATA_128_COMPLEX.to_vec();
fft::complex::inverse(as_c64_mut(&mut data));
assert::close(&data, &fixtures::TIME_DATA[..], 1e-14);
assert::close(&data, &fixtures::TIME_DATA_256[..], 1e-14);
}
#[test]
fn real_forward() {
let mut data = fixtures::TIME_DATA.to_vec();
{
let mut data = to_c64(&data);
fft::complex::forward(&mut data);
assert::close(as_f64(&data), &fixtures::FREQUENCY_DATA_FOR_REAL_UNPACKED[..], 1e-13);
}
{
fft::real::forward(&mut data);
assert::close(&data, &fixtures::FREQUENCY_DATA_FOR_REAL[..], 1e-13);
let data = fft::real::unpack(&data);
assert::close(as_f64(&data), &fixtures::FREQUENCY_DATA_FOR_REAL_UNPACKED[..], 1e-13);
}
fn real_forward_256() {
let mut data = fixtures::TIME_DATA_256.to_vec();
fft::real::forward(&mut data);
assert::close(&data, &fixtures::FREQUENCY_DATA_256_REAL_PACKED[..], 1e-13);
let data = fft::real::unpack(&data);
assert::close(as_f64(&data), &fixtures::FREQUENCY_DATA_256_REAL_UNPACKED[..], 1e-13);
}
#[test]
fn real_forward_512() {
let mut data = fixtures::TIME_DATA_512.to_vec();
fft::real::forward(&mut data);
let data = fft::real::unpack(&data);
assert::close(as_f64(&data), &fixtures::FREQUENCY_DATA_512_REAL_UNPACKED[..], 1e-12);
}
#[test]
fn real_inverse_256() {
let mut data = fixtures::FREQUENCY_DATA_256_REAL_PACKED.to_vec();
fft::real::inverse(&mut data);
assert::close(&data, &fixtures::TIME_DATA_256[..], 1e-14);
}
#[test]
fn real_inverse() {
let mut data = fixtures::FREQUENCY_DATA_FOR_REAL.to_vec();
fn real_inverse_512() {
let mut data = fixtures::TIME_DATA_512.to_vec();
fft::real::forward(&mut data);
fft::real::inverse(&mut data);
assert::close(&data, &fixtures::TIME_DATA[..], 1e-14);
assert::close(&data, &fixtures::TIME_DATA_512[..], 1e-14);
}
fn as_f64<'l>(slice: &'l [c64]) -> &'l [f64] {

Loading…
Cancel
Save