* * * * * * Single precision FFT Number of points = 16 Point num. 0= (1.0000000000000000000000000000000000000000000000000000000000000000000000e+00,1.0000000000000000000000000000000000000000000000000000000000000000000000e+00) Point num. 1= (2.0000000000000000000000000000000000000000000000000000000000000000000000e+00,2.0000000000000000000000000000000000000000000000000000000000000000000000e+00) Point num. 2= (3.0000000000000000000000000000000000000000000000000000000000000000000000e+00,3.0000000000000000000000000000000000000000000000000000000000000000000000e+00) Point num. 3= (4.0000000000000000000000000000000000000000000000000000000000000000000000e+00,4.0000000000000000000000000000000000000000000000000000000000000000000000e+00) Point num. 4= (5.0000000000000000000000000000000000000000000000000000000000000000000000e+00,5.0000000000000000000000000000000000000000000000000000000000000000000000e+00) Point num. 5= (6.0000000000000000000000000000000000000000000000000000000000000000000000e+00,6.0000000000000000000000000000000000000000000000000000000000000000000000e+00) Point num. 6= (7.0000000000000000000000000000000000000000000000000000000000000000000000e+00,7.0000000000000000000000000000000000000000000000000000000000000000000000e+00) Point num. 7= (8.0000000000000000000000000000000000000000000000000000000000000000000000e+00,8.0000000000000000000000000000000000000000000000000000000000000000000000e+00) Point num. 8= (9.0000000000000000000000000000000000000000000000000000000000000000000000e+00,9.0000000000000000000000000000000000000000000000000000000000000000000000e+00) Point num. 9= (1.0000000000000000000000000000000000000000000000000000000000000000000000e+01,1.0000000000000000000000000000000000000000000000000000000000000000000000e+01) Point num. 10= (1.1000000000000000000000000000000000000000000000000000000000000000000000e+01,1.1000000000000000000000000000000000000000000000000000000000000000000000e+01) Point num. 11= (1.2000000000000000000000000000000000000000000000000000000000000000000000e+01,1.2000000000000000000000000000000000000000000000000000000000000000000000e+01) Point num. 12= (1.3000000000000000000000000000000000000000000000000000000000000000000000e+01,1.3000000000000000000000000000000000000000000000000000000000000000000000e+01) Point num. 13= (1.4000000000000000000000000000000000000000000000000000000000000000000000e+01,1.4000000000000000000000000000000000000000000000000000000000000000000000e+01) Point num. 14= (1.5000000000000000000000000000000000000000000000000000000000000000000000e+01,1.5000000000000000000000000000000000000000000000000000000000000000000000e+01) Point num. 15= (1.6000000000000000000000000000000000000000000000000000000000000000000000e+01,1.6000000000000000000000000000000000000000000000000000000000000000000000e+01) The discrete Fourier transform of the input data is . . . Point num. 0 = (2.4041629791259765625000000000000000000000000000000000000000000000000000e+01,2.4041629791259765625000000000000000000000000000000000000000000000000000e+01) Point num. 1 = (8.5445184707641601562500000000000000000000000000000000000000000000000000e+00,-2.3762670516967773437500000000000000000000000000000000000000000000000000e+01) Point num. 2 = (-8.5239448547363281250000000000000000000000000000000000000000000000000000e+00,5.6955180168151855468750000000000000000000000000000000000000000000000000e+00) Point num. 3 = (5.7868499755859375000000000000000000000000000000000000000000000000000000e+00,-4.7027316093444824218750000000000000000000000000000000000000000000000000e+00) Point num. 4 = (-4.8284258842468261718750000000000000000000000000000000000000000000000000e+00,2.0000000000000000000000000000000000000000000000000000000000000000000000e+00) Point num. 5 = (4.1697616577148437500000000000000000000000000000000000000000000000000000e+00,-1.7833033800125122070312500000000000000000000000000000000000000000000000e+00) Point num. 6 = (-3.5307319164276123046875000000000000000000000000000000000000000000000000e+00,7.0230674743652343750000000000000000000000000000000000000000000000000000e-01) Point num. 7 = (3.3099906444549560546875000000000000000000000000000000000000000000000000e+00,-5.6726217269897460937500000000000000000000000000000000000000000000000000e-01) Point num. 8 = (-2.8284263610839843750000000000000000000000000000000000000000000000000000e+00,-1.6858739115832577226683497428894042968750000000000000000000000000000000e-07) Point num. 9 = (2.7487621307373046875000000000000000000000000000000000000000000000000000e+00,1.3737866282463073730468750000000000000000000000000000000000000000000000e-01) Point num. 10 = (-2.3591601848602294921875000000000000000000000000000000000000000000000000e+00,-4.6926638484001159667968750000000000000000000000000000000000000000000000e-01) Point num. 11 = (2.3277494907379150390625000000000000000000000000000000000000000000000000e+00,6.2694752216339111328125000000000000000000000000000000000000000000000000e-01) Point num. 12 = (-1.9999984502792358398437500000000000000000000000000000000000000000000000e+00,-8.2842731475830078125000000000000000000000000000000000000000000000000000e-01) Point num. 13 = (1.9770878553390502929687500000000000000000000000000000000000000000000000e+00,1.0118466615676879882812500000000000000000000000000000000000000000000000e+00) Point num. 14 = (-1.6955150365829467773437500000000000000000000000000000000000000000000000e+00,-1.1329096555709838867187500000000000000000000000000000000000000000000000e+00) Point num. 15 = (1.6584359407424926757812500000000000000000000000000000000000000000000000e+00,1.3450431823730468750000000000000000000000000000000000000000000000000000e+00) The inverse transform of the transform above is . . . Point num. 0 = (1.0000000000000000000000000000000000000000000000000000000000000000000000e+00,1.0000002384185791015625000000000000000000000000000000000000000000000000e+00) Point num. 1 = (2.0000021457672119140625000000000000000000000000000000000000000000000000e+00,2.0000000000000000000000000000000000000000000000000000000000000000000000e+00) Point num. 2 = (3.0000011920928955078125000000000000000000000000000000000000000000000000e+00,3.0000004768371582031250000000000000000000000000000000000000000000000000e+00) Point num. 3 = (4.0000023841857910156250000000000000000000000000000000000000000000000000e+00,3.9999992847442626953125000000000000000000000000000000000000000000000000e+00) Point num. 4 = (4.9999990463256835937500000000000000000000000000000000000000000000000000e+00,4.9999990463256835937500000000000000000000000000000000000000000000000000e+00) Point num. 5 = (6.0000009536743164062500000000000000000000000000000000000000000000000000e+00,5.9999961853027343750000000000000000000000000000000000000000000000000000e+00) Point num. 6 = (6.9999985694885253906250000000000000000000000000000000000000000000000000e+00,6.9999980926513671875000000000000000000000000000000000000000000000000000e+00) Point num. 7 = (7.9999985694885253906250000000000000000000000000000000000000000000000000e+00,7.9999957084655761718750000000000000000000000000000000000000000000000000e+00) Point num. 8 = (8.9999971389770507812500000000000000000000000000000000000000000000000000e+00,8.9999990463256835937500000000000000000000000000000000000000000000000000e+00) Point num. 9 = (9.9999971389770507812500000000000000000000000000000000000000000000000000e+00,9.9999961853027343750000000000000000000000000000000000000000000000000000e+00) Point num. 10 = (1.0999998092651367187500000000000000000000000000000000000000000000000000e+01,1.0999997138977050781250000000000000000000000000000000000000000000000000e+01) Point num. 11 = (1.1999995231628417968750000000000000000000000000000000000000000000000000e+01,1.1999994277954101562500000000000000000000000000000000000000000000000000e+01) Point num. 12 = (1.2999993324279785156250000000000000000000000000000000000000000000000000e+01,1.2999998092651367187500000000000000000000000000000000000000000000000000e+01) Point num. 13 = (1.3999990463256835937500000000000000000000000000000000000000000000000000e+01,1.3999996185302734375000000000000000000000000000000000000000000000000000e+01) Point num. 14 = (1.4999991416931152343750000000000000000000000000000000000000000000000000e+01,1.4999997138977050781250000000000000000000000000000000000000000000000000e+01) Point num. 15 = (1.5999984741210937500000000000000000000000000000000000000000000000000000e+01,1.5999992370605468750000000000000000000000000000000000000000000000000000e+01) * * * * * * Double precision FFT Number of points = 16 Point num. 0= (1.0000000000000000000000000000000000000000000000000000000000000000000000e+00,1.0000000000000000000000000000000000000000000000000000000000000000000000e+00) Point num. 1= (2.0000000000000000000000000000000000000000000000000000000000000000000000e+00,2.0000000000000000000000000000000000000000000000000000000000000000000000e+00) Point num. 2= (3.0000000000000000000000000000000000000000000000000000000000000000000000e+00,3.0000000000000000000000000000000000000000000000000000000000000000000000e+00) Point num. 3= (4.0000000000000000000000000000000000000000000000000000000000000000000000e+00,4.0000000000000000000000000000000000000000000000000000000000000000000000e+00) Point num. 4= (5.0000000000000000000000000000000000000000000000000000000000000000000000e+00,5.0000000000000000000000000000000000000000000000000000000000000000000000e+00) Point num. 5= (6.0000000000000000000000000000000000000000000000000000000000000000000000e+00,6.0000000000000000000000000000000000000000000000000000000000000000000000e+00) Point num. 6= (7.0000000000000000000000000000000000000000000000000000000000000000000000e+00,7.0000000000000000000000000000000000000000000000000000000000000000000000e+00) Point num. 7= (8.0000000000000000000000000000000000000000000000000000000000000000000000e+00,8.0000000000000000000000000000000000000000000000000000000000000000000000e+00) Point num. 8= (9.0000000000000000000000000000000000000000000000000000000000000000000000e+00,9.0000000000000000000000000000000000000000000000000000000000000000000000e+00) Point num. 9= (1.0000000000000000000000000000000000000000000000000000000000000000000000e+01,1.0000000000000000000000000000000000000000000000000000000000000000000000e+01) Point num. 10= (1.1000000000000000000000000000000000000000000000000000000000000000000000e+01,1.1000000000000000000000000000000000000000000000000000000000000000000000e+01) Point num. 11= (1.2000000000000000000000000000000000000000000000000000000000000000000000e+01,1.2000000000000000000000000000000000000000000000000000000000000000000000e+01) Point num. 12= (1.3000000000000000000000000000000000000000000000000000000000000000000000e+01,1.3000000000000000000000000000000000000000000000000000000000000000000000e+01) Point num. 13= (1.4000000000000000000000000000000000000000000000000000000000000000000000e+01,1.4000000000000000000000000000000000000000000000000000000000000000000000e+01) Point num. 14= (1.5000000000000000000000000000000000000000000000000000000000000000000000e+01,1.5000000000000000000000000000000000000000000000000000000000000000000000e+01) Point num. 15= (1.6000000000000000000000000000000000000000000000000000000000000000000000e+01,1.6000000000000000000000000000000000000000000000000000000000000000000000e+01) The discrete Fourier transform of the input data is . . . Point num. 0 = (2.4041630560342614586488707573153078556060791015625000000000000000000000e+01,2.4041630560342614586488707573153078556060791015625000000000000000000000e+01) Point num. 1 = (8.5445190731064677436279453104361891746520996093750000000000000000000000e+00,-2.3762671269186554923180665355175733566284179687500000000000000000000000e+01) Point num. 2 = (-8.5239452547913359126141585875302553176879882812500000000000000000000000e+00,5.6955181300451451775757050199899822473526000976562500000000000000000000e+00) Point num. 3 = (5.7868515652357670475680606614332646131515502929687500000000000000000000e+00,-4.7027324232883298549268147326074540615081787109375000000000000000000000e+00) Point num. 4 = (-4.8284271247461898468600338674150407314300537109375000000000000000000000e+00,1.9999999999999995559107901499373838305473327636718750000000000000000000e+00) Point num. 5 = (4.1697629740249135821272830071393400430679321289062500000000000000000000e+00,-1.7833038590530092548647189687471836805343627929687500000000000000000000e+00) Point num. 6 = (-3.5307337294603575728046962467487901449203491210937500000000000000000000e+00,7.0230660471416850310077961694332771003246307373046875000000000000000000e-01) Point num. 7 = (3.3099944745857352579321286611957475543022155761718750000000000000000000e+00,-5.6726000170764667718259488538024015724658966064453125000000000000000000e-01) Point num. 8 = (-2.8284271247461894027708240173524245619773864746093750000000000000000000e+00,-3.1401849173675498404057314287996413375903578379250147278867189015727490e-16) Point num. 9 = (2.7487631098141291907666072802385315299034118652343750000000000000000000e+00,1.3737918804498117086865249802940525114536285400390625000000000000000000e-01) Point num. 10 = (-2.3591608542065487519323596643516793847084045410156250000000000000000000e+00,-4.6926627053964187208379144067293964326381683349609375000000000000000000e-01) Point num. 11 = (2.3277511785832261104189910838613286614418029785156250000000000000000000e+00,6.2694715875584561270983385838917456567287445068359375000000000000000000e-01) Point num. 12 = (-1.9999999999999995559107901499373838305473327636718750000000000000000000e+00,-8.2842712474619084606075603005592711269855499267578125000000000000000000e-01) Point num. 13 = (1.9770901023730451662174800731008872389793395996093750000000000000000000e+00,1.0118468657416390676928585889982059597969055175781250000000000000000000e+00) Point num. 14 = (-1.6955181300451449555311000949586741626262664794921875000000000000000000e+00,-1.1329089947010451133735386974876746535301208496093750000000000000000000e+00) Point num. 15 = (1.6584433570634524723885760977282188832759857177734375000000000000000000e+00,1.3450456306525269134510836011031642556190490722656250000000000000000000e+00) The inverse transform of the transform above is . . . Point num. 0 = (9.9999999999999955591079014993738383054733276367187500000000000000000000e-01,9.9999999999999977795539507496869191527366638183593750000000000000000000e-01) Point num. 1 = (2.0000000000000035527136788005009293556213378906250000000000000000000000e+00,1.9999999999999991118215802998747676610946655273437500000000000000000000e+00) Point num. 2 = (3.0000000000000000000000000000000000000000000000000000000000000000000000e+00,3.0000000000000013322676295501878485083580017089843750000000000000000000e+00) Point num. 3 = (4.0000000000000017763568394002504646778106689453125000000000000000000000e+00,3.9999999999999982236431605997495353221893310546875000000000000000000000e+00) Point num. 4 = (4.9999999999999955591079014993738383054733276367187500000000000000000000e+00,4.9999999999999973354647408996243029832839965820312500000000000000000000e+00) Point num. 5 = (6.0000000000000000000000000000000000000000000000000000000000000000000000e+00,5.9999999999999973354647408996243029832839965820312500000000000000000000e+00) Point num. 6 = (6.9999999999999955591079014993738383054733276367187500000000000000000000e+00,7.0000000000000008881784197001252323389053344726562500000000000000000000e+00) Point num. 7 = (7.9999999999999982236431605997495353221893310546875000000000000000000000e+00,7.9999999999999946709294817992486059665679931640625000000000000000000000e+00) Point num. 8 = (8.9999999999999946709294817992486059665679931640625000000000000000000000e+00,8.9999999999999964472863211994990706443786621093750000000000000000000000e+00) Point num. 9 = (9.9999999999999964472863211994990706443786621093750000000000000000000000e+00,9.9999999999999946709294817992486059665679931640625000000000000000000000e+00) Point num. 10 = (1.1000000000000001776356839400250464677810668945312500000000000000000000e+01,1.0999999999999998223643160599749535322189331054687500000000000000000000e+01) Point num. 11 = (1.1999999999999994670929481799248605966567993164062500000000000000000000e+01,1.1999999999999992894572642398998141288757324218750000000000000000000000e+01) Point num. 12 = (1.2999999999999992894572642398998141288757324218750000000000000000000000e+01,1.2999999999999998223643160599749535322189331054687500000000000000000000e+01) Point num. 13 = (1.3999999999999991118215802998747676610946655273437500000000000000000000e+01,1.3999999999999996447286321199499070644378662109375000000000000000000000e+01) Point num. 14 = (1.4999999999999994670929481799248605966567993164062500000000000000000000e+01,1.4999999999999994670929481799248605966567993164062500000000000000000000e+01) Point num. 15 = (1.5999999999999987565502124198246747255325317382812500000000000000000000e+01,1.5999999999999992894572642398998141288757324218750000000000000000000000e+01) Test the copy constructor Point num. 0 = (1.0000000000000000000000000000000000000000000000000000000000000000000000e+00,1.0000002384185791015625000000000000000000000000000000000000000000000000e+00) Point num. 1 = (2.0000021457672119140625000000000000000000000000000000000000000000000000e+00,2.0000000000000000000000000000000000000000000000000000000000000000000000e+00) Point num. 2 = (3.0000011920928955078125000000000000000000000000000000000000000000000000e+00,3.0000004768371582031250000000000000000000000000000000000000000000000000e+00) Point num. 3 = (4.0000023841857910156250000000000000000000000000000000000000000000000000e+00,3.9999992847442626953125000000000000000000000000000000000000000000000000e+00) Point num. 4 = (4.9999990463256835937500000000000000000000000000000000000000000000000000e+00,4.9999990463256835937500000000000000000000000000000000000000000000000000e+00) Point num. 5 = (6.0000009536743164062500000000000000000000000000000000000000000000000000e+00,5.9999961853027343750000000000000000000000000000000000000000000000000000e+00) Point num. 6 = (6.9999985694885253906250000000000000000000000000000000000000000000000000e+00,6.9999980926513671875000000000000000000000000000000000000000000000000000e+00) Point num. 7 = (7.9999985694885253906250000000000000000000000000000000000000000000000000e+00,7.9999957084655761718750000000000000000000000000000000000000000000000000e+00) Point num. 8 = (8.9999971389770507812500000000000000000000000000000000000000000000000000e+00,8.9999990463256835937500000000000000000000000000000000000000000000000000e+00) Point num. 9 = (9.9999971389770507812500000000000000000000000000000000000000000000000000e+00,9.9999961853027343750000000000000000000000000000000000000000000000000000e+00) Point num. 10 = (1.0999998092651367187500000000000000000000000000000000000000000000000000e+01,1.0999997138977050781250000000000000000000000000000000000000000000000000e+01) Point num. 11 = (1.1999995231628417968750000000000000000000000000000000000000000000000000e+01,1.1999994277954101562500000000000000000000000000000000000000000000000000e+01) Point num. 12 = (1.2999993324279785156250000000000000000000000000000000000000000000000000e+01,1.2999998092651367187500000000000000000000000000000000000000000000000000e+01) Point num. 13 = (1.3999990463256835937500000000000000000000000000000000000000000000000000e+01,1.3999996185302734375000000000000000000000000000000000000000000000000000e+01) Point num. 14 = (1.4999991416931152343750000000000000000000000000000000000000000000000000e+01,1.4999997138977050781250000000000000000000000000000000000000000000000000e+01) Point num. 15 = (1.5999984741210937500000000000000000000000000000000000000000000000000000e+01,1.5999992370605468750000000000000000000000000000000000000000000000000000e+01) = floating point epsilons = single precision floating point epsilon = 1.19209289550781250000000000000000000000000000000000e-07 single precision test: (1.0f + 0.999999f * epsilon) - 1.0f = 0.00000000000000000000000000000000000000000000000000e+00 single precision test: (1.0f + epsilon - 1.0f = 1.19209289550781250000000000000000000000000000000000e-07 double precision floating point epsilon = 2.22044604925031308084726333618164062500000000000000e-16 double precision test: (1.0f + 0.999999 * epsilon) - 1.0f = 0.00000000000000000000000000000000000000000000000000e+00 double precision test: (1.0f + epsilon - 1.0f = 2.22044604925031308084726333618164062500000000000000e-16 Calling FFT with 1 point.