C ALGORITHM 820, COLLECTED ALGORITHMS FROM ACM. C THIS WORK PUBLISHED IN TRANSACTIONS ON MATHEMATICAL SOFTWARE, C VOL. 28,NO. 3, September, 2002, P. 337--353. #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create the files: # C++/ # C++/Dp/ # C++/Dp/Drivers/ # C++/Dp/Drivers/data1 # C++/Dp/Drivers/driver1.cc # C++/Dp/Drivers/driver2.cc # C++/Dp/Drivers/input_maker.cc # C++/Dp/Drivers/input_maker.h # C++/Dp/Drivers/res1 # C++/Dp/Drivers/res1.old # C++/Dp/Src/ # C++/Dp/Src/FFT.cc # C++/Dp/Src/FFT.h # C++/Dp/Src/FFTGaborMP.cc # C++/Dp/Src/FFTGaborMP.h # C++/Dp/Src/Gabor.cc # C++/Dp/Src/Gabor.h # C++/Dp/Src/Interval.cc # C++/Dp/Src/Interval.h # C++/Dp/Src/Partition.cc # C++/Dp/Src/Partition.h # C++/Dp/Src/ShiftGaborMP.cc # C++/Dp/Src/ShiftGaborMP.h # C++/Dp/Src/common.cc # C++/Dp/Src/common.h # Doc/ # Doc/README # Doc/makefile # This archive created: Wed Oct 16 11:53:00 2002 export PATH; PATH=/bin:$PATH if test ! -d 'C++' then mkdir 'C++' fi cd 'C++' if test ! -d 'Dp' then mkdir 'Dp' fi cd 'Dp' if test ! -d 'Drivers' then mkdir 'Drivers' fi cd 'Drivers' if test -f 'data1' then echo shar: will not over-write existing file "'data1'" else cat << "SHAR_EOF" > 'data1' Case: 1 for RunShiftGaborMP Error for Shift: 0.347450491390041 Output for RecSignal and Rf after RunShiftGabourMP, respectively: 1.464405494127667e-06 -1.464405494127667e-06 -2.797118089639211e-06 0.0009550932913280268 -5.92605357599877e-06 0.003629319702464556 4.583009848878864e-06 0.00727576548179402 0.0001414358697275646 0.009683063363307072 -0.000149737987427265 0.007319891877404173 -0.001082446304572172 -0.004326491441283842 0.0008869803958966868 -0.0288948077366852 0.006516108728321052 -0.0547225538489934 -0.004350667727525077 -0.03608428020802915 -0.02595997324995565 0.03784011407303738 0.01493122781494456 0.06104346550706643 0.06748988623209498 0.001072508196749555 -0.02943401691538597 -0.01148853650463391 -0.127657302164005 0.01119392661272825 0.05593367019994484 -0.05713355314497076 0.1293343668994439 0.01204110127373603 -0.01022471184168487 0.01418682348845168 -0.1609518085670864 -0.002700767122759179 0.0320330759372798 0.02788398469279076 0.1354169916175606 0.009033570907314586 -0.1166800044971271 -0.05901473514053644 0.009370328194357588 0.005152023173434103 0.1212840886133611 0.04246376784915497 -0.2209643453960042 0.002041688765382084 0.1829719490633882 -0.04072648789744905 -0.01170459878987779 0.006759674218473765 -0.1643129709051838 0.04257663512179385 0.2498118998097696 -0.04593562942933666 -0.2571864588105137 0.0158750402225663 0.2463972475167275 0.003356557391116201 -0.2496287229977237 0.003245982671943066 0.2598127229757267 -0.01674863206264782 -0.2595081546211058 0.01491870429873856 0.2412049893427833 0.007386028778549661 -0.2074848976263747 -0.03808948612732473 0.1647949189083136 0.0550490492690821 -0.1203382685756175 -0.03383817394586099 0.07468377123994722 -0.03315963879176004 0.007336148713331886 0.08996210190504178 -0.1623279434465188 -0.04028293807082012 0.2354518498680759 -0.03858864172170511 -0.03729402971266379 -0.01562692706399465 -0.1770403491575399 0.04383654516793047 0.1375019374800237 0.0411001057940851 -0.01869345542222707 0.004097121885371592 -0.02153419292863547 -0.1330447482388012 0.01840976692169566 0.05827113420143359 -0.0119554267311097 0.1291078538146817 0.00770826787703918 -0.07810847874448411 -0.004764668940476452 -0.1011325255958118 0.002756719765171625 0.02157818103267238 -0.001475880947414351 0.09467909940999852 0.0007175870034756578 0.03834937274340031 -0.0003039751817265241 -0.03688402882839638 9.954155764060428e-05 -0.05888518859973765 -1.138609614457117e-05 -0.03312514680659851 -1.840392883908674e-05 0.0003186439664076448 2.264402455058954e-05 0.01817481305720477 -1.80426062515626e-05 0.01983080816112855 1.200417246114352e-05 0.01367352088891783 -7.134603737999688e-06 0.006976793815884124 3.89331342721528e-06 0.002568822870971919 -1.976451991828305e-06 0.0005331260631649689 Output for Gabor G after RunShiftGabourMP: 16 32 2.945243112740432 0.04960234408323209 8 24 2.356194490192345 -2.779412316053904 4 42 3.926990816987241 3.112637716915737 8 16 4.71238898038469 -0.3141524261241873 Output for Gabor G's Sample data member after RunShiftGabourMP: Output for data member Sample output for Gabor G[0]: 1.333044383289157e-06 -2.860556298566527e-06 5.756645669016514e-06 -1.081879446956208e-05 1.881369433552057e-05 -2.971242781383955e-05 4.088300658694274e-05 -4.348608046542396e-05 1.615704044583074e-05 8.482788588954234e-05 -0.0003390180705987632 0.0008774242538293044 -0.001896198167029445 0.003660686064302405 -0.006488631777854927 0.01069944286755564 -0.01651861651004073 0.02393494957258616 -0.03252403889846105 0.04127307238837592 -0.04846352154030625 0.05168112751561937 -0.04801640298726727 0.03448657119306502 -0.008651960336718783 -0.030672156181401 0.08277162226349163 -0.1446509232852182 0.2110805675302548 -0.2751566241206272 0.3293241438577108 -0.3666777536718294 0.3822522273776054 -0.3739915815307157 0.3431521601961385 -0.2940370252207932 0.2331326741715707 -0.1678700086034924 0.1053134187801725 -0.0510736694358357 0.00865196033672032 0.02071081849960994 -0.0377387384869697 0.04453280769892065 -0.04387933895406732 0.03862288858671532 -0.03121341640078406 0.02346687459542073 -0.01651861651004071 0.0109128560962985 -0.006761083427427829 0.003911871080896846 -0.00209429865861738 0.001018266691245426 -0.0004313453218224535 0.0001412509566409432 -1.615704044584167e-05 -2.611544982934993e-05 3.213220895690193e-05 -2.560272768239959e-05 1.703409996815734e-05 -1.012410923782235e-05 5.524669888009655e-06 -2.804614888701783e-06 Output for data member Sample output for Gabor G[1]: -2.920163780660141e-13 2.860138242211616e-12 -1.012082962616481e-11 -9.683652719577712e-11 1.649841346033255e-09 -1.091126123559126e-08 2.60709585180912e-08 1.684352736683331e-07 -1.937710886495517e-06 8.653159433546374e-06 -1.396078073797004e-05 -6.090300337249653e-05 0.0004730941724421798 -0.001426547643211378 0.001554083097734798 0.004577793482538669 -0.02401143085901852 0.04888883391347036 -0.03596255929047872 -0.07152955218324433 0.2533379816201814 -0.348293123302319 0.1729970780284715 0.2323414197334609 -0.5556411411817788 0.5158125969303076 -0.1729970780284729 -0.1568843398417339 0.2533379816201815 -0.158800114552231 0.03596255929047828 0.02202137200248259 -0.02401143085901854 0.01016299008221498 -0.001554083097734776 -0.0006425707838731498 0.0004730941724421815 -0.0001352085063716204 1.396078073797021e-05 3.897708896476997e-06 -1.937710886495516e-06 3.739369244846617e-07 -2.60709585180911e-08 -4.914842990743224e-09 1.649841346033257e-09 -2.149831942486536e-10 1.012082962616466e-11 1.288313980279142e-12 -2.92016378066015e-13 2.569345419044846e-14 -8.167460682427264e-16 -7.020137424495105e-17 1.074444680451346e-17 -6.383403536666667e-19 1.370155360161079e-20 7.952090815046134e-22 -8.218124818603607e-23 3.296810075288738e-24 -4.778200822076294e-26 -1.87253037630712e-27 1.306691991243219e-28 -3.539544532130891e-30 3.463943553551551e-32 9.166176911219187e-34 Output for data member Sample output for Gabor G[2]: -3.569246127937753e-151 3.105729350859817e-144 -9.983392279456419e-139 -1.29051524011237e-130 6.919959837644005e-124 -1.251706496613569e-117 8.364285711788937e-113 2.24763446917512e-105 -2.50540501867505e-99 9.420819838874204e-94 -1.308660139934532e-89 -7.310305423523809e-83 1.693946167071845e-77 -1.324104260878654e-72 3.823597616436285e-69 4.440098991878673e-63 -2.138792036010486e-58 3.47538530105271e-54 -2.086242469915684e-51 -5.036131665197988e-46 5.04295165089939e-42 -1.70345642695231e-38 2.125713224616151e-36 1.066715955572842e-31 -2.220487551714618e-28 1.559216387618261e-25 -4.044751632676534e-24 -4.219371827808724e-20 1.825825101811712e-17 -2.665195335120801e-15 1.437230205212888e-14 3.116693525446019e-11 -2.803608039018775e-09 8.507441875299461e-08 -9.536919242287652e-08 -4.299200415716386e-05 0.0008039382867091117 -0.005071264109522343 0.001181781444229603 0.1107461342984545 -0.4305022440896051 0.5645218548073647 -0.02734724116003644 -0.532741774072068 0.4305022440896047 -0.117352564018101 0.001181781444230523 0.004785774395602185 -0.0008039382867091111 4.555664134084766e-05 -9.536919242293138e-08 -8.028510568485633e-08 2.803608039018774e-09 -3.302616193211936e-11 1.437230205213423e-14 2.515156639179867e-15 -1.825825101811712e-17 4.471073466137213e-20 -4.044751632677218e-24 -1.471439409171204e-25 2.220487551714618e-28 -1.130349634851682e-31 2.125713224616079e-36 1.607559372982466e-38 Output for data member Sample output for Gabor G[3]: 1.972102022578994e-06 -2.934709424769128e-06 -3.750008138236315e-05 4.585581497775882e-05 0.0004814908048697264 -0.0004838120510277988 -0.004174425752673475 0.003446766814729536 0.02443759370507904 -0.01658059379971862 -0.09659910326097525 0.05385688272703571 0.257834308219641 -0.1181232264801457 -0.4646878012584566 0.1749372701671879 0.5655028446139766 -0.1749372701671824 -0.4646878012584576 0.1181232264801448 0.2578343082196409 -0.0538568827270366 -0.09659910326097496 0.01658059379971893 0.02443759370507908 -0.003446766814729533 -0.004174425752673475 0.0004838120510278049 0.0004814908048697257 -4.5855814977758e-05 -3.750008138236302e-05 2.934709424769105e-06 1.972102022578985e-06 -1.268202932098957e-07 -7.002925441595175e-08 3.70054214649836e-09 1.679123277947361e-09 -7.291131189408145e-11 -2.718558093287525e-11 9.700127127001686e-13 2.971991816858231e-13 -8.713906492380915e-15 -2.193863266151499e-15 5.285685516807883e-17 1.093514281327865e-17 -2.164924229702128e-19 -3.680377084698195e-20 5.987382968140445e-22 8.363982826089264e-23 -1.118109480580622e-24 -1.283473489428897e-25 1.409887882720609e-27 1.329883594491787e-28 -1.200432602404718e-30 -9.304505786614043e-32 6.901507137891129e-34 4.395678775488432e-35 -2.679187182852577e-37 -1.402205095939411e-38 7.022878065392948e-41 3.020300052196977e-42 -1.24302583468763e-44 -4.392801661602689e-46 1.485587161950614e-48 Output for coefficient of Gabor G: 0.7047142193355383 0.3984094483811287 0.3912275330291436 0.2662084783392492 Output for Interval f_approx (G) after multiplying by its coeffients: 1.464405494127667e-06 -2.797118089639211e-06 -5.92605357599877e-06 4.583009848878864e-06 0.0001414358697275646 -0.000149737987427265 -0.001082446304572172 0.0008869803958966868 0.006516108728321052 -0.004350667727525077 -0.02595997324995565 0.01493122781494456 0.06748988623209498 -0.02943401691538597 -0.127657302164005 0.05593367019994484 0.1293343668994439 -0.01022471184168487 -0.1609518085670864 0.0320330759372798 0.1354169916175606 -0.1166800044971271 0.00937032819435759 0.1212840886133611 -0.2209643453960042 0.1829719490633882 -0.0117045987898778 -0.1643129709051838 0.2498118998097696 -0.2571864588105137 0.2463972475167275 -0.2496287229977237 0.2598127229757267 -0.2595081546211058 0.2412049893427833 -0.2074848976263747 0.1647949189083136 -0.1203382685756175 0.07468377123994722 0.007336148713331882 -0.1623279434465189 0.2354518498680758 -0.03729402971266378 -0.1770403491575399 0.1375019374800237 -0.01869345542222707 -0.02153419292863547 0.01840976692169566 -0.0119554267311097 0.00770826787703918 -0.004764668940476452 0.002756719765171625 -0.001475880947414351 0.0007175870034756578 -0.0003039751817265241 9.954155764060428e-05 -1.138609614457117e-05 -1.840392883908674e-05 2.264402455058954e-05 -1.80426062515626e-05 1.200417246114352e-05 -7.134603737999688e-06 3.89331342721528e-06 -1.976451991828305e-06 Case: 2 for RunShiftGaborMP Error for Shift: 0.4318260036745747 Output for RecSignal and Rf after RunShiftGabourMP, respectively: 0.03770573159412206 -0.03770613795731638 0.02709767590575503 -0.02709798551580564 -0.09143544978768031 0.007532261311325613 -0.1532563351505692 3.861971182881344e-05 0.03286792207154147 0.1234878339048857 0.2096099530321297 -0.03969284479342185 0.06456251643607283 0.105557059807216 -0.1461099941960251 0.0510659492645167 -0.07446808573705842 0.07446796963329007 0.05978755730946946 -0.06908162968918671 -0.01716497983705895 0.1147743372108042 -0.07847746514272561 -0.1009629940001985 0.04955428658728852 0.0363752211357977 0.09886256440660753 0.04595589437732935 -0.04936409510941547 -0.05025430711439657 -0.1064669930827909 -0.06234452729549553 0.05315082384112216 -0.05315075611392375 0.1926878429431648 -0.03272380361152365 0.1591166496413111 -0.001008014956619377 0.04407431534479098 -0.0135622938178615 -0.06627323457089918 -0.04298736620894925 -0.1603026884583276 -0.01767634897251682 -0.1916474904473544 0.03529185057462403 -0.1168006292498051 0.04521724507827383 0.01496337450245561 0.01821154016789432 0.1133739414376278 0.007732231849677531 0.1419180345760157 0.02930294546345783 0.1216012557800945 0.05674919693207198 0.08333797754105191 0.06524677427352382 0.04133185143455768 0.05247586384035975 -0.006588043251102902 0.03381842211447997 -0.06568063577620015 0.02619904601259365 -0.1284606466965405 0.03085117537129316 -0.1724709351338343 0.03075945697688 -0.1777269428052169 0.008421436602015272 -0.1468573482481059 -0.03338753486555458 -0.1063824205843205 -0.0696349290617458 -0.08657226912184322 -0.07252840406659229 -0.09765501725966312 -0.03478220212508056 -0.1228553991135224 0.02381131500438127 -0.1334036950460954 0.07165404838023272 -0.1118442545231094 0.08880878151118064 -0.0640339337370812 0.07907480049922898 -0.0113402401469684 0.06220538181885851 0.02819906399164354 0.05504843181797809 0.05290177136310655 0.05847874858477341 0.07476915562322378 0.0600165454018815 0.1056419641376406 0.04761420036786261 0.1454745138066421 0.02132637574450259 0.1824302237780315 -0.006836713876749003 0.2031961602883094 -0.0232688361345979 0.2034866693076293 -0.02330955278495706 0.1899106019811019 -0.01314287731591634 0.1728717863277077 -0.002722896078242898 0.1577461666737137 0.003029546847968185 0.1419517070551161 0.007142238321086944 0.1194233977011996 0.01610594694591325 0.08753540103544591 0.03294497119951242 0.05019578684512951 0.05411777786662922 0.01500960413215468 0.07235140887785338 -0.01229216419810659 0.08221162108213986 -0.03116546983134804 0.08341605688831479 -0.04498258280365032 0.07956480381440753 -0.05702776692401897 0.07413785062114397 Output for Gabor G after RunShiftGabourMP: 32 48 6.08683576633022 -2.409389872230912 16 24 0.5890486225480862 2.791380701265361 16 8 1.570796326794897 -1.556966006383925 64 0 0.9817477042468108 1.145396731133069 Output for Gabor G's Sample data member after RunShiftGabourMP: Output for data member Sample output for Gabor G[0]: -0.0001944467680969209 -0.000300879759894257 -0.000438901105983628 -0.0006090806239937885 -0.0008074373209135129 -0.001023239310673882 -0.001236548518776618 -0.001415742231629716 -0.001515364600044054 -0.00147478432037134 -0.001218240422616444 -0.0006569212417417192 0.0003062865256227726 0.001768850036634944 0.003817147190456798 0.00651159991506568 0.009868955061985546 0.01384288640515394 0.01830474130043861 0.02302687180244732 0.02767146913426211 0.03178804751277886 0.03482258743484305 0.03614076175759108 0.03506658643621089 0.03093628103884418 0.02316518844783141 0.01132346587988865 -0.004785829264940028 -0.02505437442654816 -0.04901112758394852 -0.07578909746029924 -0.1041246217596728 -0.132395175431291 -0.1586983234316441 -0.1809701412353847 -0.1971366800892413 -0.2052874090902227 -0.2038556424071622 -0.1917883576474997 -0.1686870208790495 -0.1349023515897985 -0.0915694261037908 -0.04057488238008235 0.01554527229767303 0.07377138466609202 0.1308164335804875 0.1833739266514737 0.2283744556961478 0.2632264258221598 0.2860176967451292 0.2956587460369385 0.2919540355632775 0.2755958012540886 0.2480825736325636 0.2115723944684729 0.1686870208790401 0.1222876950425754 0.07524488282230701 0.03022365522276282 -0.01049666385306206 -0.04515482149980906 -0.07258414050174142 -0.092231709307764 Output for data member Sample output for Gabor G[1]: -0.0003362560922749809 -0.0006192278752224995 -0.0007488839119329384 -0.0002875933244073039 0.001308440013282153 0.004279053375605289 0.007880099541877652 0.009781347770582503 0.00623380297370811 -0.006288078371939894 -0.0279438500669168 -0.05222157593087545 -0.06512659865695822 -0.04950264448300169 0.005234555822307019 0.09186513817536235 0.1800623315326175 0.2239010662771294 0.1828408030528944 0.04741222928888322 -0.1456526355658072 -0.3216363983640075 -0.3999467259028717 -0.335213961399426 -0.1442545185478842 0.09825332482857543 0.2948278516267916 0.3720361957686698 0.313290029738506 0.16079388656421 -0.01148084685954041 -0.1360497590084912 -0.1800623315326175 -0.1511851438845676 -0.08336409342316797 -0.014596517198413 0.03027820817579177 0.04514711146477588 0.03790704060595786 0.02145323493454938 0.006233802973708093 -0.002866974680148121 -0.005808955713519871 -0.004949572708340037 -0.002814375511159292 -0.0009753443167502489 4.70235383181306e-05 0.0003762635194023034 0.0003362560922749807 0.0001906379528233069 7.097938555367655e-05 8.39180537344612e-06 -1.175409742300407e-05 -1.18342854448942e-05 -6.709418895075995e-06 -2.563957201185856e-06 -5.030648926065739e-07 1.562239993920317e-07 2.137346407316189e-07 1.229695302827447e-07 4.721334870233964e-08 1.104825463341251e-08 -3.596698037058723e-10 -1.943272667322041e-09 Output for data member Sample output for Gabor G[2]: 0.002701553799846494 0.2347997415214086 -0.003809274630796887 -0.3152157416064748 0.004868937357097708 0.3836024919587259 -0.00564143162260054 -0.4231732246070651 0.005925264055198492 0.4231732246070651 -0.005641431622600441 -0.3836024919587259 0.004868937357098161 0.3152157416064748 -0.003809274630797113 -0.2347997415214086 0.002701553799846606 0.1585442771497844 -0.001736793543312111 -0.09704357003622728 0.001012152635071928 0.05384510133404233 -0.0005346961576216153 -0.02708250744571089 0.0002560538765726301 0.01234794774000608 -0.0001111524107227596 -0.005103450811089147 4.373908124245846e-05 0.001912037134591669 -1.560212184318642e-05 -0.0006493695964142241 5.044997007841287e-06 0.0001999175028120676 -1.478772616311878e-06 -5.579212776709012e-05 3.929208957978141e-07 1.411426508412334e-05 -9.463942438457975e-08 -3.236732837888847e-06 2.066342431141611e-08 6.728506511009329e-07 -4.089740349885611e-09 -1.267925508000458e-07 7.337572709937943e-10 2.165868275307586e-08 -1.193362367326009e-10 -3.353772350044048e-09 1.759363175238228e-11 4.707587041923104e-10 -2.351266715042056e-12 -5.989993850545292e-11 2.848469235043409e-13 6.909038826278439e-12 -3.128127234706638e-14 -7.223906711812765e-13 3.114013740600094e-15 6.84683502384366e-14 -2.810087730047559e-16 -5.882620568623004e-15 2.298700930818496e-17 4.58157763001541e-16 -1.704544342846252e-18 -3.23461429159186e-17 Output for data member Sample output for Gabor G[3]: 0.1229361845486053 -0.1571936277148899 -0.2968223645161567 -0.1723168991493203 0.1036599253841785 0.2846035680572813 0.2114957912138404 -0.04674257098078698 -0.2583456409540112 -0.2377303856021841 -0.009020455478156329 0.2206848058726195 0.2496451381221526 0.05941466924315299 -0.1752194055207622 -0.2473274185016624 -0.1010197310890463 0.1260382093201004 0.232222725428222 0.1315457368452108 -0.07721481028292031 -0.2068573072883148 -0.1499937163327485 0.03234630983784197 0.1744432197175865 0.1566312667550628 0.005799132644732821 -0.13843560978361 -0.1528056129246015 -0.03548548033277563 0.1021127604351697 0.1406406576230344 0.05605129381778453 -0.06823739950609582 -0.1226777411789267 -0.06780764179858972 0.03883678593960199 0.1015206405736316 0.07182859270835601 -0.01511436284801384 -0.07953531499950882 -0.06968273395355069 -0.00251739041092151 0.05863759624429495 0.06315510444642089 0.01431069245059137 -0.0401819294383506 -0.05400108280010282 -0.02099993890185807 0.02494569837580638 0.04376024852261915 0.02360116599604756 -0.0131898212411086 -0.03364269570915014 -0.02322600982950698 0.004768786744223471 0.02448605793661204 0.02093268116778055 0.0007378890410540745 -0.01677094193441767 -0.01762505837085681 -0.003896938611797167 0.01067663786551191 0.01400061146702608 Output for coefficient of Gabor G: 0.6641372506105402 0.4233587106808677 0.3194892749795885 0.3018973669404474 Output for Interval f_approx (G) after multiplying by its coeffients: 0.03770573159412206 0.02709767590575503 -0.09143544978768033 -0.1532563351505692 0.03286792207154147 0.2096099530321297 0.06456251643607283 -0.1461099941960251 -0.0744680857370584 0.05978755730946947 -0.01716497983705895 -0.07847746514272561 0.04955428658728851 0.09886256440660753 -0.04936409510941547 -0.1064669930827909 0.05315082384112216 0.1926878429431648 0.1591166496413111 0.04407431534479098 -0.06627323457089918 -0.1603026884583276 -0.1916474904473544 -0.1168006292498051 0.01496337450245561 0.1133739414376278 0.1419180345760157 0.1216012557800945 0.08333797754105193 0.04133185143455767 -0.006588043251102901 -0.06568063577620012 -0.1284606466965406 -0.1724709351338343 -0.1777269428052169 -0.1468573482481059 -0.1063824205843205 -0.08657226912184322 -0.09765501725966312 -0.1228553991135224 -0.1334036950460954 -0.1118442545231094 -0.0640339337370812 -0.0113402401469684 0.02819906399164354 0.05290177136310655 0.07476915562322378 0.1056419641376406 0.1454745138066421 0.1824302237780315 0.2031961602883094 0.2034866693076293 0.1899106019811019 0.1728717863277077 0.1577461666737137 0.1419517070551161 0.1194233977011996 0.08753540103544591 0.05019578684512951 0.01500960413215468 -0.01229216419810659 -0.03116546983134804 -0.04498258280365032 -0.05702776692401897 Case: 3 for RunShiftGaborMP Error for Shift: 0.03619844162339594 Output for RecSignal and Rf after RunShiftGabourMP, respectively: -0.003367927651643155 0.003367927651643155 0.07524875939222801 0.01282836670191751 0.1545991080491649 0.002641847004991226 0.2178393131294848 -0.007933312063006617 0.2579016416541139 -0.009618115564103484 0.2781858180765719 -0.003793677963632104 0.2866394715269455 0.003428665975822602 0.2895736271601329 0.007401942289396589 0.2894086660944908 0.007207386407708358 0.2858914755941125 0.004446837604179961 0.2781660988632147 0.001181369923440058 0.2659591716271176 -0.001245127583675286 0.2497415931812244 -0.002358868999930496 0.2304352956067615 -0.002254451755068319 0.209108234797575 -0.00128162255705288 0.1867897312332087 0.0001473430235960218 0.1643798229285751 0.001655984886066973 0.142607464329841 0.002952892878496817 0.1220150654127386 0.003854337167976259 0.1029622969385457 0.004287368546076588 0.08564585734021765 0.004276693197416078 0.07013099287309195 0.003919530296843985 0.05638936063599373 0.003353862829415037 0.04433753221789527 0.002725783878000111 0.03387105098199807 0.002161025366665576 0.02489023180181731 0.00174448044524094 0.01731555673045633 0.001509866033887179 0.01109229963407676 0.001439892496660338 0.006185648507566604 0.001475671726068003 0.002568870736956313 0.001532818374068437 0.0002078378619482615 0.00152092767614729 -0.0009545694510957731 0.00136290915812702 -0.001010994207750546 0.001010994207750546 -9.667344988269211e-05 0.0004570173052151332 0.001610283479661152 -0.0002643587527701514 0.003895561227343425 -0.001079626090713372 0.006521298856455564 -0.001886673036108703 0.009242919347138372 -0.002569458380515035 0.01182776365350271 -0.003014754104544117 0.01407300943096882 -0.003128436679876509 0.01582057238010153 -0.002849024894582619 0.01696721575821236 -0.002156689753019823 0.01746882916623817 -0.001076697557815359 0.01733865940040958 0.0003229310365518852 0.0166400616093346 0.001938977757945094 0.01547498291816233 0.003644587076874046 0.01396981814016184 0.005303190572575222 0.01226045114722673 0.006782981733357082 0.01047821799967149 0.007970205090844298 0.008738235721597282 0.008779815801843397 0.007131095912945716 0.009162510486711219 0.005718401392291921 0.009107651130174881 0.004532104551886399 0.008642123363093746 0.003577156387519784 0.007825620162589336 0.002836645680226213 0.00674317149352738 0.002278426316468526 0.005495921904708892 0.001862201348742133 0.00419118747783336 0.00154613809321642 0.002932717832615203 0.001292296358419523 0.001811881094047674 0.001070419625064439 0.0009002220017162263 0.0008599224131863406 0.0002435599249914838 0.0006501663035057067 -0.0001424656828128007 0.0004393215080261779 -0.0002756992863257033 0.0002322420232638599 -0.0002100507594457331 Output for Gabor G after RunShiftGabourMP: 32 0 0.09817477042468103 -1.368901280780668 8 0 0.3926990816987241 -2.369247086762944 32 32 6.185010536754901 -1.807142321506901 64 0 5.939573610693191 2.326392437594597 Output for Gabor G's Sample data member after RunShiftGabourMP: Output for data member Sample output for Gabor G[0]: 0.08302185012833978 0.1220039741913944 0.1585989857988264 0.1918192071484917 0.2208130102016362 0.2448995001142542 0.2635936290330362 0.2766205119030878 0.2839184669293578 0.2856310646720971 0.2820891798670174 0.2737846442645078 0.2613375541485024 0.2454595649894067 0.2269155971068249 0.2064862863400025 0.1849332637503503 0.1629689715212584 0.1412322596248179 0.1202705040777156 0.1005284863039634 0.08234381297515518 0.06594826754495224 0.05147418959649349 0.03896478665493471 0.02838719576488269 0.01964712060563694 0.01260395914542701 0.007085487324405345 0.002901354515795286 -0.0001451446963139536 -0.002247349705119799 -0.003587699445553223 -0.004332355654315129 -0.004627825850939195 -0.0045993363568793 -0.004350650693795427 -0.003965006779559081 -0.003506851879448485 -0.003024080669017222 -0.002550522214699332 -0.002108469804329041 -0.001711097879894609 -0.001364658514186696 -0.001070392858803508 -0.0008261289071689261 -0.0006275649570930907 -0.0004692583702771201 -0.0003453522792416281 -0.0002500798470013451 -0.0001780877945788255 -0.0001246194577383756 -8.559380778335768e-05 -5.761169530119549e-05 -3.791486821344954e-05 -2.431768090469606e-05 -1.512625501976857e-05 -9.055409322198405e-06 -5.150044507249956e-06 -2.71484810425098e-06 -1.254107463290473e-06 -4.219804230580722e-07 1.734679130972305e-08 2.207064970362702e-07 Output for data member Sample output for Gabor G[1]: -0.7459070302216675 -0.3913484353185657 -0.01116902965315077 0.248104803861523 0.3313233033640495 0.2804585435639238 0.1778712214468057 0.08728184836425093 0.03223356543637225 0.007710688514593046 0.0001003346437978786 -0.001016193830823533 -0.0006187272947126755 -0.0002387931575576155 -6.90501780520174e-05 -1.544859406725152e-05 -2.601233180286086e-06 -2.837069726016829e-07 -1.683192063664188e-09 7.772580472076695e-09 2.157713901794117e-09 3.79684068362975e-10 5.00577368012173e-11 5.106240676538753e-12 3.920103340008975e-13 1.949369432852341e-14 5.273072331196302e-17 -1.110199922147972e-16 -1.405192220023238e-17 -1.127379576470959e-18 -6.776803772924547e-20 -3.151816265668409e-21 -1.103222317987103e-22 -2.501298867427736e-24 -3.084899888407278e-27 2.961313934884146e-27 1.708932487143339e-28 6.251226626379916e-30 1.713270365204841e-31 3.633020064121042e-33 5.797968538020679e-35 5.993552494176452e-37 3.370277905710699e-40 -1.475078049320364e-40 -3.881158397244964e-42 -6.473029955627603e-44 -8.088615429606049e-46 -7.820274410403857e-48 -5.690310462944342e-50 -2.681947873987269e-52 -6.876028120617975e-56 1.37212236330604e-56 1.646057952794828e-58 1.25169144016837e-60 7.131317368620865e-63 3.143572501180817e-65 1.042901668269856e-67 2.241112429709856e-70 2.619732013504789e-74 -2.38351548272864e-75 -1.303695503334695e-77 -4.519956342190017e-80 -1.174120399839116e-82 -2.359784052909518e-85 Output for data member Sample output for Gabor G[2]: -0.003332643838104405 -0.005669246416154107 -0.008730797030061776 -0.01263323804065731 -0.01748718117582801 -0.02339036899543656 -0.030418972054151 -0.03861804226251165 -0.04799158520221106 -0.05849284967536808 -0.07001554747702127 -0.0823867952468305 -0.09536259872626036 -0.1086266653954138 -0.1217932257215207 -0.1344143630209634 -0.1459921008666466 -0.1559951861865222 -0.163880154304668 -0.1691158944373895 -0.1712105808083536 -0.1697395283329164 -0.1643723049465552 -0.1548973134293808 -0.1412420651376461 -0.1234875174908368 -0.1018751354133968 -0.07680575026072982 -0.04882980158831377 -0.01862912021033818 0.01300899960948754 0.04522413391002955 0.07711968671214005 0.1078023345387182 0.1364216197487788 0.162207326706478 0.1845024234217045 0.2027896643332995 0.216710400643622 0.2260746944397156 0.2308624350919285 0.2312157610119209 0.2274236480965699 0.2198999953603289 0.2091568853728459 0.1957749015217676 0.18037243874438 0.1635758555302635 0.1459921008666417 0.1281851378225994 0.1106571090541769 0.09383478441465179 0.07806143166748165 0.06359388840887042 0.05060431057725792 0.03918584628439168 0.02936134066371392 0.02109411750470951 0.01429989925701989 0.008859005933439789 0.004628099573534106 0.001450896916206968 -0.0008325581778326423 -0.002378304330704889 Output for data member Sample output for Gabor G[3]: -0.2082458098637195 -0.1215121286339588 -0.02068424989996238 0.08196764319093885 0.1740205573926904 0.2444738822588957 0.2851266608660514 0.2915768534960254 0.263715557415629 0.2056589966604151 0.1251377204893935 0.03243500453224048 -0.06097513326745264 -0.1439034541122262 -0.2068377892537081 -0.2430725737730388 -0.2494372712398842 -0.2265439251143239 -0.1785413114563685 -0.1124293949539547 -0.0370438707952642 0.03814080762980255 0.1042248846602365 0.1539547782081414 0.182521760664752 0.1880007935262507 0.1713953880148097 0.1363086130764414 0.0883084036244367 0.03409094305777519 -0.01943494098334897 -0.06601818619153992 -0.1007820662275072 -0.1207071938299216 -0.1248385147824955 -0.1142137314060883 -0.09154740078148227 -0.06073392420137246 -0.02625052243097988 0.007453348270014905 0.03650039614634363 0.05800067094454054 0.07029791111081712 0.07303374216163204 0.06704167754873323 0.05410379934502273 0.03661720866120997 0.01722365453889511 -0.001545780940395747 -0.0175673202107905 -0.02933188943559528 -0.03604822605624166 -0.03764219017100175 -0.03466625265085613 -0.0281429804104857 -0.01937170080025623 -0.009728278160798937 -0.0004846040734965047 0.007331992786130259 0.0130273720158336 0.01627376442448276 0.0170917904414489 0.01579160696273212 0.01288719950985612 Output for coefficient of Gabor G: 0.9904523714079411 0.1055606480798452 0.07445157833953987 0.03174405229548545 Output for Interval f_approx (G) after multiplying by its coeffients: -0.003367927651643161 0.075248759392228 0.1545991080491649 0.2178393131294848 0.2579016416541139 0.2781858180765719 0.2866394715269455 0.2895736271601329 0.2894086660944908 0.2858914755941125 0.2781660988632147 0.2659591716271176 0.2497415931812244 0.2304352956067615 0.209108234797575 0.1867897312332087 0.1643798229285751 0.142607464329841 0.1220150654127386 0.1029622969385457 0.08564585734021765 0.07013099287309195 0.05638936063599373 0.04433753221789527 0.03387105098199807 0.02489023180181731 0.01731555673045633 0.01109229963407676 0.006185648507566604 0.002568870736956313 0.0002078378619482615 -0.0009545694510957733 -0.001010994207750546 -9.667344988269211e-05 0.001610283479661152 0.003895561227343425 0.006521298856455564 0.009242919347138372 0.01182776365350271 0.01407300943096882 0.01582057238010153 0.01696721575821236 0.01746882916623817 0.01733865940040958 0.0166400616093346 0.01547498291816233 0.01396981814016184 0.01226045114722673 0.01047821799967149 0.008738235721597282 0.007131095912945716 0.00571840139229192 0.004532104551886399 0.003577156387519784 0.002836645680226213 0.002278426316468525 0.001862201348742133 0.00154613809321642 0.001292296358419523 0.001070419625064439 0.0008599224131863406 0.0006501663035057067 0.0004393215080261779 0.0002322420232638599 Case: 4 for RunShiftGaborMP Error for Shift: 0.4027586819444937 Output for RecSignal and Rf after RunShiftGabourMP, respectively: 0.01106684047486867 -0.01106684047486867 0.01753529157434259 -0.01753529157434259 0.02398608295299232 -0.02398608295299232 0.03041477002792911 -0.03041477002792911 0.03680222944348317 -0.03680222944348317 0.04307589710706629 -0.04307589710706629 0.04905736598422908 -0.04905736598422908 0.05441556694850423 0.134047847270015 0.05866155827256886 0.1298018559459504 0.06122961040008686 -0.1083454639547167 0.06167612071973987 0.03255558638951975 0.05998325507144227 0.03424845203781734 0.05688293560050166 0.03734877150875795 0.0540456843963299 0.04018602271292972 0.05395285965019329 0.04027884745906633 0.05933347536384503 -0.1535651824731046 0.07220968107956199 -0.04865175430224709 0.09281311698041304 0.04853444368347638 0.1188080897622442 0.02253947090164525 0.1452720666251223 -0.003924505961232857 0.1656750077307316 -0.02432744706684216 0.1737090619361396 -0.03236150127225013 0.1654050228021197 -0.02405746213823026 0.1407387664664006 0.0006087941974887855 0.1040300889345222 0.03731747172936727 0.06286689910909783 0.07848066155479159 0.02587668837062146 -0.08241571263617722 0.0001462307537774747 -0.05668525501933325 -0.01076724013426696 -0.04577178413128883 -0.007549435510700811 0.04995370370986763 0.005586345128236745 0.03681792307093008 0.02264726602888001 0.01975700217028682 0.03791756363694931 0.00448670456221751 0.04760326206647991 -0.005198993867313096 0.05062341368742552 -0.008219145488258691 0.04849019727466953 -0.006085929075502703 0.04452784944633827 -0.002123581247171443 0.04280786601071058 -0.0004035978115437519 0.04712958907657189 -0.004725320877405067 0.06023339485173462 -0.01782912665256781 0.08329645101205672 -0.04089218281288989 0.1156892896989691 -0.07328502149980233 0.1549697198064589 0.09003271867761609 0.1971277628153832 0.04787467566869175 0.2369022995789627 0.008100138905112254 0.2677748594028521 -0.02277242091877708 0.294684726679673 -0.04968228819559809 0.3257513134696692 -0.08074887498559429 0.2163252110486108 0.02867722743546415 0.08711595971011986 0.01182733275460269 0.3408029408775052 -0.001568795284170634 0.3145094008145975 0.0247247447787371 0.03822132397751225 -0.03822132397751229 0.01681901496924744 -0.01681901496924748 0.0139244821957681 -0.01392448219576814 -0.02231506156915222 0.02231506156915217 -0.04442942146195377 0.04442942146195373 -0.05441685728766318 0.05441685728766314 -0.05597302540439875 0.05597302540439871 -0.05153480401142359 0.05153480401142355 -0.04363021864353751 0.04363021864353746 -0.0344324388947413 0.03443243889474126 -0.02552831626650362 0.02552831626650357 -0.01787463560440347 0.01787463560440343 Output for Gabor G after RunShiftGabourMP: 16 48 0.1963495408493621 -2.762415206021998 64 0 0.04908738521234052 -1.486668569691321 4 50 4.71238898038469 -2.177867667969664 16 24 5.890486225480866 1.803774210778822 Output for Gabor G's Sample data member after RunShiftGabourMP: Output for data member Sample output for Gabor G[0]: -1.913755452273934e-13 -5.545103390347613e-13 -1.482953665763506e-12 -3.582966390134908e-12 -7.446076566737524e-12 -1.141854472919899e-11 -2.10320855435812e-12 7.831466898323669e-11 4.308294058240533e-10 1.670236462234572e-09 5.506420035131034e-09 1.632755974021199e-08 4.459161024112038e-08 1.134704227935042e-07 2.705331754168738e-07 6.054021145521068e-07 1.269896160797886e-06 2.484530732335971e-06 4.486578415346482e-06 7.31953296101372e-06 1.027119773240882e-05 1.063548514975036e-05 1.322762405762146e-06 -3.325795766972479e-05 -0.0001235408978579314 -0.0003233972566394797 -0.0007199140735468275 -0.001441403472984324 -0.002658094359224092 -0.004567229837921426 -0.007352646392064391 -0.01111015298855259 -0.01573610597723295 -0.02078865492694618 -0.02534838155613876 -0.02792359302128881 -0.02645830232340496 -0.01849912325100204 -0.00155356217739047 0.02637517367942208 0.0661551199189595 0.1169343201267548 0.1757677862202086 0.2376277408377493 0.2958931590852439 0.343297273164274 0.3731763584457235 0.380753090718969 0.3641443916559882 0.3248296768057418 0.2674437795263038 0.1989328574377766 0.1272770648654826 0.06008862671125292 0.003407396931251662 -0.03906091139864887 -0.06615511991895964 -0.07895778393268567 -0.08013923537081576 -0.0731570199921289 -0.06151014455572909 -0.0481875818033519 -0.03536973915926225 -0.02436767691043975 Output for data member Sample output for Gabor G[1]: 0.02649921391378151 0.04185441738976479 0.05699780544825223 0.0718241050733041 0.08623132415437272 0.1001218663823825 0.1134035823717915 0.1259907416938075 0.1378049119542572 0.1487757327454892 0.1588415742079806 0.1679500720125343 0.1760585327733289 0.1831342061786876 0.1891544224323259 0.1941065958852696 0.1979880979611608 0.2008060045912675 0.2025767253395739 0.2033255231765737 0.2030859354216005 0.2018991076922053 0.199813053755852 0.1968818549611003 0.1931648134260559 0.1887255733812107 0.1836312250081362 0.1779514047969098 0.1717574058810795 0.1651213110215013 0.1581151599255941 0.1508101614356703 0.1432759598305806 0.1355799630919505 0.1277867395234103 0.1199574876117923 0.1121495825156524 0.1044162010893127 0.09680602592818575 0.08936302757882328 0.08212632281699808 0.07513010577761099 0.06840364773589575 0.06197136050092671 0.05585291769653335 0.05006342767429812 0.04461365142764565 0.03951025865107045 0.03475611500725023 0.03035059371749816 0.02628990476589784 0.0225674352909871 0.01917409511620006 0.01609866182581758 0.01332812031091706 0.01084799227379492 0.008642651774007647 0.006695623509729497 0.004989861140770076 0.003508003561795528 0.002232607614949483 0.001146356280621897 0.0002322418956443295 -0.000526275586571568 Output for data member Sample output for Gabor G[2]: -3.143758740614536e-214 -1.252601210243103e-205 1.625771643730877e-197 2.953446260673737e-189 -1.747759623344944e-181 -1.447628558732514e-173 3.905851098495015e-166 1.475017029901807e-158 -1.814518860031793e-151 -3.124271375609588e-144 1.752342981517904e-137 1.375663733853596e-130 -3.517941096239969e-124 -1.259179515095758e-117 1.468147995408776e-111 2.395933910810895e-105 -1.273687634713735e-99 -9.477064622266899e-94 2.297036265043255e-88 7.792641064555928e-83 -8.611614772014436e-78 -1.332009513140802e-72 6.71140055379641e-68 4.733057749333958e-63 -1.087310414557806e-58 -3.496134269487222e-54 3.661893920990139e-50 5.368416796163805e-46 -2.563715292470618e-42 -1.713626511869702e-38 3.731175281512559e-35 1.137098120806983e-31 -1.128842449254139e-28 -1.568525321393005e-25 7.099582924421287e-23 4.497766955975338e-20 -9.282055547878398e-18 -2.68110725540871e-15 2.522709909048471e-13 3.32233368442748e-11 -1.425286875880329e-09 -8.55823355093765e-08 1.673975441585791e-06 4.582862652559174e-05 -0.0004087028832551273 -0.005101540896070152 0.02074331411123317 0.1180531898295124 -0.2188569835720262 -0.5678921994256768 0.4800146560332255 0.5678921994256753 -0.2188569835720287 -0.1180531898295114 0.02074331411123279 0.005101540896070183 -0.0004087028832551245 -4.582862652559087e-05 1.673975441585729e-06 8.55823355093761e-08 -1.425286875880351e-09 -3.322333684427446e-11 2.522709909048436e-13 2.681107255408721e-15 Output for data member Sample output for Gabor G[3]: -8.271933559533525e-05 0.0001014457169673198 0.0005814370534635448 0.001522342858581684 0.00302233344130824 0.004949119295966801 0.006719654670118676 0.00710325457743646 0.004198338772803874 -0.004230879302439411 -0.0199262742279849 -0.0428708752578649 -0.06993888919908352 -0.09410891234068781 -0.1049968486374561 -0.09120384910132874 -0.04429551396186666 0.03668084901711113 0.1419584745859689 0.2509712936352586 0.3364394445420313 0.3720021148844446 0.3410494842393366 0.2434337436495681 0.09715246710976463 -0.06610890224713867 -0.2102366212062486 -0.3054200693085253 -0.3364394445420284 -0.305683422241935 -0.230287493506902 -0.1350704079625648 -0.04429551396187525 0.02476807961956519 0.0647242811232371 0.07726501914799896 0.06993888919908191 0.05221679210203456 0.0323247467985062 0.01557942656000763 0.004198338772806006 -0.001929019187956856 -0.004142265444761749 -0.004063311196120056 -0.003022333441308142 -0.001854215946757284 -0.0009432172476118316 -0.0003735549951538899 -8.271933559539967e-05 3.123148129979195e-05 5.510873465882005e-05 4.442107620960796e-05 2.715050086616225e-05 1.368744096140701e-05 5.721371636549426e-06 1.861956159094261e-06 3.388039135622153e-07 -1.051139706720166e-07 -1.524104607288498e-07 -1.009508292175484e-07 -5.070200550474606e-08 -2.100371076479493e-08 -7.214403135839186e-09 -1.929284063938416e-09 Output for coefficient of Gabor G: 0.7245029223516551 0.4183777752855971 0.2833805357138784 0.2398676067080261 Output for Interval f_approx (G) after multiplying by its coeffients: 0.01106684047486866 0.01753529157434259 0.02398608295299232 0.03041477002792911 0.03680222944348317 0.04307589710706628 0.04905736598422908 0.05441556694850423 0.05866155827256886 0.06122961040008686 0.06167612071973987 0.05998325507144227 0.05688293560050166 0.0540456843963299 0.05395285965019328 0.05933347536384502 0.07220968107956199 0.09281311698041304 0.1188080897622442 0.1452720666251223 0.1656750077307316 0.1737090619361396 0.1654050228021197 0.1407387664664006 0.1040300889345221 0.06286689910909783 0.02587668837062146 0.0001462307537774682 -0.01076724013426696 -0.007549435510700808 0.00558634512823674 0.02264726602888002 0.03791756363694931 0.04760326206647993 0.05062341368742552 0.04849019727466952 0.04452784944633827 0.04280786601071059 0.04712958907657189 0.06023339485173462 0.08329645101205671 0.1156892896989691 0.1549697198064589 0.1971277628153832 0.2369022995789627 0.2677748594028521 0.294684726679673 0.3257513134696693 0.2163252110486108 0.08711595971011987 0.3408029408775052 0.3145094008145975 0.03822132397751225 0.01681901496924743 0.0139244821957681 -0.02231506156915222 -0.04442942146195377 -0.05441685728766318 -0.05597302540439875 -0.05153480401142359 -0.04363021864353751 -0.0344324388947413 -0.02552831626650362 -0.01787463560440347 Case: 5 for RunShiftGaborMP Error for Shift: 0.3774100709142343 Output for RecSignal and Rf after RunShiftGabourMP, respectively: -3.568483324282706e-59 -8.093531487092643e-06 -1.817486062153994e-54 -8.272236663806072e-06 -2.674233557922188e-50 -6.377878537304872e-06 -1.060164461681083e-46 4.274767021782426e-06 8.413950087594342e-43 6.576845509135055e-05 8.91001176969868e-39 0.0007434326229074873 2.203265406199918e-37 0.08401001169890825 -7.144386541088181e-29 0.020493700153244 5.142806313471138e-23 -0.1798526228787346 5.876412184889859e-18 0.01427242802934445 -1.827405628642116e-13 0.09916470578675024 -9.02340353113103e-10 0.0009086437687496249 1.212597664253878e-06 -0.0006446521317403244 0.0002587472811502207 -0.005091287005641842 -0.01502608318791449 -0.09273117607502607 -0.138557009938356 -0.08909858118230302 0.3477139720625942 -0.003266831906536963 0.1385569654544342 -0.08909147596903971 -0.01502730567061667 0.01713404026128377 -0.0002677975995229097 -0.001286547978288265 0.0001353462731956578 -0.004098633582983416 0.002652067087280095 -0.01153230721785677 0.01514857281368528 -0.03785958030945453 0.02331335311645193 -0.09295464370180501 -0.07182746397193469 -0.1332046714404582 -0.2952221161155603 -0.005693506597105869 -0.3505484673109959 0.04823802870326833 -0.1121483578411502 -0.1119969417967513 0.07182746397193469 -0.008741730707582919 0.06137064842747727 -0.05111595146454103 0.0151485728137513 -0.02359004517882942 0.001007461331432063 -0.005394453891044208 -0.0001341334175790214 -0.002184937817171418 -2.379722696855238e-05 -0.001291356616651299 -4.479402701770132e-07 -0.0007890996390408346 6.323907093577682e-06 -0.0004948894302966404 -7.396771746667267e-05 -0.0002183252306045047 -0.001612764074746894 0.001489884680463063 -0.009597854746667122 0.009737557940114151 -0.01633373444810908 0.01734754442771989 0.03960934596857304 -0.03193206041299983 0.1795293159516823 -0.003975503729643156 0.2221010066309494 0.04792490067431484 0.07857306010932762 -0.06558386679067328 -0.03960934596857495 0.04115407420111446 -0.03732047814258255 0.03770937308131282 -0.009597851956037635 0.009767835572920599 -0.0007058120959084718 0.0007616193769471105 -0.0007263013336129266 -0.01062735338266999 -0.0003891015254252655 -0.05362982399045491 0.4285384240570521 -0.06071926566860264 0.009339351360120119 -0.002417478401534923 -0.4285376497727568 -0.06070058812847016 -0.0004035894651155759 -0.002326511830639067 0.0008002695187329223 -0.0009666179593679674 3.256947391273163e-08 -2.203714303456577e-05 -2.790813787787474e-09 -4.055512866191118e-06 -4.90826182067339e-15 -1.37193841055573e-06 1.81749624415742e-17 -1.13892405518093e-06 1.403022620860501e-24 -1.267835831580464e-06 -2.414655417282972e-28 -1.381432376745777e-06 -3.59481201932466e-32 -1.42945978622459e-06 -1.726400505818496e-35 -1.423645835274773e-06 -2.370958415315311e-39 -1.382446984935089e-06 Output for Gabor G after RunShiftGabourMP: 2 51 1.570796326794897 3.131656488479412 4 26 0.7853981633974483 1.993154177036113 2 16 1.570796326794897 -0.7182508150301007 4 42 5.497787143782138 1.197944106157777 Output for Gabor G's Sample data member after RunShiftGabourMP: Output for data member Sample output for Gabor G[0]: -0 -0 0 0 -0 -0 0 0 -0 -0 0 0 -0 -0 0 0 -0 -0 0 0 -0 -1.59617335591292e-309 2.139923184632403e-287 5.888359520664531e-270 -3.411427072547334e-249 -4.056541022577868e-233 1.015596724491131e-213 5.218728675880982e-199 -5.646167836403371e-181 -1.253778610916583e-167 5.861834710685959e-151 5.625022802489133e-139 -1.136476984743312e-123 -4.712756599996589e-113 4.114670038538832e-99 7.373488812002331e-90 -2.781997117669311e-77 -2.154360279347656e-69 3.512575189895565e-58 1.175468331434998e-51 -8.282126805481161e-42 -1.197707655404615e-36 3.646745149740436e-28 2.278966860897959e-24 -2.998584175427947e-17 -8.097901445171104e-15 4.604414021672943e-09 5.373462917385804e-08 -0.001320321766939536 -0.0006658605998112246 0.7070212888038343 0.0154084754765263 -0.7070212888038344 -0.0006658605998117171 0.001320321766939536 5.37346291738607e-08 -4.604414021672943e-09 -8.097901445165911e-15 2.998584175427946e-17 2.278966860898184e-24 -3.646745149740436e-28 -1.197707655405619e-36 8.282126805481163e-42 1.175468331435172e-51 Output for data member Sample output for Gabor G[1]: -7.319094112019683e-59 -3.727732576377673e-54 -5.484954057306141e-50 -2.174437362914454e-46 1.725732895665068e-42 1.827144176867676e-38 5.588726882978316e-35 4.605731509053761e-32 -7.598661810936235e-29 -1.672430887011544e-25 -1.06340836208487e-22 -1.821787109701231e-20 6.248099640942508e-18 2.858714822247241e-15 3.778631563226864e-13 1.345686590625885e-11 -9.594140405099543e-10 -9.125166124914758e-08 -2.507357828561607e-06 -1.856254489768902e-05 0.0002751132359579728 0.005439487937856815 0.0310702951399582 0.04781656799821465 -0.14732084217991 -0.6055117133645899 -0.7189881498435081 -0.2300205187908033 0.14732084217991 0.1258735184496549 0.03107029513995821 0.002066341261128957 -0.0002751132359579726 -4.886450315169101e-05 -2.507357828561608e-06 -3.466448955119263e-08 9.594140405099567e-10 3.542418726055895e-11 3.778631563226865e-13 1.085962586643371e-15 -6.248099640942471e-18 -4.795717529808579e-20 -1.06340836208487e-22 -6.353195351656747e-26 7.598661810936246e-29 1.212424175027957e-31 5.588726882978311e-35 6.940916949952372e-39 -1.725732895665056e-42 -5.724042794720267e-46 -5.484954057306145e-50 -1.416083227138976e-54 7.319094112019679e-59 5.046594952617969e-63 1.00526461148277e-67 5.395205631575677e-73 -5.796800815015264e-78 -8.308857644825005e-83 -3.440607143071393e-88 -3.838614658261592e-94 8.573669067243149e-100 2.554650422933458e-105 2.199059961290732e-111 5.100213132104913e-118 Output for data member Sample output for Gabor G[2]: 4.16304649722344e-88 1.364044228364524e-77 -1.216344425734163e-67 -1.72225480897964e-58 6.636653888742459e-50 4.060819184839487e-42 -6.762216349220249e-35 -1.788039837362281e-28 1.286696874361418e-22 1.470239279465667e-17 -4.572047385667799e-13 -2.257595570956388e-09 3.033838735846216e-06 0.000647368494503237 -0.03759426112062152 -0.3466604268561129 0.8699572413487461 0.346660426856113 -0.0375942611206215 -0.0006473684945032373 3.033838735846215e-06 2.25759557095639e-09 -4.572047385667803e-13 -1.470239279465663e-17 1.286696874361415e-22 1.788039837362283e-28 -6.762216349220253e-35 -4.060819184839481e-42 6.636653888742435e-50 1.722254808979644e-58 -1.216344425734162e-67 -1.364044228364522e-77 4.163046497223423e-88 2.017468631454024e-99 -2.660806214819202e-111 -5.572273464492136e-124 3.175868584297167e-137 2.874122965100958e-151 -7.078791041185376e-166 -2.768379090225534e-181 2.946476313725768e-197 4.979584060635671e-214 -2.290309150180294e-231 -1.672660758431398e-249 3.324547592314008e-268 1.049228214724642e-287 -9.011940029632095e-308 -0 0 0 -0 -0 0 0 -0 -0 0 0 -0 -0 0 0 -0 -0 Output for data member Sample output for Gabor G[3]: 1.078490813241266e-151 3.243664472252502e-144 2.662765025574011e-137 6.250830950240383e-131 -2.090949417716294e-124 -1.307298683843471e-117 -2.230917791649897e-111 -1.088680138602894e-105 7.570383770790304e-100 9.83922781371396e-94 3.49045129494806e-88 3.540871271934283e-83 -5.118462873749154e-78 -1.382911858491856e-72 -1.019827902171708e-67 -2.150637771480318e-63 6.462618378194219e-59 3.629737995454242e-54 5.564414708203037e-50 2.439336375412677e-46 -1.523788730775312e-42 -1.77911223674582e-38 -5.669690893098848e-35 -5.166820896767788e-32 6.709471242949936e-29 1.628466047651911e-25 1.078813982576426e-22 2.043724800145866e-20 -5.516950998352613e-18 -2.78356496767854e-15 -3.833372682364134e-13 -1.509623733662791e-11 8.471440202299207e-10 8.885283887671068e-08 2.543681976951423e-06 2.082391139953169e-05 -0.0002429196602167874 -0.005296494756348515 -0.03152041119372707 -0.05364178138895661 0.1300814510089975 0.5895940300598939 0.7294041470928559 0.2580425760462697 -0.1300814510090037 -0.1225645571877886 -0.03152041119372731 -0.002318071556465463 0.0002429196602167868 4.757995378816474e-05 2.543681976951434e-06 3.888746198878503e-08 -8.471440202299377e-10 -3.449295672992789e-11 -3.833372682364137e-13 -1.218259070192699e-15 5.516950998352448e-18 4.669647775626484e-20 1.078813982576411e-22 7.127168059983333e-26 -6.709471242949885e-29 -1.180551985567209e-31 -5.669690893098876e-35 -7.786488350274887e-39 Output for coefficient of Gabor G: 0.6061170382009582 0.487558059736165 0.3996908767507731 0.3044964955521087 Output for Interval f_approx (G) after multiplying by its coeffients: -3.568483324282706e-59 -1.817486062153994e-54 -2.674233557922188e-50 -1.060164461681083e-46 8.413950087594342e-43 8.91001176969868e-39 2.203265406199908e-37 -7.144386541088181e-29 5.142806313471137e-23 5.876412184889859e-18 -1.827405628642116e-13 -9.02340353113103e-10 1.212597664253878e-06 0.0002587472811502207 -0.01502608318791449 -0.138557009938356 0.3477139720625942 0.1385569654544342 -0.01502730567061667 -0.0002677975995229097 0.0001353462731956578 0.002652067087280095 0.01514857281368528 0.02331335311645193 -0.07182746397193469 -0.2952221161155603 -0.3505484673109959 -0.1121483578411502 0.07182746397193469 0.06137064842747727 0.0151485728137513 0.001007461331432063 -0.0001341334175790214 -2.379722696855238e-05 -4.479402701770132e-07 6.323907093577682e-06 -7.396771746667267e-05 -0.001612764074746894 -0.009597854746667123 -0.01633373444810908 0.03960934596857305 0.1795293159516823 0.2221010066309494 0.07857306010932762 -0.03960934596857495 -0.03732047814258255 -0.009597851956037634 -0.0007058120959084719 -0.0007263013336129266 -0.0003891015254252655 0.4285384240570521 0.009339351360120119 -0.4285376497727568 -0.0004035894651155759 0.0008002695187329223 3.256947391273163e-08 -2.790813787787474e-09 -4.90826182067339e-15 1.81749624415742e-17 1.403022620860501e-24 -2.414655417282972e-28 -3.59481201932466e-32 -1.726400505818496e-35 -2.37095841531531e-39 Case: 6 for RunShiftGaborMP Error for Shift: 0.120840490872866 Output for RecSignal and Rf after RunShiftGabourMP, respectively: 0.0004714851369168524 -0.0004714851369168524 0.01979643049798246 0.01193008363927803 0.04128849092974374 0.02094530519859906 0.06394992209997807 0.02639954613472722 0.08658921797170011 0.0284038429727697 0.107881917191106 0.02733561761873347 0.1264474645343172 0.02379821010766449 0.1409373590978126 0.01856259835706184 0.1501284225989904 0.0124963237507972 0.1530140900370235 0.00648586740483652 0.1488862886667968 0.001359385949656138 0.1374008038992476 -0.002183269126469991 0.1186200412573086 -0.003626980360009755 0.09302872049870919 -0.002679252319471043 0.06152015248621931 0.0007136435804916804 0.02535316534680394 0.006373348725028573 -0.01391776147379182 0.01391776140708203 -0.05453427031929026 0.02280775611660179 -0.09464099253245868 0.03240719634248407 -0.1323993642248721 0.04204989593469966 -0.1660996480067835 -0.03020578615975106 -0.1942626219040413 -0.02226728611775396 -0.215723383950072 -0.01583466389233219 -0.2296913919735844 -0.01112093866919828 -0.2357830411830294 -0.008154078341652009 -0.2340255520645239 -0.006786778539215564 -0.2248334440818583 -0.006724603683959629 -0.2089611527287195 -0.00756875518188986 -0.1874371829499684 -0.008868251075053329 -0.1614864084976547 -0.01017543280101009 -0.1324476236749895 -0.01109854550498347 -0.1016932093808502 -0.01134567780044803 -0.07055683900192843 -0.0107555340395458 -0.0402736277902799 -0.009312231116497521 -0.01193523510511622 -0.007143341818171167 0.01353919847744191 -0.00450210330669604 0.03541501439801092 -0.001734326534093039 0.05313061517465519 0.0007745465344144423 0.06624828286044573 0.002685018657699531 0.07435930787105556 0.003828276434953976 0.07699198898133458 0.004320384193559228 0.07368238725195289 0.004505196988984488 0.06441218000114018 0.00452112138936151 0.05036201627531641 0.003543145248443346 0.03435109174751218 -0.0006704041194490154 0.0200165478443885 -0.01097945295097844 0.009565281594546069 -0.02864385882599263 0.001610508061703771 0.03011600587927273 -0.008617998872816087 0.008617998672686729 -0.02609372171440546 -0.005632792619138896 -0.0521826135638269 -0.01005118274941118 -0.08344925234407331 -0.006900216057033513 -0.1139279014636444 -0.00106515962233826 -0.1386042231518062 0.003386688230780778 -0.1553147844336581 0.005069109715090189 -0.1643192082863899 0.004819250792472076 -0.1668057900512518 0.004181043701464179 -0.1637937302613103 0.00429377285849354 -0.155886101717279 0.005640427177412226 -0.1435100615740116 0.008292526912420045 -0.1271854979973266 0.01219243724154058 -0.1076366484865354 0.01728718047369866 -0.08577495938428331 0.02354116350246788 -0.06262928601842453 0.03090277214287602 Output for Gabor G after RunShiftGabourMP: 64 32 0.1963495408493621 -1.675301361288328 64 32 0.04908738521234052 1.029728356973597 64 32 0.2945243112740431 -2.496284566740617 8 48 5.890486225480863 0.7722745604348855 Output for Gabor G's Sample data member after RunShiftGabourMP: Output for data member Sample output for Gabor G[0]: -0.0103714877817919 0.009570229731621659 0.0310781745514853 0.05329121252794241 0.07523596703595409 0.09586798525578132 0.1141201840117177 0.1289563730326692 0.1394271817577248 0.144725376134716 0.1442373756508312 0.1375877906550355 0.1246740074485286 0.1056882526942351 0.08112515528771266 0.05177356580009425 0.01869225195971302 -0.01682998539678449 -0.05332829360772263 -0.08922747377861172 -0.1229162530286903 -0.1528263410595109 -0.1775120698388292 -0.1957262360321456 -0.2064878457066198 -0.2091378027543676 -0.2033791723528351 -0.189299457944522 -0.1673733091113982 -0.1384451706117246 -0.1036925235023225 -0.06457148726370034 -0.0227475772482773 0.01998472014386402 0.06178923651572017 0.100877555257263 0.1355957488314893 0.164503743835778 0.1864430799030149 0.200589517920746 0.2064878457066198 0.2040672681676158 0.1936368883481201 0.1758619156478922 0.1517223083339629 0.1224565048095144 0.08949366669793186 0.05437840409441005 0.01869225195971307 -0.01602379420407854 -0.0483415895200461 -0.07700934965154621 -0.1010033528616818 -0.1195656179611453 -0.132226226719101 -0.138809880602301 -0.1394271817577248 -0.1344519533562111 -0.1244866185708245 -0.1103182044371556 -0.09286790239016218 -0.0731372899721959 -0.05215429946717824 -0.03092182241119992 Output for data member Sample output for Gabor G[1]: 0.04829429530109929 0.04648521994382256 0.04419328066939977 0.04140001346238002 0.03809060263888104 0.03425428139046213 0.02988470059582637 0.02498025833826824 0.01954438284236716 0.0135857619751983 0.007118513044113312 0.0001622873601066062 -0.007257695085601789 -0.01511068447606438 -0.02336051607667734 -0.03196580250277755 -0.04088020336339739 -0.05005277096016982 -0.05942836936088044 -0.06894816281369429 -0.07855016814929237 -0.08816986456277742 -0.09774085300337229 -0.1071955563544228 -0.1164659506838022 -0.1254843171075731 -0.1341840032564891 -0.142500182980604 -0.1503706027826182 -0.1577363035417868 -0.1645423063785758 -0.1707382520122323 -0.1762789836706077 -0.181125064510819 -0.1852432215831139 -0.1886067095970591 -0.1911955891038504 -0.1929969151631737 -0.1940048340874601 -0.1942205874189013 -0.1936524238628468 -0.1923154214429009 -0.1902312236267163 -0.1874276945673411 -0.1839384998854732 -0.1798026205585813 -0.1750638084624755 -0.1697699929124724 -0.1639726481619649 -0.1577261322276933 -0.1510870076196406 -0.1441133545601578 -0.1368640870870667 -0.1293982820586614 -0.1217745305282198 -0.1140503202487056 -0.1062814572245891 -0.09852153326924995 -0.09082144547711266 -0.08322897240441103 -0.07578841059667826 -0.06854027392991621 -0.06152105707033764 -0.05476306322772367 Output for data member Sample output for Gabor G[2]: -0.07971117096116133 -0.06177315167465048 -0.03622481319724506 -0.004810847522287303 0.02997664023307967 0.06508606361925741 0.09716949925171282 0.1228990418227959 0.1393066883469497 0.144113134876166 0.1360094599513048 0.114858210776613 0.08178688940797121 0.03915678155278712 -0.009597434063938575 -0.06024808313718643 -0.1081521305159814 -0.1486915013526536 -0.1777329676576315 -0.192060256688621 -0.1897318494710984 -0.1703239188080707 -0.1350285487200051 -0.08659176091891629 -0.02909246428980434 0.03241954943913412 0.09239291135018272 0.1453053585421331 0.186202311365209 0.2111879615506109 0.2178175703726561 0.2053493854862171 0.1748289210900826 0.1289957695104534 0.072021718864932 0.009106689710040864 -0.05402608805325958 -0.1116838025575986 -0.1587500131551038 -0.1911674388198785 -0.2063093982582878 -0.2032039890079505 -0.1825910135430779 -0.146809428939146 -0.09953073544664018 -0.04536930535143126 0.01058746281874386 0.06327929243655772 0.1081521305159813 0.1415688701682178 0.1611132399976253 0.1657610020227321 0.1559073960443282 0.1332550688884241 0.1005808535318938 0.06141124581951136 0.01964416013171974 -0.02084210358726658 -0.0565528956620216 -0.08467972609917934 -0.1033152667441 -0.1115655758472222 -0.1095558523481611 -0.09833716860697841 Output for data member Sample output for Gabor G[3]: 3.240467483202776e-50 4.453238555526963e-48 4.605910012903024e-46 3.685836214918472e-44 2.209893663688674e-42 8.398067680687166e-41 -1.929582765561141e-40 -3.413483086588667e-37 -3.30177564799636e-35 -2.068815513816643e-33 -9.755896047454114e-32 -3.559538213961475e-30 -9.730494580408219e-29 -1.685966031450204e-27 1.766195496242383e-27 1.42455436684066e-24 6.282532511118839e-23 1.794795038846549e-21 3.858923523418445e-20 6.419461209666617e-19 8.001027181725744e-18 6.320705598994219e-17 -3.018988278258646e-17 -1.110216285753656e-14 -2.232385646937178e-13 -2.907737844123559e-12 -2.850443727514691e-11 -2.161975611101839e-10 -1.228581209932752e-09 -4.425166308193969e-09 9.636767317212099e-10 1.615784550922045e-07 1.481327177460089e-06 8.79716888673938e-06 3.931932594031284e-05 0.0001359722531849875 0.0003522972752432383 0.000578550034819194 -5.744452086055855e-05 -0.004391436440423016 -0.01835608467138057 -0.0497024620793662 -0.1012854235683493 -0.159697122327158 -0.1886522511568725 -0.1412536059154972 0.006394596448607284 0.2228830507817689 0.4247725133216851 0.5243969632076684 0.4872312390970391 0.3502605125604212 0.1886522511568742 0.06440290462130908 -0.001329306000669676 -0.02112490566660105 -0.01835608467138026 -0.01033212676064838 -0.004376940015394197 -0.00143460572510176 -0.0003522972752432581 -5.483510238260728e-05 5.160408484586977e-07 3.739037365367726e-06 Output for coefficient of Gabor G: 0.8918734343845075 0.4114345748425916 0.1273146933813648 0.06687235810178378 Output for Interval f_approx (G) after multiplying by its coeffients: 0.0004714851369168518 0.01979643049798246 0.04128849092974374 0.06394992209997807 0.08658921797170011 0.107881917191106 0.1264474645343172 0.1409373590978126 0.1501284225989904 0.1530140900370235 0.1488862886667968 0.1374008038992476 0.1186200412573086 0.09302872049870919 0.06152015248621931 0.02535316534680394 -0.01391776147379181 -0.05453427031929026 -0.09464099253245867 -0.1323993642248721 -0.1660996480067835 -0.1942626219040413 -0.215723383950072 -0.2296913919735845 -0.2357830411830294 -0.2340255520645239 -0.2248334440818583 -0.2089611527287195 -0.1874371829499684 -0.1614864084976547 -0.1324476236749895 -0.1016932093808502 -0.07055683900192843 -0.0402736277902799 -0.01193523510511623 0.0135391984774419 0.03541501439801092 0.05313061517465519 0.06624828286044573 0.07435930787105556 0.07699198898133457 0.07368238725195289 0.06441218000114018 0.05036201627531641 0.03435109174751218 0.02001654784438851 0.009565281594546067 0.001610508061703774 -0.008617998872816078 -0.02609372171440546 -0.0521826135638269 -0.08344925234407331 -0.1139279014636444 -0.1386042231518061 -0.1553147844336581 -0.1643192082863899 -0.1668057900512518 -0.1637937302613103 -0.155886101717279 -0.1435100615740116 -0.1271854979973266 -0.1076366484865354 -0.08577495938428333 -0.06262928601842453 Case: 7 for RunShiftGaborMP Error for Shift: 0 Output for RecSignal and Rf after RunShiftGabourMP, respectively: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Output for Gabor G after RunShiftGabourMP: 1 0 0 0 Output for Gabor G's Sample data member after RunShiftGabourMP: Output for data member Sample output for Gabor G[0]: 0.9990675843496569 0.04317362493007047 3.484090703617964e-06 5.2505848793782e-13 1.477655540938467e-22 7.765796790645881e-35 7.621599607023309e-50 1.396862086315172e-67 4.780884174339561e-88 3.055696430942535e-111 3.647199200051031e-137 8.1293543285744e-166 3.383762825554116e-197 2.630213901705162e-231 3.817943657735616e-268 1.034940193353626e-307 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Output for coefficient of Gabor G: 0 Output for Interval f_approx (G) after multiplying by its coeffients: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Case: 8 for RunShiftGaborMP Error for Shift: 0.05663454342743292 Output for RecSignal and Rf after RunShiftGabourMP, respectively: 0.1165016961758796 0.008498303824120357 0.1203658685233237 0.004634131476676291 0.1234055293349456 0.001594470665054372 0.1256610326187015 -0.0006610326187015242 0.1272140184598378 -0.002214018459837774 0.1281749758451761 -0.003174975845176134 0.1286686041534613 -0.003668604153461266 0.1288192389682084 -0.003819238968208408 0.1287383829894652 -0.00373838298946521 0.1285158116206954 -0.003515811620695382 0.1282149590939825 -0.003214959093982482 0.1278725120426173 -0.00287251204261729 0.1275014982702945 -0.002501498270294496 0.1270967585501448 -0.002096758550144814 0.1266415588568401 -0.001641558856840168 0.1261142069459822 -0.001114206945982152 0.1254938061521332 -0.0004938061521331948 0.1247646208249507 0.0002353791750492821 0.123918860692433 0.001081139307566982 0.1229579586190198 0.00204204138098021 0.1218925904959884 0.003107409504011619 0.1207417668011385 0.004258233198861545 0.1195313303904916 0.00546866960950836 0.118292150410884 0.006707849589115985 0.117058233890314 0.007941766109686006 0.1158649051923656 0.009135094807634372 0.1147471421492895 0.0102528578507105 0.1137381121309349 0.01126188786906511 0.1128679219586319 0.01213207804136809 0.1121625796379131 0.01283742036208687 0.1116431593316508 0.01335684066834918 0.1113251599162788 0.01367484008372124 0.1112180487825521 0.01378195121744795 0.1113249842246334 0.01367501577536659 0.111642710710184 0.01335728928981599 0.1121616211375291 0.01283837886247092 0.1128659788975375 0.01213402110246246 0.1137342904244713 0.01126570957552866 0.1147398162762319 0.01026018372376809 0.1158512059593957 0.009148794040604336 0.11703323900364 0.007966760996360039 0.1182476525040683 0.006752347495931725 0.1194540340980827 0.005545965901917345 0.1206107611583279 0.004389238841672105 0.1216759790367698 0.003324020963230148 0.1226086557593875 0.002391344240612474 0.1233698847912008 0.001630115208799251 0.1239249439308827 0.001075056069117289 0.1242472936901101 0.0007527063098899212 0.124326666622444 0.0006733333775560368 0.1241839360537046 0.0008160639462954209 0.1238936107267735 0.001106389273226494 0.1236078614122624 0.00139213858773757 0.1235634230017502 0.001436576998249753 0.1240413208529979 0.0009586791470021081 0.1252550921139249 -0.0002550921139249111 0.1271810588641975 -0.002181058864197536 0.1294063222423615 -0.004406322242361507 0.1311118987270631 -0.006111898727063149 0.1312726272784654 -0.006272627278465445 0.129031860158285 -0.004031860158285045 0.1240724388132581 0.0009275611867418548 0.1167715425680226 0.008228457431977433 0.1080445399535648 0.01695546004643516 Output for Gabor G after RunShiftGabourMP: 64 32 0 0 64 32 0.09817477042468103 4.288362064654465e-16 16 0 0 0 8 60 0 0 Output for Gabor G's Sample data member after RunShiftGabourMP: Output for data member Sample output for Gabor G[0]: 0.07052289746545631 0.07401426453757708 0.07755941227619841 0.08114978835794547 0.08477622503854923 0.08842896815667198 0.09209771204902741 0.09577164031282062 0.09943947228469768 0.1030895150373165 0.1067097206262373 0.1102877482520299 0.1138110309362804 0.1172668462465418 0.1206423905451942 0.1239248561816291 0.1271015109970618 0.130159779467498 0.1330873247737082 0.135872131058228 0.1385025851090048 0.1409675566978415 0.1432564767996229 0.145359412925673 0.1472671408215761 0.1489712118063448 0.1504640150657187 0.1517388342572902 0.1527898978385633 0.1536124225903388 0.1542026498762049 0.1545578742535323 0.1546764641312279 0.1545578742535323 0.1542026498762049 0.1536124225903388 0.1527898978385633 0.1517388342572902 0.1504640150657187 0.1489712118063448 0.1472671408215761 0.145359412925673 0.1432564767996229 0.1409675566978415 0.1385025851090048 0.135872131058228 0.1330873247737082 0.130159779467498 0.1271015109970618 0.1239248561816291 0.1206423905451942 0.1172668462465418 0.1138110309362804 0.1102877482520299 0.1067097206262373 0.1030895150373165 0.09943947228469768 0.09577164031282062 0.09209771204902741 0.08842896815667198 0.08477622503854923 0.08114978835794547 0.07755941227619841 0.07401426453757708 Output for data member Sample output for Gabor G[1]: 0.100822032813709 0.10530389436332 0.1087511232274739 0.1110190622738325 0.1119733631385775 0.1114935320904296 0.1094764044641846 0.1058394550579137 0.1005238504706681 0.09349715064213472 0.08475557096213256 0.07432572327718798 0.06226576386988791 0.04866588886282464 0.0336481322443554 0.01736543847738244 -6.956883877471409e-17 -0.01823913064913918 -0.0371191244122078 -0.05638710548873381 -0.07577445866907817 -0.09500162779860039 -0.1137833030947902 -0.1318338816769518 -0.1488730752794739 -0.1646315321049159 -0.1788563364296274 -0.1913162500851042 -0.201806564361696 -0.2101534391484501 -0.2162176180367539 -0.2198974233561446 -0.2211309532451616 -0.2198974233561445 -0.2162176180367539 -0.2101534391484501 -0.2018065643616959 -0.1913162500851041 -0.1788563364296273 -0.1646315321049158 -0.1488730752794738 -0.1318338816769516 -0.1137833030947902 -0.09500162779860019 -0.07577445866907806 -0.05638710548873378 -0.03711912441220764 -0.0182391306491391 -3.337826692929114e-17 0.01736543847738255 0.03364813224435547 0.04866588886282477 0.06226576386988801 0.07432572327718799 0.08475557096213267 0.09349715064213478 0.1005238504706682 0.1058394550579138 0.1094764044641846 0.1114935320904297 0.1119733631385775 0.1110190622738325 0.108751123227474 0.10530389436332 Output for data member Sample output for Gabor G[2]: 0.4030143995978613 0.3980988916955425 0.3837091743211032 0.3608728483287584 0.3311669905966008 0.2965382261485147 0.2590926773781526 0.2208871247864675 0.183749630815386 0.149150034425279 0.1181302302416742 0.09129343595279028 0.06884285370657812 0.05065461120376979 0.03636804181615177 0.02547778444273003 0.01741583132334523 0.01161629333844396 0.007560173125448423 0.004801055439185239 0.002974969453120898 0.001798742973089692 0.001061198236653983 0.000610892423246592 0.0003431419125202189 0.000188071767475186 0.0001005806074721628 5.248627025029376e-05 2.672501637635531e-05 1.327795087296453e-05 6.4370212772519e-06 3.044946325880102e-06 1.40544918587976e-06 6.329821522347647e-07 2.781689113373265e-07 1.192796968560999e-07 4.990743758680172e-08 2.037533827333012e-08 8.11680649993173e-09 3.155050882038721e-09 1.196653325722321e-09 4.428647832551446e-10 1.599244075251029e-10 5.635068039523084e-11 1.937422717097152e-11 6.499656735080203e-12 2.12763567600795e-12 6.795867716713377e-13 2.118036202803702e-13 6.441138701876359e-14 1.911317046451683e-14 5.534056959319069e-15 1.563490785994889e-15 4.310104871166686e-16 1.159367596988891e-16 3.042953310056335e-17 7.793099641114449e-18 1.947448488809128e-18 4.748566659653958e-19 1.129795676576375e-19 2.622877984099037e-20 5.941513342755507e-21 1.313278624305628e-21 2.832418901990766e-22 Output for data member Sample output for Gabor G[3]: 7.775590527004735e-78 2.676829223436578e-75 8.353552122944022e-73 2.363115493459117e-70 6.059851021044479e-68 1.408647036828977e-65 2.968285452912229e-63 5.669860585090943e-61 9.81753223196199e-59 1.540974777316614e-56 2.192562407464225e-54 2.827949410146089e-52 3.306393566915924e-50 3.504295310913597e-48 3.366743937038414e-46 2.932126579581712e-44 2.314827226927638e-42 1.656600117717845e-40 1.074682143403667e-38 6.319833209654088e-37 3.368949023103588e-35 1.627970389148649e-33 7.131186622432763e-32 2.831655016560218e-30 1.019253286088155e-28 3.325731147168013e-27 9.836835172084107e-26 2.637466121302747e-24 6.410348255731552e-23 1.412341099686887e-21 2.820725402703933e-20 5.106757799837143e-19 8.380944236353925e-18 1.2468203445696e-16 1.681427120775588e-15 2.05549041100333e-14 2.277802687473164e-13 2.288126262600925e-12 2.083565269533049e-11 1.719877331516008e-10 1.28691858887769e-09 8.729068764155416e-09 5.367202662052508e-08 2.991515881442038e-07 1.511464217876065e-06 6.922574951852796e-06 2.874092239039421e-05 0.0001081675458165003 0.0003690255952606466 0.00114124592969304 0.003199375632248048 0.008130447742164867 0.01872953226218846 0.03911133496080491 0.07403576812265593 0.1270409616040198 0.1976101269371354 0.2786364067126708 0.356147387936432 0.4126529033449768 0.433414349235026 0.4126529033449768 0.356147387936432 0.2786364067126708 Output for coefficient of Gabor G: 0.9773700239938165 0.1806992303231099 0.0728417309361578 0.05985177594652095 Output for Interval f_approx (G) after multiplying by its coeffients: 0.1165016961758796 0.1203658685233237 0.1234055293349456 0.1256610326187015 0.1272140184598378 0.1281749758451761 0.1286686041534613 0.1288192389682084 0.1287383829894652 0.1285158116206954 0.1282149590939825 0.1278725120426173 0.1275014982702945 0.1270967585501448 0.1266415588568401 0.1261142069459822 0.1254938061521332 0.1247646208249507 0.123918860692433 0.1229579586190198 0.1218925904959884 0.1207417668011385 0.1195313303904916 0.118292150410884 0.117058233890314 0.1158649051923656 0.1147471421492895 0.1137381121309349 0.1128679219586319 0.1121625796379131 0.1116431593316508 0.1113251599162788 0.1112180487825521 0.1113249842246334 0.111642710710184 0.1121616211375291 0.1128659788975375 0.1137342904244713 0.1147398162762319 0.1158512059593957 0.11703323900364 0.1182476525040683 0.1194540340980827 0.1206107611583279 0.1216759790367698 0.1226086557593875 0.1233698847912008 0.1239249439308827 0.1242472936901101 0.124326666622444 0.1241839360537046 0.1238936107267735 0.1236078614122624 0.1235634230017502 0.1240413208529979 0.1252550921139249 0.1271810588641975 0.1294063222423615 0.1311118987270631 0.1312726272784654 0.129031860158285 0.1240724388132582 0.1167715425680226 0.1080445399535648 Case: 9 for RunShiftGaborMP Error for Shift: 0.1135024013583384 Output for RecSignal and Rf after RunShiftGabourMP, respectively: 0.1675251478124811 0.04892836448709529 0.1701062122907851 0.03958312774942952 0.1721302878729051 0.03079487990794773 0.1734567650973312 0.02270423042415989 0.1739550394157406 0.01544178384638874 0.1735117160754353 0.009120934927332226 0.1720373867122812 0.003831092031124549 0.1694725428117556 -0.0003682363277115266 0.1657922152990054 -0.003452081074323118 0.161008983637438 -0.005433021672117459 0.1551740807129998 -0.00636229100704106 0.148376427976105 -0.006328810529508008 0.140739563107499 -0.005456117920263838 0.1324165621591912 -0.003897289231317777 0.1235832003617664 -0.00182809969325475 0.1144297301819812 0.0005611982271687776 0.1051517709980593 0.003074985151728897 0.09594089163595806 0.005521692254468359 0.08697551602239667 0.007722895608667989 0.07841278661835395 0.009521452753348944 0.07038197635931814 0.01078809075302299 0.06297994742569225 0.01142594742728711 0.05626901817483081 0.01137270441878682 0.05027742592333246 0.01060012441092338 0.04500237468185547 0.009111003393038601 0.04041544822327299 0.006933757592259336 0.03646996689027069 0.004115066665899871 0.03310968894467948 0.0007111723521293242 0.03027812085488147 -0.003221431817434432 0.02792762012087451 -0.007635103342789222 0.02602745950248953 -0.01249911498376599 0.0245700780403497 -0.01780590578098794 0.02357487108072488 -0.02357487108072488 0.02308906115471089 -0.01632488889534914 0.0231854302817852 -0.00965708576306167 0.02395696298664467 -0.003664446208559394 0.02550872513515971 0.001547963902287334 0.02794756190700677 0.005873299389802041 0.03137041465401477 0.009214618902155804 0.03585220980834867 0.01149699600718366 0.0414343473389473 0.01267903073594678 0.04811480241531144 0.01276274791894441 0.05584075095028793 0.01180097164332968 0.06450444503898771 0.009901449813991664 0.07394281338462357 0.007227253727717565 0.08394096652412869 0.003993272847574197 0.09423947337486714 0.0004589382561975141 0.1045449724732773 -0.003082388582850898 0.1145434154150025 -0.006316659265214344 0.1239150348629535 -0.008924106453803598 0.1323500024490113 -0.01059490178049961 0.139563702655232 -0.01104442972735858 0.1453105987901847 -0.01002715360294942 0.1493958103581765 -0.007348192911579496 0.1516840170434167 -0.00287222733745791 0.1521103629695368 0.003465598995783753 0.1507458182850273 0.01159431593965497 0.1482281780867059 0.02087612839733812 0.1473920013633421 0.02847647738006369 0.1556121241637264 0.02702052683904111 0.1806809634861825 0.008715859775946773 0.2139709291414605 -0.01780993361996937 0.2247980581989968 -0.02187289041814394 0.1939227083419 0.01576663169831463 Output for Gabor G after RunShiftGabourMP: 64 0 0 0 32 48 6.185010536754901 -0.6004107124918847 4 62 0 0 64 32 0.1963495408493621 -0.8275028542134054 Output for Gabor G's Sample data member after RunShiftGabourMP: Output for data member Sample output for Gabor G[0]: 0.207983531792674 0.2078240715817329 0.2073464241193968 0.2065527833016787 0.2054467869639552 0.2040334891038077 0.2023193214096513 0.2003120445049194 0.1980206894249576 0.1954554899441063 0.192627806462415 0.1895500422438337 0.1862355528695492 0.1826985498305171 0.1789539992315231 0.1750175166148007 0.1709052589340726 0.1666338147197843 0.1622200934733858 0.1576812153130941 0.1530344018661463 0.1482968693637695 0.1434857248457985 0.1386178663229884 0.1337098876777056 0.1287779890089729 0.1238378930470665 0.1189047681772898 0.1139931585235159 0.1091169214509218 0.1042891727553467 0.09952223971516731 0.09482762209171132 0.09021596107717085 0.08569701610577504 0.08127964936558869 0.07697181777554792 0.07278057212593554 0.06871206302101565 0.06477155321043496 0.06096343585157475 0.05729125820847975 0.05375775026435869 0.05036485770388004 0.04711377870839323 0.04400500400151635 0.04103835958386233 0.03821305160357997 0.03552771282333227 0.03298045016374838 0.03056889282764034 0.0282902405377222 0.02614131145253674 0.0241185893601096 0.02221826978584493 0.02043630468969929 0.018768445467096 0.01721028400777881 0.01575729160630421 0.01440485555662863 0.01314831330081228 0.01198298403783485 0.01090419773256012 0.009907321496711231 Output for data member Sample output for Gabor G[1]: 0.0002215324522127787 0.0002751663107611004 0.000334128742898222 0.0003953153569294172 0.0004534336168351895 0.0005002615341338799 0.0005237884713812448 0.0005072584970163649 0.0004281540728595674 0.0002571784782393101 -4.268159926841226e-05 -0.0005169079214464696 -0.001219888849822727 -0.002214896777699705 -0.003573446132036121 -0.005373872230663837 -0.007698984510693302 -0.01063267822698087 -0.01425543887783081 -0.01863874415984367 -0.02383845809353611 -0.02988741770341665 -0.03678752835660527 -0.04450180111810045 -0.05294687361372046 -0.06198664268286314 -0.07142768974031613 -0.08101718610353072 -0.09044391554627647 -0.09934293858866737 -0.1073042460884857 -0.1138855131658899 -0.1186287795878709 -0.1210805671966566 -0.1208146222129574 -0.1174561678007829 -0.1107062994841478 -0.1003649812302344 -0.08635102763658888 -0.06871750511636872 -0.04766116024207927 -0.02352478326050495 0.00320817588850877 0.03192692941160425 0.06191426248608728 0.09237414071246242 0.1224646195864987 0.1513342442892281 0.1781598341465147 0.2021834034239802 0.2227459938934355 0.2393163853640553 0.2515129936992441 0.2591177336726437 0.2620811773210435 0.2605189310582238 0.2546997379116388 0.2450263380914889 0.2320105513876476 0.2162443483193736 0.198368835678275 0.179043091751756 0.1589146558845597 0.1385932264225885 Output for data member Sample output for Gabor G[2]: 0 3.094713570451025e-318 6.437496423218309e-308 9.042033931382999e-298 8.575673145823605e-288 5.491908123848831e-278 2.374823086257707e-268 6.934133791331197e-259 1.367118396822515e-249 1.820006729525553e-240 1.636035849536342e-231 9.930373735838195e-223 4.06997111847317e-214 1.12634132053764e-205 2.104755543017232e-197 2.655744329624744e-189 2.262683550474028e-181 1.301710272317503e-173 5.056590685080347e-166 1.326338036151723e-158 2.349111354776107e-151 2.809350588316212e-144 2.268617254975116e-137 1.23699936894016e-130 4.554394862815595e-124 1.132256544404623e-117 1.900692906794101e-111 2.154428195466863e-105 1.648940747351354e-99 8.5217940028918e-94 2.973787757957513e-88 7.007157230372113e-83 1.114876372436408e-77 1.197745413090039e-72 8.688709494646742e-68 4.255974265369813e-63 1.407653178627911e-58 3.143730388945497e-54 4.740758985350381e-50 4.827290293144535e-46 3.319035605863176e-42 1.54089612280754e-38 4.830451980150446e-35 1.022480729299345e-31 1.461421357312117e-28 1.410420864475817e-25 9.191257930292621e-23 4.044400349637741e-20 1.201672937298746e-17 2.41085659335587e-15 3.265949240146291e-13 2.987448582025977e-11 1.845204069074902e-09 7.695579407401177e-08 2.167161115854466e-06 4.120918557091542e-05 0.0005291146898123242 0.004587314991130537 0.02685469729068028 0.1061536462194923 0.2833365012100738 0.510649714045866 0.6214362957499625 0.510649714045866 Output for data member Sample output for Gabor G[3]: 0.0674738332087786 0.08448400312164452 0.09945295816280435 0.1114859252060208 0.1197533166706523 0.1235396133959647 0.1222900199739413 0.1156520412298929 0.1035092153578287 0.08600450481560339 0.06355128594523098 0.03683047585687202 0.006773062172626858 -0.02547188092153702 -0.05858274532770152 -0.09112271293094319 -0.1216062649411166 -0.1485716203970625 -0.1706553434879628 -0.1866650615763082 -0.1956461723404245 -0.19693860302622 -0.1902201153476685 -0.1755333077926046 -0.1532943190887988 -0.1242822347020187 -0.08960928385710655 -0.05067302180194943 -0.009092751984553196 0.03336661180487166 0.07487927357648241 0.1136473605115973 0.1479890123236382 0.1764209644247803 0.1977311229760065 0.2110371869373506 0.215828164224322 0.2119866070142041 0.1997904942302035 0.1798948485545375 0.1532943190887988 0.1212690187206138 0.08531681338092367 0.04707596515342331 0.00824249294901876 -0.02951319024640977 -0.06462588165179407 -0.09570729057121886 -0.1216062649411167 -0.1414547317589387 -0.1546974411928847 -0.1611045834416874 -0.1607673427559241 -0.1540774032014899 -0.1416922698345585 -0.1244889698508106 -0.1035092153578287 -0.07989942039693032 -0.05484906153798147 -0.02953075956632803 -0.005045158085495122 0.01762678721243842 0.03766207944495781 0.05442314631672995 Output for coefficient of Gabor G: 0.753928697147037 0.5996845464984025 0.1856485130869601 0.1569133480099016 Output for Interval f_approx (G) after multiplying by its coeffients: 0.1675251478124811 0.1701062122907851 0.1721302878729051 0.1734567650973312 0.1739550394157406 0.1735117160754353 0.1720373867122812 0.1694725428117556 0.1657922152990054 0.161008983637438 0.1551740807129998 0.148376427976105 0.1407395631074991 0.1324165621591912 0.1235832003617664 0.1144297301819812 0.1051517709980593 0.09594089163595805 0.08697551602239667 0.07841278661835395 0.07038197635931814 0.06297994742569225 0.05626901817483081 0.05027742592333247 0.04500237468185547 0.04041544822327299 0.03646996689027069 0.03310968894467948 0.03027812085488147 0.0279276201208745 0.02602745950248953 0.0245700780403497 0.02357487108072488 0.0230890611547109 0.0231854302817852 0.02395696298664467 0.02550872513515971 0.02794756190700676 0.03137041465401477 0.03585220980834866 0.04143434733894731 0.04811480241531144 0.05584075095028793 0.06450444503898771 0.07394281338462357 0.08394096652412869 0.09423947337486716 0.1045449724732773 0.1145434154150025 0.1239150348629535 0.1323500024490113 0.139563702655232 0.1453105987901847 0.1493958103581765 0.1516840170434167 0.1521103629695367 0.1507458182850273 0.1482281780867059 0.1473920013633421 0.1556121241637264 0.1806809634861825 0.2139709291414605 0.2247980581989968 0.1939227083419 Case: 1 for RunFFTGaborMP Error for FFT: 0.3591712628432928 Output for RecSignal1 and Rf1 after RunFFTGabourMP, respectively: -0.005042392033331513 0.005042392033331513 0.004920968121318203 -0.003968671948079816 -0.001016899090104159 0.004640292738992716 -0.005384731222474969 0.01266507971411787 0.01051908015653284 -0.0006945809234982 -0.01001958939632249 0.0171897432862994 0.002030096584922655 -0.007439034330778668 0.01042903715424823 -0.03843686449503674 -0.01990356872080747 -0.02830287639986488 0.01815542574159406 -0.05859037367714829 -0.001649873893856911 0.01353001471693863 -0.02234329788897995 0.09831799121099095 0.0338082539593352 0.03475414046950932 -0.01737916871896314 -0.02354338470105674 -0.004797721111050166 -0.1116656544402266 -0.008687493101744609 0.007487610156718681 0.02682935530646301 0.1145461128667169 0.04296713707843064 -0.03900502543166384 -0.1573332641490738 -0.006319311540771773 0.1179599138497333 -0.05804285321966275 0.08585905375583844 0.05859150876903676 -0.1712349654540282 -0.004459774183635294 -0.007843977378604207 0.02236632874639589 0.233317550698263 -0.06956969423574692 -0.2770676550403278 0.05814499840970561 0.169581776658166 -0.02733631549222679 -0.03336181714956796 0.02841689257816393 -0.089470978154813 -0.03226535762857696 0.1922197887938419 0.01165648158659104 -0.2488278195713443 0.007516400983396939 0.2459383059669055 0.003815498940938216 -0.2099041258228133 -0.03647861450296734 0.1846952312891733 0.05836885962390553 -0.1953805850208928 -0.04920886530147445 0.2303474027500546 0.01824361537127838 -0.2504701096090385 0.004895725855339111 0.2168065290567127 0.003037439120683033 -0.1188614095665471 -0.03531503295493142 -0.01409702018270206 0.05562115263088924 0.1286683879899835 -0.03137013737160984 -0.1860173174756422 -0.01659356404169676 0.1831018508570096 0.01376135728936119 -0.1168807078873818 0.06395975111072338 -0.01392895519693922 -0.1192748487926702 0.09818410073815569 0.08041794253595309 0.007647194083959832 -0.0222435276208153 -0.153092204211091 -0.001486736956345649 0.05896276845797758 0.01771813266515167 0.1165466493071676 0.0006057777764043595 -0.04361856021694462 -0.0267816506505003 -0.1160192533855011 0.01012205884921284 0.06244678520296178 -0.03811188440511777 0.07438472920206331 0.01881848926052086 -0.07556283947843431 0.1146297992253103 0.001476355002169435 -0.03866435901229234 0.02962172696116486 -0.0884073740032619 -0.02198278959409451 -0.01115374330864858 0.01077260805669522 -0.01047236801912666 -0.001159716276939418 0.01935717335869477 -0.007303223077082716 0.0271159886319597 0.01038682000343493 0.003298705057944047 -0.007114851537653658 0.01408451074979978 0.001020634463736409 0.001552081720662725 0.00373282901338473 -0.003201679402211589 Output for Gabor G1 after RunFFTGabourMP: 16 32 3.436116964863836 3.093142258804848 32 32 3.926990816987241 3.005124780109123 8 20 4.319689898685965 0.3186495133222638 8 48 4.516039439535327 2.845608113600978 Output for Gabor G1's Sample data member after RunFFTGabourMP: Output of data member Sample output for Gabor G1[0]: -1.44371173998823e-06 3.037185091827029e-06 -5.676023547272282e-06 9.163999554866353e-06 -1.173545554393543e-05 7.886280945625541e-06 1.524301019343467e-05 -8.280859150868793e-05 0.0002371582424570618 -0.0005390829640206949 0.001058831194481862 -0.001847597088117078 0.002880045555752884 -0.003964007475117681 0.004627653755746203 -0.004017508855666581 0.0008674548566387852 0.006382792300231561 -0.01924891854217145 0.03862196808874985 -0.06402184193512668 0.09288157533635728 -0.1201625120126568 0.138621621559699 -0.1399395339072907 0.1166631562816206 -0.06457960114581961 -0.01515815425821056 0.1149430290273719 -0.2212734665788423 0.3171102423905175 -0.3855722616645668 0.4139862372324271 -0.3970841813052619 0.338346296360358 -0.2490624233428692 0.1454216319659158 -0.04455610488939037 -0.03926554453762355 0.09725729667736653 -0.1269962598746734 0.131617678632286 -0.1178667363654816 0.09377297866011888 -0.06664624897407997 0.041823149098024 -0.0222612237189567 0.008811522026797195 -0.0008674548566386713 -0.002910158371286786 0.004001457031756874 -0.003660598819298169 0.002766634644480719 -0.001830033881649155 0.001079454815239658 -0.0005677698877863864 0.0002613290654737756 -9.933148445084346e-05 2.507000807312205e-05 2.682942402487178e-06 -9.275846990578234e-06 8.141533042263676e-06 -5.319772145437633e-06 2.949133660022059e-06 Output of data member Sample output for Gabor G1[1]: -0.01273085275117895 0.01242129373395331 -0.002557485443037035 -0.01361508944171677 0.02658478809389471 -0.02530948741383515 0.005084760453466689 0.02641305500851831 -0.05032365192550885 0.04674800762541494 -0.009164126261407321 -0.04644938967442151 0.08635238472100402 -0.07827194065835787 0.01497182938840523 0.07404651562718789 -0.1343197146069305 0.1187988772614654 -0.02217287015146533 -0.1070021442920419 0.1893949627422321 -0.163448827566375 0.0297668032471046 0.1401662885390878 -0.2420807893152337 0.2038517866090206 -0.03622477686247515 -0.1664400760913888 0.2804887637497007 -0.2304679152854435 0.03996156426745544 0.1791576991997962 -0.2946007504682043 0.2361944364766419 -0.03996156426745459 -0.1748140305836401 0.2804887637497009 -0.2194280243334346 0.03622477686247282 0.1546252215396764 -0.2420807893152341 0.1847897002606183 -0.02976680324710141 -0.1239788553893046 0.1893949627422318 -0.1410674019912846 0.02217287015146889 0.09011107050266254 -0.1343197146069302 0.09762000243214974 -0.01497182938840699 -0.05937066515807334 0.08635238472100386 -0.06123704126496343 0.009164126261408006 0.03545919884176541 -0.05032365192550881 0.0348219287880347 -0.005084760453466984 -0.01919769830580761 0.02658478809389467 -0.01794959632005056 0.002557485443037139 0.009421773178302452 Output of data member Sample output for Gabor G1[2]: 1.676653330836577e-09 -8.859675602474589e-10 -6.575690084327405e-08 3.108766095832954e-07 6.496222733848923e-07 -9.471095793060375e-06 1.774284162675805e-05 9.688100924473498e-05 -0.0004807825442923332 0.0001158321579644907 0.003919751860639978 -0.00844911452470708 -0.008049890419963639 0.05351003096168878 -0.04570503655633237 -0.1137851144048199 0.2574550405905098 -0.02828054447973385 -0.4363380693579234 0.4288265234438653 0.1862800399359343 -0.5645695718785575 0.2198630445504305 0.2495626214950329 -0.2574550405905102 0.01289417850229368 0.09070577300383424 -0.04064427431028932 -0.008049890419963573 0.01112364256683202 -0.00197509371398808 -0.001022164796570992 0.0004807825442923344 -1.097859797582755e-05 -3.521227169474238e-05 7.193900069087637e-06 6.496222733848676e-07 -4.092831594696679e-07 3.313374063573609e-08 7.818250707774235e-09 -1.676653330836587e-09 1.745610630982281e-11 2.552703958765339e-11 -2.377807650056648e-12 -9.789919884691489e-14 2.812211744868013e-14 -1.038007573508808e-15 -1.116723250185291e-16 1.091905749973904e-17 -5.183166579322413e-20 -3.455844176019491e-20 1.467696746554337e-21 2.755146273279747e-23 -3.608439700479366e-24 6.072644649190237e-26 2.978714064206208e-27 -1.327927369963778e-28 2.874023053624082e-31 8.736855325803228e-32 -1.691777463793978e-33 -1.447963039695088e-35 8.646456866281793e-37 -6.634413054150987e-39 -1.483745333297228e-40 Output of data member Sample output for Gabor G1[3]: -4.338811134859409e-50 2.272457939295217e-48 3.56614046750358e-46 -3.113235496892364e-44 -1.492934780848096e-42 2.175798300611972e-40 1.423700944387651e-39 -8.62721473590551e-37 1.348117875351892e-35 1.968162560759565e-33 -6.217505585235365e-32 -2.460080089157525e-30 1.234168696860175e-28 1.318072740800131e-27 -1.343214298246031e-25 3.599185580484547e-25 8.411972086020517e-23 -9.158719400676564e-22 -2.987783803702729e-20 5.422187352755097e-19 5.405242776329378e-18 -1.637588672044891e-16 -2.227495259375557e-16 2.805953349564901e-14 -9.11485005694251e-14 -2.76626926039907e-12 1.816609126421219e-11 1.494191896368624e-10 -1.558272766424959e-09 -3.459554330000501e-09 7.32888498295907e-08 -4.082335214588138e-08 -1.983417172136351e-06 4.489136620624458e-06 3.044311308686104e-05 -0.0001148487400212113 -0.0002380009789840758 0.001498925979690999 0.0004238419831426573 -0.01109888761993983 0.007494805372975833 0.04728431529484896 -0.06454995867893526 -0.1103704152948396 0.2392773574313384 0.1104307702669236 -0.4863172508133408 0.05631216899692799 0.5687474786078872 -0.2675962734816056 -0.3772403355489549 0.2958469658660498 0.1274475382526993 -0.1668571101799344 -0.009807997056769767 0.05339094784959694 -0.007494805372975639 -0.009829443431529096 0.002789456638281454 0.0009914895607164684 -0.0004468367619974524 -4.286957882971752e-05 3.924556752675343e-05 -9.446806442479398e-07 Output for coefficient of Gabor G1: 0.7275790704288305 0.3959940653171433 0.3083568415113566 0.2995487585489471 Output for Interval f_approx1 (G1) after multiplying by its coeffients: -0.005042392033331513 0.004920968121318203 -0.001016899090104159 -0.005384731222474969 0.01051908015653284 -0.01001958939632249 0.002030096584922655 0.01042903715424823 -0.01990356872080747 0.01815542574159406 -0.001649873893856911 -0.02234329788897995 0.0338082539593352 -0.01737916871896314 -0.004797721111050167 -0.00868749310174461 0.02682935530646302 0.04296713707843064 -0.1573332641490738 0.1179599138497333 0.08585905375583844 -0.1712349654540282 -0.007843977378604202 0.233317550698263 -0.2770676550403278 0.169581776658166 -0.03336181714956796 -0.089470978154813 0.1922197887938419 -0.2488278195713444 0.2459383059669055 -0.2099041258228132 0.1846952312891733 -0.1953805850208928 0.2303474027500546 -0.2504701096090386 0.2168065290567127 -0.1188614095665471 -0.01409702018270206 0.1286683879899835 -0.1860173174756422 0.1831018508570096 -0.1168807078873818 -0.01392895519693922 0.09818410073815567 0.007647194083959828 -0.1530922042110909 0.05896276845797758 0.1165466493071676 -0.04361856021694462 -0.1160192533855011 0.06244678520296178 0.07438472920206331 -0.07556283947843431 0.001476355002169435 0.02962172696116487 -0.02198278959409451 0.01077260805669522 -0.001159716276939418 -0.007303223077082716 0.01038682000343493 -0.007114851537653658 0.001020634463736409 0.00373282901338473 Case: 2 for RunFFTGaborMP Error for FFT: 0.4354932014844102 Output for RecSignal1 and Rf1 after RunFFTGabourMP, respectively: 0.04166703418827127 -0.0416674405514656 0.003473590439784876 -0.003473900049835501 -0.1205636666054018 0.03666047812904707 -0.1617767621444065 0.008559046705666085 0.0498960932457899 0.1064596627306373 0.2324634609025279 -0.06254635266382003 0.0700900739466358 0.100029502296653 -0.1612295069524633 0.06618546202095484 -0.09234068294226942 0.09234056683850107 0.05861745455994271 -0.06791152693965996 0.001488731531309996 0.09612062584243532 -0.05182969257524985 -0.1276107665676743 0.07204047327842 0.0138890344446662 0.1131830180773305 0.03163544070660634 -0.04569036998284385 -0.05392803224096819 -0.1245509425856859 -0.04426057779260056 -0.002316804247169749 0.002316871974368161 0.0985576001328044 0.06140643919883674 0.05153789389454876 0.1065707407901429 -0.03898658055333162 0.06949860208026111 -0.1041450753025947 -0.005115525477253711 -0.1645213875707673 -0.01345764986007717 -0.1889599921372203 0.03260435226448986 -0.1196545310779324 0.04807114690640103 0.01754882959138552 0.0156260850789644 0.1371515672921317 -0.01604539400482637 0.1851367680627016 -0.01391578802322808 0.1636917785494433 0.01465867416272321 0.1035905981196596 0.04499415369491615 0.03785470991708565 0.05595300535783179 -0.01381616000639692 0.041046538869774 -0.04920404953970545 0.009722459776098964 -0.07475259774118255 -0.02285687358406483 -0.09504493808863147 -0.04666654006832281 -0.1108362876413776 -0.05846921856182406 -0.1222436817201547 -0.05800120139350585 -0.1300697508613931 -0.04594759878467326 -0.1345455155992876 -0.02455515758914791 -0.1344119948717004 0.001974775486956677 -0.1276442891292981 0.02860020502015696 -0.1128681295219325 0.05111848285606979 -0.09015219674526487 0.06711672373333614 -0.06078954701785048 0.07583041377999826 -0.02659203557810427 0.07745717724999437 0.01061168672877959 0.07263580908084205 0.04903039098944826 0.06235012895843171 0.08674487469240832 0.04804082633269696 0.1216520202592815 0.03160414424622165 0.1516371419957417 0.01516374755540305 0.1748637627592419 0.0007297471420405965 0.1900112428551517 -0.01008391870144019 0.1963793042815759 -0.01620218775890368 0.1938847445726958 -0.01711701990751023 0.1830118657030389 -0.01286297545357412 0.1647502988399884 -0.003974585318306467 0.1405158140273213 0.008578131348881725 0.1120388598410488 0.02349048480606401 0.08122036488511089 0.03926000734984745 0.04997274431505742 0.05434082039670132 0.02007027781884626 0.06729073519116183 -0.006972969344200001 0.07689242622823328 -0.02998919727951326 0.08223978433647998 -0.04820515765765113 0.08278737866840834 -0.06125391093896768 0.0783639946360927 Output for Gabor G1 after RunFFTGabourMP: 32 48 0.1963495408493621 2.409389872230927 8 24 0.4908738521234052 -0.8797511767886121 16 8 1.570796326794897 -1.556773866274105 32 0 0.9817477042468103 1.224731253207703 Output for Gabor G1's Sample data member after RunFFTGabourMP: Output of data member Sample output for Gabor G1[0]: -0.0001944467680969231 -0.0003008797598942583 -0.0004389011059836277 -0.000609080623993787 -0.0008074373209135105 -0.001023239310673879 -0.00123654851877662 -0.001415742231629729 -0.001515364600044075 -0.001474784320371389 -0.001218240422616516 -0.000656921241741847 0.0003062865256226118 0.001768850036634651 0.003817147190456461 0.006511599915065304 0.009868955061985032 0.01384288640515346 0.01830474130043821 0.02302687180244708 0.02767146913426213 0.0317880475127793 0.03482258743484404 0.03614076175759314 0.03506658643621444 0.0309362810388482 0.02316518844783747 0.01132346587989702 -0.004785829264931734 -0.02505437442653761 -0.04901112758393906 -0.07578909746028835 -0.1041246217596614 -0.1323951754312824 -0.158698323431637 -0.1809701412353808 -0.1971366800892419 -0.2052874090902289 -0.2038556424071757 -0.1917883576475178 -0.1686870208790762 -0.1349023515898339 -0.09156942610382775 -0.04057488238012619 0.01554527229763146 0.07377138466603823 0.1308164335804408 0.183373926651435 0.2283744556961068 0.2632264258221305 0.2860176967451114 0.2956587460369287 0.2919540355632797 0.2755958012541005 0.2480825736325893 0.2115723944685053 0.1686870208790762 0.1222876950426237 0.07524488282235409 0.03022365522280598 -0.0104966638530129 -0.04515482149976726 -0.07258414050170788 -0.09223170930773138 Output of data member Sample output for Gabor G1[1]: 2.081415180977383e-13 3.035628219995365e-12 2.97175908406276e-11 2.045030079654407e-10 8.635501429808585e-10 -4.78298913326205e-11 -3.653381554046627e-08 -3.575292676483073e-07 -2.1574031418062e-06 -9.155061320979745e-06 -2.601946745329996e-05 -2.967382513604545e-05 0.0001555192886420415 0.001161414243260003 0.004394602323383082 0.01142416371306594 0.02069256397282949 0.02126096329385744 -0.01080794582760041 -0.1017714555560572 -0.2503753484529396 -0.3994883808705109 -0.4494048892943059 -0.3268127591673955 -0.05854420981339006 0.2284964927186728 0.3959509900519673 0.3921101787672061 0.2708049321250762 0.128301611204111 0.03042465640323857 -0.01114986903266581 -0.01711471015356942 -0.01078656235484934 -0.004563223306459209 -0.001357005067592927 -0.0002476241374591063 5.9269116808494e-07 1.956355336640063e-05 8.273474889872139e-06 2.1574031418062e-06 3.956260716246418e-07 4.858986537857764e-08 2.394663372944469e-09 -5.423490024888842e-10 -1.750271328476903e-10 -2.861946150404491e-11 -3.215066359083256e-12 -2.51653790218646e-13 -1.117366774184854e-14 2.45459373154525e-16 9.988173867832079e-17 1.061879705289253e-17 7.321693633016625e-19 3.559334787422502e-20 1.118545605598983e-21 8.658891287813595e-24 -1.460432614182247e-24 -1.09362156154853e-25 -4.680124360031856e-27 -1.396784776344848e-28 -2.859754022732334e-30 -2.930528151952743e-32 4.641022007112786e-34 Output of data member Sample output for Gabor G1[2]: 0.002739083046081253 0.2347991035663442 -0.003862192031739677 -0.3152148851597111 0.004936575302707808 0.3836014497039479 -0.005719800847190442 -0.4231720748379044 0.006007576202284708 0.4231720748379044 -0.005719800847190343 -0.3836014497039479 0.004936575302707009 0.3152148851597111 -0.003862192031739108 -0.2347991035663442 0.002739083046080801 0.1585438463821699 -0.001760920604023847 -0.0970433063671254 0.001026213182550332 0.0538449550359465 -0.0005421240103490888 -0.02708243386205757 0.0002596109069688637 0.01234791419041295 -0.0001126965096009427 -0.005103436944922731 4.434669259193407e-05 0.001912031939552844 -1.581886225105242e-05 -0.0006493678320655073 5.115080725947814e-06 0.0001999169596326648 -1.499315320901798e-06 -5.579197617888892e-05 3.983792453778947e-07 1.411422673541464e-05 -9.595412937454724e-08 -3.23672404362829e-06 2.095047494837507e-08 6.728488229537737e-07 -4.146553903860939e-09 -1.267922063024353e-07 7.439504262442371e-10 2.165862390605048e-08 -1.209940230825354e-10 -3.353763237785058e-09 1.783803767103386e-11 4.707574251325573e-10 -2.383929868933763e-12 -5.989977575625705e-11 2.888039390306857e-13 6.909020054297343e-12 -3.171582322386125e-14 -7.223887084330037e-13 3.157272767484181e-15 6.846816420871399e-14 -2.849124699944912e-16 -5.882604585438529e-15 2.330633855217919e-17 4.581565181787687e-16 -1.728223406488593e-18 -3.23460550308743e-17 Output of data member Sample output for Gabor G1[3]: 0.1432443224110795 -0.2499640017982043 -0.4166977037845219 -0.2120577608360725 0.1710160433584793 0.3867475303654435 0.2546323574745218 -0.08742395876506524 -0.3264431242105514 -0.2650420472503446 0.01448533529593172 0.2495240132406145 0.2457102719496108 0.03750515193513791 -0.1711174991825163 -0.2055344445149231 -0.06531054817321617 0.1033110128565792 0.1561181861112226 0.07201944987330637 -0.05264967826922793 -0.107931858512855 -0.06441676874906017 0.02004836925384289 0.06786085836350854 0.04994474952970861 -0.002474382601871277 -0.03863793314759876 -0.03448959474790228 -0.004772203412376406 0.01973720633452817 0.02149013329600629 0.006190148440421889 -0.00887621049841239 -0.01215899582136725 -0.005084605361843361 0.003369507380965901 0.006261574969166148 0.003387631046522801 -0.0009557393336146303 -0.002932533586630083 -0.001956485910054773 8.786521527027448e-05 0.001243733263702914 0.001006386247420379 0.0001262288971412387 -0.0004732479714992797 -0.0004670952254430715 -0.0001219637084899375 0.0001585332597215109 0.0001968583065374157 7.462365655363143e-05 -4.48279548147764e-05 -7.551432367858023e-05 -3.703438147472315e-05 9.471345736498583e-06 2.634380263793456e-05 1.593218837930035e-05 -6.486029573180598e-07 -8.322473783643849e-06 -6.104542454013671e-06 -6.94081472605495e-07 2.358868136534834e-06 2.110491317750327e-06 Output for coefficient of Gabor G1: 0.6641372506105396 0.4305956945407782 0.3197632563373582 0.2856679743194988 Output for Interval f_approx1 (G1) after multiplying by its coeffients: 0.04166703418827127 0.003473590439784888 -0.1205636666054018 -0.1617767621444065 0.0498960932457899 0.2324634609025279 0.0700900739466358 -0.1612295069524633 -0.09234068294226942 0.05861745455994272 0.001488731531309997 -0.05182969257524986 0.07204047327842 0.1131830180773305 -0.04569036998284385 -0.1245509425856859 -0.002316804247169749 0.0985576001328044 0.05153789389454876 -0.03898658055333162 -0.1041450753025947 -0.1645213875707673 -0.1889599921372203 -0.1196545310779324 0.01754882959138552 0.1371515672921317 0.1851367680627016 0.1636917785494433 0.1035905981196596 0.03785470991708565 -0.01381616000639692 -0.04920404953970545 -0.07475259774118255 -0.09504493808863147 -0.1108362876413776 -0.1222436817201547 -0.1300697508613931 -0.1345455155992876 -0.1344119948717004 -0.1276442891292981 -0.1128681295219325 -0.09015219674526487 -0.06078954701785048 -0.02659203557810427 0.01061168672877959 0.04903039098944826 0.08674487469240832 0.1216520202592815 0.1516371419957417 0.1748637627592419 0.1900112428551517 0.1963793042815759 0.1938847445726958 0.1830118657030389 0.1647502988399884 0.1405158140273213 0.1120388598410488 0.08122036488511089 0.04997274431505742 0.02007027781884626 -0.006972969344200001 -0.02998919727951326 -0.04820515765765113 -0.06125391093896768 Case: 3 for RunFFTGaborMP Error for FFT: 0.02554589517010348 Output for RecSignal1 and Rf1 after RunFFTGabourMP, respectively: 0.001387393384264957 -0.001387393384264957 0.07937002771714187 0.008707098377003657 0.1522083153645076 0.005032639689648452 0.2106819051439452 -0.0007759040774671138 0.2515422360687513 -0.00325870997874084 0.2767969005011849 -0.00240476038824506 0.2905944457557054 -0.0005263082529373972 0.2963502621757658 0.0006253072737637062 0.2957998056738684 0.0008162468283307024 0.289720664362022 0.000617648836270444 0.2789499587414554 0.0003975100451992918 0.2646877151573778 2.632888606451973e-05 0.2481248960359587 -0.0007421718546648323 0.2300305893130266 -0.001849745461333426 0.2107274218626157 -0.002900809622093546 0.1903751703176334 -0.003438096060828635 0.1692470716911484 -0.003211263876506307 0.1478113687694474 -0.002251011561109519 0.1266499993243389 -0.0007805967436240357 0.1063360275039349 0.0009136379806873756 0.08735070866555003 0.002571841872083705 0.07005266525841035 0.003997857911525599 0.0546786776765513 0.005064545788857467 0.04135621930444092 0.005707096791454465 0.0301184906409976 0.005913585707666051 0.02091972827715058 0.005714983969907671 0.01365067279239913 0.005174749971944384 0.008154013658408938 0.004378178472328165 0.004239286372588419 0.003422033861046189 0.001696605219452342 0.002405083891572408 0.000308721501231006 0.001420044036864546 -0.0001389222846186666 0.0005472619916499136 0.0001497134751640051 -0.0001497134751640051 0.0009870408078673672 -0.0006266969525349263 0.002205634435375809 -0.0008597097084848083 0.003660273616751921 -0.0008443384801218687 0.005228526991726942 -0.0005939011713800805 0.006810194268428164 -0.0001367333018048248 0.008325914072764737 0.0004870954761938568 0.009715222330220123 0.001229350420872188 0.01093430688994086 0.002037240595578049 0.01195365799473041 0.002856868010462128 0.01275576602986738 0.003636365578555434 0.01333297197998464 0.004328618456976821 0.01368553517671865 0.004893504190561045 0.0138199490261986 0.005299620968837773 0.01374750921271645 0.005525499500020613 0.01348312029044524 0.005560312590138578 0.01304431489693484 0.005404108193580945 0.01245045396574381 0.005067597557696869 0.01172207501453727 0.004571531385119666 0.01088035755328778 0.00394569496917902 0.009946678707814334 0.003227549207165812 0.008942237274287199 0.002460539275821921 0.007887729810166728 0.001692087363586863 0.006803067445221157 0.0009712807759562608 0.005707126485860488 0.0003462623407150053 0.004617529385264313 -0.00013867345943269 0.003550455198114766 -0.0004462777456475698 0.002520480271557378 -0.0005498386447767127 0.001540450749992662 -0.0004369684118148377 0.0006213886348462324 -0.0001136880141533265 -0.0002275671997469318 0.0003911894214474064 -0.0009991843225543946 0.001021375586372522 Output for Gabor G1 after RunFFTGabourMP: 32 0 0.09817477042468103 -1.36890128078067 8 0 0.09817477042468103 -1.77186595851256 64 32 0.09817477042468103 1.794317060741161 8 8 0.2945243112740431 -2.132235239697949 Output for Gabor G1's Sample data member after RunFFTGabourMP: Output of data member Sample output for Gabor G1[0]: 0.08302185012833931 0.1220039741913939 0.158598985798826 0.1918192071484913 0.220813010201636 0.244899500114254 0.2635936290330361 0.2766205119030877 0.2839184669293577 0.2856310646720971 0.2820891798670174 0.2737846442645079 0.2613375541485025 0.2454595649894068 0.226915597106825 0.2064862863400026 0.1849332637503505 0.1629689715212586 0.1412322596248181 0.1202705040777158 0.1005284863039636 0.08234381297515533 0.06594826754495237 0.05147418959649361 0.03896478665493482 0.02838719576488278 0.01964712060563702 0.01260395914542708 0.007085487324405399 0.002901354515795329 -0.0001451446963139188 -0.002247349705119772 -0.003587699445553203 -0.004332355654315114 -0.004627825850939184 -0.004599336356879292 -0.004350650693795424 -0.003965006779559078 -0.003506851879448482 -0.003024080669017222 -0.002550522214699331 -0.002108469804329041 -0.001711097879894609 -0.001364658514186697 -0.001070392858803508 -0.0008261289071689265 -0.0006275649570930911 -0.0004692583702771205 -0.0003453522792416285 -0.0002500798470013454 -0.0001780877945788258 -0.0001246194577383758 -8.55938077833578e-05 -5.761169530119559e-05 -3.791486821344962e-05 -2.431768090469611e-05 -1.512625501976862e-05 -9.055409322198427e-06 -5.150044507249971e-06 -2.714848104250998e-06 -1.254107463290479e-06 -4.219804230580805e-07 1.734679130971751e-08 2.207064970362685e-07 Output of data member Sample output for Gabor G1[1]: -0.7326154539401371 -0.3587307388356702 -0.01422771378334051 0.2200711774865011 0.3185420589053088 0.307261985797398 0.2370585639954386 0.1546638476417193 0.08744577991869179 0.04340300112320359 0.0190566794467017 0.007437565161984317 0.002588706191982002 0.0008053440790148541 0.0002242941166034996 5.598633206493008e-05 1.253474878291961e-05 2.518516728012992e-06 4.542550519874529e-07 7.355720888585116e-08 1.06926253258096e-08 1.394939904088471e-09 1.632384660000779e-10 1.71220554597835e-11 1.607984339951534e-12 1.349993487344904e-13 1.011020412075745e-14 6.73294262012105e-16 3.96863204624571e-17 2.05542630014786e-18 9.240026412283518e-20 3.523880243668853e-21 1.083563616566023e-22 2.292823248496604e-24 3.929712251246211e-27 -2.626711915343951e-27 -1.643008105550225e-28 -6.848656783576534e-30 -2.283367760157098e-31 -6.437728716875667e-33 -1.572919017451135e-34 -3.373734591202709e-36 -6.401209319565816e-38 -1.079615795535968e-39 -1.623846056391726e-41 -2.183067723283775e-43 -2.627406479621554e-45 -2.834099194229395e-47 -2.742030691073294e-49 -2.380812329832652e-51 -1.855682770151847e-53 -1.298532600045033e-55 -8.157096702750771e-58 -4.598650517586724e-60 -2.325525247847549e-62 -1.054090986239077e-64 -4.277870773384817e-67 -1.552033767190597e-69 -5.022883005324311e-72 -1.445511989258015e-74 -3.68197864986396e-77 -8.240735715950589e-80 -1.600887950903799e-82 -2.638350621497656e-85 Output of data member Sample output for Gabor G1[2]: -0.02189671817763638 -0.0327791087824766 -0.0442860428510547 -0.05628675971682518 -0.06863112166769915 -0.08115129912684101 -0.09366398099487722 -0.1059730892960606 -0.1178729620715688 -0.1291519533966251 -0.1395963849516417 -0.1489947702452308 -0.1571422208524178 -0.1638449343501213 -0.1689246564131579 -0.1722230051238527 -0.1736055442145372 -0.1729654938810347 -0.1702269730512634 -0.1653476755324657 -0.1583208941480763 -0.1491768215554309 -0.1379830735480159 -0.1248443998349707 -0.1099015680180655 -0.09332942814899221 -0.07533418719831385 -0.05614994432863698 -0.03603455836453123 -0.01526493763929756 0.005868141131109986 0.02706556468087756 0.04802563515564226 0.068449904960857 0.0880489544691857 0.1065479737510027 0.1236920146348287 0.1392507883407031 0.1530228963779912 0.1648393979651071 0.1745666354176872 0.1821082591875775 0.1874064158801579 0.1904420849560673 0.1912345722447185 0.18984019017995 0.1863501751643678 0.1808879110845685 0.1736055442145372 0.1646800881292526 0.1543091274777344 0.1427062363184635 0.1300962300997139 0.1167103702876002 0.1027816372313373 0.08854018033694792 0.07420904531729798 0.0600002665945007 0.04611139930705328 0.03272255031705829 0.01999395164400199 0.008064103396310501 -0.002951502958269887 -0.01296108576689738 Output of data member Sample output for Gabor G1[3]: -0.01167739952886347 -0.01208045153726621 0.002393456365443076 0.0470999376360807 0.1338285663226877 0.2578505768249114 0.3895799663852502 0.4820365884263541 0.4948762930981256 0.4197278932412515 0.2866579297256763 0.1458132166841037 0.038863432927639 -0.01866389480280507 -0.03537725510038959 -0.03002250281016743 -0.01856632638299299 -0.009184048332543916 -0.003745216670184691 -0.001267716710292859 -0.0003525540655985087 -7.762493219995831e-05 -1.201672319046056e-05 -5.715762440961566e-07 3.931040463029453e-07 1.736072887840895e-07 4.56536890549373e-08 9.144782982879723e-09 1.485647968022471e-09 1.998158775746529e-10 2.227601725722743e-11 2.023581771298843e-12 1.420153565887028e-13 6.348863397356689e-15 -5.435781308544845e-17 -4.62253746596062e-17 -5.675871823808145e-18 -4.72580184308429e-19 -3.085514999659522e-20 -1.649812905395325e-21 -7.319391681109799e-23 -2.682685835034857e-24 -7.917527689366772e-26 -1.740388350956402e-27 -2.004537031281012e-29 4.160052842770889e-31 3.407566568261052e-32 1.249656797244713e-33 3.339592588592388e-35 7.138801636971682e-37 1.258032172920287e-38 1.84018150414687e-40 2.211504460645986e-42 2.104199787687204e-44 1.407652454399782e-46 2.893391499473279e-49 -8.599321601216043e-51 -1.641150003446972e-52 -1.865004336274438e-54 -1.614362345101231e-56 -1.133358157809286e-58 -6.587261473684566e-61 -3.17348244090614e-63 -1.245784602236527e-65 Output for coefficient of Gabor G1: 0.990452371407941 0.1075824697520554 0.07710796300571093 0.02884235523500692 Output for Interval f_approx1 (G1) after multiplying by its coeffients: 0.001387393384264961 0.07937002771714188 0.1522083153645076 0.2106819051439452 0.2515422360687513 0.2767969005011849 0.2905944457557054 0.2963502621757658 0.2957998056738684 0.289720664362022 0.2789499587414554 0.2646877151573778 0.2481248960359587 0.2300305893130266 0.2107274218626157 0.1903751703176334 0.1692470716911484 0.1478113687694474 0.1266499993243389 0.1063360275039349 0.08735070866555003 0.07005266525841035 0.0546786776765513 0.04135621930444092 0.0301184906409976 0.02091972827715058 0.01365067279239913 0.00815401365840894 0.004239286372588419 0.001696605219452342 0.000308721501231006 -0.0001389222846186668 0.000149713475164005 0.0009870408078673674 0.002205634435375809 0.00366027361675192 0.005228526991726942 0.006810194268428163 0.008325914072764737 0.009715222330220123 0.01093430688994086 0.01195365799473041 0.01275576602986738 0.01333297197998464 0.01368553517671865 0.0138199490261986 0.01374750921271645 0.01348312029044524 0.01304431489693484 0.01245045396574381 0.01172207501453727 0.01088035755328778 0.009946678707814334 0.008942237274287199 0.00788772981016673 0.006803067445221157 0.005707126485860487 0.004617529385264312 0.003550455198114767 0.002520480271557378 0.001540450749992662 0.0006213886348462325 -0.0002275671997469318 -0.0009991843225543946 Case: 4 for RunFFTGaborMP Error for FFT: 0.3942115568606667 Output for RecSignal1 and Rf1 after RunFFTGabourMP, respectively: -0.02461800988333221 0.02461800988333221 -0.0272189076899253 0.0272189076899253 -0.02354644499862709 0.02354644499862709 -0.01260246214152822 0.01260246214152822 0.00505854462646225 -0.00505854462646225 0.02731418200007416 -0.02731418200007416 0.05085888102708183 -0.05085888102708183 0.07192236850121823 0.116541045717301 0.08716134257653464 0.1013020716419846 0.09450479340222388 -0.1416206469568537 0.09372864189128705 0.0005030652179725706 0.08659040055999799 0.007641306549261618 0.07645898686286279 0.01777272024639683 0.06750396307738295 0.02672774403187665 0.06362916889649028 0.03060253821276934 0.06741485002435524 -0.1616465571336148 0.07934604037192082 -0.05578811359460591 0.09754552076277165 0.04380203990111778 0.1181089280097897 0.02323863265409975 0.1359865556682066 0.005361004995682826 0.1462103530438761 -0.00486279237998671 0.1451649296470414 -0.003817368983152009 0.1315766943223496 0.009770866341539798 0.1069553633964462 0.03439219726744321 0.07535435798925633 0.0659932026746331 0.042488653184388 0.09885890747950143 0.01441624429355626 -0.07095526855911204 -0.00389188219451435 -0.05264714207104143 -0.009731275234679027 -0.04680774903087674 -0.003287462368372096 0.04569173056753892 0.01246493491022672 0.0299393332889401 0.03257169891064403 0.009832569288522794 0.05141810063768545 -0.00901383243851862 0.06422378557095693 -0.0218195173717901 0.06832932844057886 -0.02592506024141204 0.06393861183003292 -0.0215343436308661 0.05411672711288617 -0.01171245891371934 0.04403171429915971 -0.00162744609999289 0.03962195488674924 0.00278231331241758 0.04601968818390087 -0.003615419984734039 0.06612659063457049 -0.02372232243540368 0.09970261308514425 -0.05729834488597743 0.1432030166307531 0.1017994218533219 0.1904129591209154 0.0545894793631596 0.2337313716981369 0.01127106678593808 0.2657964185834761 -0.02079398009940117 0.2810636364000108 -0.03606119791593576 0.2769652207061304 -0.03196278222205543 0.2541216849091714 -0.009119246425096459 0.208845540578678 -0.1099022481139554 0.3116447388148833 0.0275894067784513 0.3224467475855589 0.01678739800777573 -0.05542017890535877 0.05542017890535873 0.04364821584581185 -0.04364821584581189 0.03174136289961812 -0.03174136289961816 0.02135246766319089 -0.02135246766319093 0.01897117164536989 -0.01897117164536994 0.02046946334507086 -0.0204694633450709 0.02200308904449934 -0.02200308904449938 0.02070580975906192 -0.02070580975906196 0.01527713193077417 -0.01527713193077421 0.006102315255601334 -0.006102315255601376 -0.005074300733463274 0.005074300733463232 -0.0157914404463707 0.01579144044637066 Output for Gabor G1 after RunFFTGabourMP: 16 48 0.09817477042468103 2.197607846364679 32 16 0.09817477042468103 -1.731501130461945 2 51 4.71238898038469 -2.570036019592929 64 32 0.4908738521234052 2.336655429750846 Output for Gabor G1's Sample data member after RunFFTGabourMP: Output of data member Sample output for Gabor G1[0]: -1.178109328163876e-13 -4.273426310081907e-13 -1.479496600413037e-12 -4.908660645364573e-12 -1.565035556764072e-11 -4.804386260386713e-11 -1.422001119735857e-10 -4.061917226839149e-10 -1.120520732191047e-09 -2.986408197201568e-09 -7.691503509817518e-09 -1.914324319872774e-08 -4.603510926245652e-08 -1.069230596717944e-07 -2.39717545229974e-07 -5.183072635657604e-07 -1.079402291217969e-06 -2.161285646507236e-06 -4.150209203092818e-06 -7.61460922584973e-06 -1.327410005131306e-05 -2.178824296500168e-05 -3.314690611059016e-05 -4.529045712792177e-05 -5.138711462132396e-05 -3.497507279197806e-05 3.799219471292455e-05 0.0002311566139537443 0.0006544377262769335 0.001485129810337682 0.002991618498199624 0.005555729655377301 0.009687158941193614 0.0160211232617714 0.025289289344702 0.038255296649773 0.05561074149132082 0.07783560487269663 0.1050379502903255 0.1367991127591324 0.1720592475993904 0.2090803428476994 0.2455167851345033 0.2786065833474159 0.3054716758342474 0.3234886582779992 0.3306689482597559 0.3259768801613079 0.3095200244094648 0.2825683373132449 0.2473928977377017 0.2069525446006804 0.1644879728029203 0.1230997533054522 0.08538545219437001 0.05319287944997563 0.02751737108121362 0.008539201195567095 -0.004229206715396809 -0.0117321272948749 -0.01514414227106944 -0.01566919484323853 -0.01439111311806679 -0.01218527102043264 Output of data member Sample output for Gabor G1[1]: -0.01999087877600816 -0.008585863090576079 0.005352064816558607 0.02176782999611058 0.04050206766430121 0.0612864955743718 0.08374481157136657 0.1073996196810661 0.1316855098191173 0.1559679942020024 0.1795675701867989 0.2017877705896636 0.2219457148741121 0.2394034210175356 0.2535980046616453 0.2640688959312065 0.2704803499015683 0.272637806271988 0.2704970472398971 0.2641655791558036 0.2538961847763982 0.2400731162097135 0.2231918813193764 0.2038339798402242 0.1826382388499233 0.1602705600892615 0.1373939155689169 0.1146403170363157 0.09258625483351868 0.07173277758710138 0.05249099778017256 0.03517339454979729 0.01999087877600818 0.007055217987788257 -0.003613884930630158 -0.01207798735686689 -0.01846643690151318 -0.02296133728428717 -0.02578201026851774 -0.02716990304511661 -0.0273747279927322 -0.02664242721468718 -0.0252053472427814 -0.02327480756170119 -0.02103606475852114 -0.01864552278169205 -0.01622992535939328 -0.01388719129583171 -0.01168851573260289 -0.009681356278850094 -0.007892945982689756 -0.006334018216991249 -0.005002484280436043 -0.003886865971213901 -0.002969346684719768 -0.002228361135921922 -0.001640692451175408 -0.001183084328936868 -0.0008334046621398984 -0.0005714158481493447 -0.0003792170869589051 -0.000241426815690728 -0.0001451707647675697 -7.993465375407081e-05 Output of data member Sample output for Gabor G1[2]: -0 -0 0 0 -0 -0 0 0 -0 -0 0 0 -0 -0 0 0 -0 -0 0 0 -0 -7.30889289842765e-308 1.513837032294334e-287 2.696285395603126e-268 -2.413331783346583e-249 -1.857493972209632e-231 7.184594019320358e-214 2.389660798226009e-197 -3.994245224631712e-181 -5.741064121626735e-166 4.146813551977581e-151 2.575703263202515e-137 -8.039732258661222e-124 -2.15797570596769e-111 2.910824054220445e-99 3.376327503215953e-88 -1.968056746479593e-77 -9.864836101947639e-68 2.484886578812246e-58 5.382480610973665e-50 -5.858990805994167e-42 -5.48431468584294e-35 2.579801880115235e-28 1.043541081778934e-22 -2.121276035426669e-17 -3.708036733323205e-13 3.257281620237742e-09 2.46051375380778e-06 -0.0009340297818590607 -0.03048981986372086 0.5001651541971445 0.705555549895168 -0.5001651541971457 -0.03048981986372049 0.0009340297818590678 2.46051375380772e-06 -3.257281620237723e-09 -3.708036733323234e-13 2.121276035426668e-17 1.043541081778883e-22 -2.5798018801152e-28 -5.484314685842848e-35 5.858990805994222e-42 5.382480610973747e-50 Output of data member Sample output for Gabor G1[3]: -0.06913008960322591 -0.0995499313976515 -0.10797322630435 -0.09011668340936757 -0.04803488988113579 0.009823638612021041 0.07022953250772418 0.1181760245800755 0.1405987910363221 0.1298912333322638 0.08627498879074702 0.01831711244905625 -0.05867577191912078 -0.1261136248265249 -0.1666499673236074 -0.1686680786683468 -0.1295577566969069 -0.05686390177098363 0.03310436057671384 0.1189721886889932 0.1794594590909285 0.1987379117853659 0.170615078304481 0.1004261497224099 0.004068998965129964 -0.09566135382853103 -0.1745797098161537 -0.2131015163396432 -0.201202768814466 -0.1410677275817979 -0.04671414273199054 0.05934976767074932 0.1516216464324867 0.2078818978346316 0.2146710131392195 0.1705862989224191 0.08657198305643007 -0.01685677784356758 -0.1147370244298287 -0.1838208631558075 -0.2082229670287147 -0.1831506668213052 -0.1158231026897702 -0.02341256058472099 0.0714056100468372 0.1461225189311604 0.1838408392315158 0.1771541287125021 0.1295577566969068 0.05414000298498585 -0.03000878711955185 -0.102681052029925 -0.1474663164902756 -0.1554851151325529 -0.1270887554072719 -0.0712226533086093 -0.002747517929405425 0.06149943106197734 0.1068587185928027 0.1241893500419552 0.1116383442144643 0.07452272442788256 0.02349584432036876 -0.02842125919395645 Output for coefficient of Gabor G1: 0.7375122712570604 0.4074870385592733 0.2790199650304898 0.2382751995137538 Output for Interval f_approx1 (G1) after multiplying by its coeffients: -0.02461800988333221 -0.0272189076899253 -0.02354644499862708 -0.01260246214152822 0.00505854462646225 0.02731418200007416 0.05085888102708183 0.07192236850121823 0.08716134257653464 0.09450479340222388 0.09372864189128705 0.086590400559998 0.07645898686286277 0.06750396307738296 0.06362916889649028 0.06741485002435524 0.07934604037192081 0.09754552076277165 0.1181089280097897 0.1359865556682066 0.1462103530438761 0.1451649296470414 0.1315766943223496 0.1069553633964462 0.07535435798925633 0.042488653184388 0.01441624429355626 -0.003891882194514348 -0.009731275234679031 -0.003287462368372095 0.01246493491022673 0.03257169891064403 0.05141810063768544 0.06422378557095693 0.06832932844057886 0.06393861183003292 0.05411672711288616 0.04403171429915971 0.03962195488674924 0.04601968818390087 0.06612659063457049 0.09970261308514425 0.1432030166307531 0.1904129591209154 0.2337313716981369 0.2657964185834761 0.2810636364000108 0.2769652207061304 0.2541216849091714 0.208845540578678 0.3116447388148832 0.3224467475855589 -0.05542017890535878 0.04364821584581185 0.03174136289961812 0.02135246766319089 0.01897117164536989 0.02046946334507086 0.02200308904449935 0.02070580975906192 0.01527713193077417 0.006102315255601332 -0.005074300733463274 -0.0157914404463707 Case: 5 for RunFFTGaborMP Error for FFT: 0.2864120479866856 Output for RecSignal1 and Rf1 after RunFFTGabourMP, respectively: 9.392813830695668e-59 -8.093531487092643e-06 2.0025932071027e-54 -8.272236663806072e-06 2.416728117831745e-50 -6.377878537304872e-06 1.472190276567943e-46 4.274767021782426e-06 -3.332247085115309e-42 6.576845509135055e-05 5.268684763454623e-35 0.0007434326229074873 -7.087341544224486e-29 0.08401001169890825 -3.721987236159408e-23 0.020493700153244 1.2709444736345e-17 -0.1798526228787346 -3.562460120753794e-13 0.01427242802970071 8.9485400795785e-10 0.09916470489171349 8.775889067503489e-07 0.0009077652775025214 -0.0005596159903980466 -8.382354367802383e-05 0.02929279701501296 -0.03412533673950458 -0.137407459672175 0.0296502004092345 -0.2516497713870197 0.02399418026636065 0.2996696943876247 0.04477744576843252 -0.0292927479932672 0.07875823747866166 0.0002577053299249501 0.001849029260742151 1.344361403239779e-05 -0.001567789191843573 2.839319874045535e-05 -0.003991680508528214 -0.0009439405195097951 -0.007936299611066875 -0.01165177757515483 -0.01105922992061442 -0.06326099545096474 -0.006380295134388347 -0.1890612721736607 -0.01597086323873226 -0.3252898696889382 0.02437424697627204 -0.3167936969119837 0.01448325830425616 -0.1557137577024552 -0.06843154193544622 -0.0152053660499841 0.07829109931433587 0.02184343743384593 -0.01158874047090969 0.01165177757515483 -0.02009324994023295 0.002733755486702858 -0.007120748046315003 0.0003530610985681685 -0.002672132333318607 2.625073555440459e-05 -0.001341404579174256 1.104768077421196e-06 -0.0007906523473884328 2.346633228769152e-08 -0.0004885889895353504 9.889278968878101e-11 -0.000292293046963967 -1.103807257660255e-09 -0.0001228782904765735 -9.551033415369129e-07 0.0001406582967885645 -1.502427315927615e-05 0.001028834252770084 0.0107569048764679 -0.003079619320894691 0.1685489040046643 0.007004908217374832 0.2738770967331786 -0.003851189427914328 0.008045372906347738 0.004943820412306598 -0.01075690487646789 0.0123016331090074 -0.0003147554260881399 0.0007036503648184112 -9.563351242700919e-07 0.000170939952007234 3.544481979771367e-06 5.226279905886729e-05 -0.0003090939389808196 -0.0110445607773021 -0.03191573006705115 -0.02210319544882903 0.4232423181146874 -0.05542315972623794 0.02807050945743788 -0.02114863649885269 -0.4330378012804549 -0.056200436620772 0.03020023711239352 -0.03293033840814816 0.0003532559499755048 -0.0005196043906105499 -3.544534374555522e-06 -1.846003918609752e-05 1.077916385911521e-09 -4.059381596364817e-06 3.881449611326409e-13 -1.371938803608953e-06 -1.795034658174585e-17 -1.138924055144805e-06 -4.151725517522602e-24 -1.267835831580464e-06 2.23356570230788e-28 -1.381432376745777e-06 -5.43222638414181e-35 -1.42945978622459e-06 -2.215907247571563e-42 -1.423645835274773e-06 7.753822760165209e-50 -1.382446984935089e-06 Output for Gabor G1 after RunFFTGabourMP: 2 51 4.319689898685965 -1.935884842662741 4 26 0.3926990816987241 -0.08025286380398544 2 15 3.926990816987241 -0.4299245584702256 2 42 0.7853981633974483 -0.8330951267979876 Output for Gabor G1's Sample data member after RunFFTGabourMP: Output of data member Sample output for Gabor G1[0]: -0 -0 0 0 -0 0 0 -0 0 0 -0 -0 0 -0 -0 0 -0 -0 0 0 -0 1.191169473828514e-307 9.420508579091149e-288 -6.390954385180482e-268 1.314054145694601e-249 3.199217751249454e-231 -1.000332428900189e-213 -1.564306336825566e-198 5.690017012249098e-181 -9.356520096833133e-166 -2.580534879840405e-151 6.105140832543679e-137 -4.377617523488031e-124 -3.716746481327338e-111 4.05282704691348e-99 2.210192556365829e-89 -2.803602617957213e-77 1.607725245432156e-67 1.546328622856498e-58 -1.275799220659125e-49 3.190208329965751e-42 9.445800179644509e-35 -3.591935012440764e-28 -6.831170047966073e-24 3.021871730563793e-17 -6.043186329245163e-13 -2.026984992001348e-09 5.832109312440696e-06 -0.000508577277075505 -0.05251353404090876 0.6963948445852465 0.04618668132741895 -0.7125121459157189 0.04969089462510683 0.0005812406081646691 -5.832109312440697e-06 1.773583079750869e-09 6.386463222500055e-13 -2.953515818959034e-17 -6.831170047963647e-24 3.675066441981232e-28 -8.938081771660711e-35 -3.646011557071588e-42 1.275799220659125e-49 Output of data member Sample output for Gabor G1[1]: 1.803800533537687e-58 3.845789728766964e-54 4.641096411173913e-50 2.826832690503691e-46 3.420574556503154e-43 -6.089087652418956e-39 -4.024875860579013e-35 -1.170170198690646e-31 -1.872700366870537e-28 -1.725396711153451e-25 -8.998034771704837e-23 -2.368376962553266e-20 -1.238435606807393e-18 9.526870044691243e-16 2.721285774614359e-13 3.4189625296928e-11 2.364488735447966e-09 9.414159797533168e-08 2.121601985738671e-06 2.413185572997998e-05 5.453018467915499e-05 -0.001812747962487935 -0.02237613029020304 -0.1214867231517607 -0.363074186037503 -0.6246882468614349 -0.6083721553638949 -0.2990334571573682 -0.02920045886991222 0.04194824342063019 0.02237613029020303 0.005249917324413716 0.0006780202497865292 5.041204015355719e-05 2.121601985738672e-06 4.506485858557693e-08 1.901654227235186e-10 -1.180536183056053e-11 -2.721285774614358e-13 -2.759086267371572e-15 -1.539852513635562e-17 -4.947597726049149e-20 -8.998034771704827e-23 -8.259341296981622e-26 -1.506130486314012e-29 4.040489616048321e-32 4.024875860579009e-35 1.763466704573421e-38 4.253091803850574e-42 5.905323017658302e-46 4.641096411173923e-50 1.840949952030353e-54 1.450717382690836e-59 -1.681813586567966e-63 -7.239690457185359e-68 -1.370750516713213e-72 -1.42862931435253e-77 -8.571998858165266e-83 -2.911271324633575e-88 -4.990312246877668e-94 -1.699386639784056e-100 8.513553852766145e-106 1.583713704300412e-111 1.295802285137101e-117 Output of data member Sample output for Gabor G1[2]: 2.829003770352708e-77 -2.273852952863577e-67 1.637834320907781e-58 4.605898043592545e-50 -8.422067661549068e-42 1.264139111279768e-34 -1.70039473689571e-28 -8.929793109100684e-23 3.049250441032977e-17 -8.547055610714874e-13 2.146934059677507e-09 2.105511622613358e-06 -0.00134263088664878 0.07027928919742721 -0.3296680269639474 -0.6037582226088587 0.7189676362502363 -0.07027928919742732 0.0006156361608303425 2.10551162261331e-06 -4.68221355976471e-09 8.547055610714892e-13 -1.398171942560731e-17 -8.929793109100625e-23 3.70836321598139e-28 -1.264139111279769e-34 3.861768303536516e-42 4.605898043592521e-50 -3.571926222622033e-58 2.273852952863578e-67 -1.297182298927753e-77 -2.889192059491228e-88 4.184194505038071e-99 -4.974152008722854e-111 5.299134993291672e-124 2.204081626726616e-137 -5.960880545989906e-151 1.323320070463458e-165 -2.632680288430179e-181 -2.044881308621716e-197 1.032756987595413e-213 -4.281539105146639e-231 1.590671242786504e-249 2.307266207937004e-268 -2.17608088776956e-287 1.684705911735494e-307 -0 -0 0 -0 0 0 -0 0 -0 -0 0 -0 0 0 -0 0 -0 -0 Output of data member Sample output for Gabor G1[3]: 0 0 0 0 -0 -0 -0 -0 0 0 0 0 -8.006931546432428e-308 -1.584067464828669e-287 -3.249918053813319e-268 -1.205401777183497e-250 2.034894653688676e-231 7.517904101447091e-214 2.88033372999351e-197 1.995030407962065e-182 -6.289366674867223e-166 -4.339193909428144e-151 -3.104576596378925e-137 -4.015654879923213e-125 2.364074011847245e-111 3.045863974633435e-99 4.069594311559761e-88 9.829974958995184e-79 -1.080698109587354e-67 -2.600166265796947e-58 -6.487674094303463e-50 -2.926426436175057e-43 6.008096284744433e-35 2.699484909416456e-28 1.257813066487572e-22 1.05952688339197e-18 -4.062174218172372e-13 -3.408394515612461e-09 -2.965735037988156e-06 -4.665256417557066e-05 0.03340176192271088 0.5233689828580351 0.8504284165584887 0.02498205882485172 -0.03340176192271088 -0.000977361603039641 -2.965735037988157e-06 -1.626934630752388e-10 4.062174218172387e-13 2.219686980802286e-17 1.257813066487576e-22 1.28854962775153e-29 -6.00809628474443e-35 -6.130803061700448e-42 -6.487674094303468e-50 -1.24114169417945e-59 1.080698109587357e-67 2.059359491496936e-77 4.069594311559778e-88 1.453887323839174e-100 -2.364074011847243e-111 -8.4127141992142e-124 -3.104576596378929e-137 -2.071234655630823e-152 Output for coefficient of Gabor G1: 0.6077619922168707 0.5207235310144908 0.4168055390077112 0.3220460316242767 Output for Interval f_approx1 (G1) after multiplying by its coeffients: 9.392813830695668e-59 2.0025932071027e-54 2.416728117831745e-50 1.472190276567943e-46 -3.332247085115308e-42 5.268684763454623e-35 -7.087341544224486e-29 -3.721987236159407e-23 1.2709444736345e-17 -3.562460120753794e-13 8.9485400795785e-10 8.77588906750349e-07 -0.0005596159903980466 0.02929279701501296 -0.1374074596721751 -0.2516497713870197 0.2996696943876248 -0.0292927479932672 0.0002577053299249501 1.344361403239779e-05 2.839319874045535e-05 -0.0009439405195097951 -0.01165177757515483 -0.06326099545096474 -0.1890612721736607 -0.3252898696889382 -0.3167936969119837 -0.1557137577024552 -0.0152053660499841 0.02184343743384593 0.01165177757515483 0.002733755486702858 0.0003530610985681685 2.625073555440459e-05 1.104768077421196e-06 2.346633228769152e-08 9.889278968878101e-11 -1.103807257660255e-09 -9.551033415369129e-07 -1.502427315927615e-05 0.0107569048764679 0.1685489040046643 0.2738770967331786 0.008045372906347738 -0.01075690487646789 -0.0003147554260881399 -9.563351242700919e-07 3.544481979771367e-06 -0.0003090939389808196 -0.03191573006705115 0.4232423181146874 0.02807050945743788 -0.4330378012804549 0.03020023711239352 0.0003532559499755048 -3.544534374555522e-06 1.077916385911521e-09 3.881449611326409e-13 -1.795034658174585e-17 -4.151725517522602e-24 2.23356570230788e-28 -5.43222638414181e-35 -2.215907247571563e-42 7.753822760165209e-50 Case: 6 for RunFFTGaborMP Error for FFT: 0.1303339591193096 Output for RecSignal1 and Rf1 after RunFFTGabourMP, respectively: -0.002486484191127436 0.002486484191127436 0.02946236291254332 0.002264151224717171 0.06112427280321374 0.001109523325129064 0.09069952432041486 -0.0003500560857095681 0.1166107295607901 -0.001617668616320323 0.1376102489185625 -0.002392714108722922 0.1528281558959835 -0.002582481254001872 0.1617638146434407 -0.002263857188566199 0.1642354485333539 -0.001610702183566301 0.1603084622230427 -0.0008085047811826352 0.1502237415487455 2.193306770736743e-05 0.1343424486476735 0.000875086125104072 0.1131159878309415 0.001877073066357336 0.08708136699643676 0.003268101182801371 0.0568753358027357 0.005358460263975286 0.02325679578157143 0.008469718290261096 -0.01287365046746678 0.01287365040075699 -0.05046610335361609 0.01873958915092763 -0.08833121631422401 0.02609742012424941 -0.1251690399333392 0.03481957164316673 -0.1596151079051755 -0.03669032626135907 -0.1902999332905607 -0.02622997473123457 -0.2159173423621842 -0.01564070548021998 -0.2352973788430575 -0.005514951799725219 -0.2474802777658853 0.003543158241203909 -0.2517885179362122 0.01097618733247273 -0.2478935776493999 0.0163355298835819 -0.2358724339515646 0.01934252604095532 -0.2162463244602528 0.01994089043523111 -0.1899917831078492 0.0183299418091844 -0.1585129778578559 0.01496680867788293 -0.1235665418588627 0.01052765467756449 -0.087136421535566 0.005824048494091788 -0.05126644387702282 0.001680584970245399 -0.01787024990471923 -0.001208327018568154 0.01145163713131218 -0.0024145419605663 0.03555360609831666 -0.001872918234398777 0.0538162360805614 8.892562850821408e-05 0.06613152991390883 0.00280177160423647 0.07280669305911276 0.005380891246896781 0.07441171213227757 0.006900661042616212 0.07161054539207612 0.006577038848861241 0.06501907154824926 0.003914229842252425 0.05512355518855137 -0.001218393664791614 0.04227415793834693 -0.008593470310283773 0.02674524845544786 -0.01770815356203779 0.008835319447267656 -0.02791389667871421 -0.01103004991368007 0.04275656385465656 -0.03222640507434116 0.03222640487421181 -0.0539118982745255 0.02218538394098115 -0.07506713614839951 0.01283333983516142 -0.0945823848529937 0.004232916451886868 -0.1113704874015354 -0.003622573684447208 -0.1244807033575836 -0.01073683156344179 -0.1331923563208726 -0.01705331839769521 -0.1370751132333569 -0.02242484426056085 -0.1360117603538228 -0.02661298599596482 -0.1301868762116271 -0.02931308119118967 -0.1200494279415181 -0.03019624659834871 -0.1062588885600367 -0.0289586461015549 -0.0896237249398607 -0.02536933581592533 -0.07103912146171554 -0.01931034655112118 -0.05142855702393127 -0.01080523885788416 -0.0316919642773023 -3.454959824622282e-05 Output for Gabor G1 after RunFFTGabourMP: 64 32 0.1963495408493621 -1.675301361288329 32 32 0 0 16 0 0.09817477042468103 -1.505357901506895 16 40 0.1963495408493621 1.012480534007197 Output for Gabor G1's Sample data member after RunFFTGabourMP: Output of data member Sample output for Gabor G1[0]: -0.01037148778179199 0.009570229731621567 0.0310781745514852 0.05329121252794233 0.075235967035954 0.09586798525578125 0.1141201840117176 0.1289563730326692 0.1394271817577248 0.1447253761347161 0.1442373756508313 0.1375877906550355 0.1246740074485287 0.1056882526942352 0.0811251552877128 0.0517735658000944 0.01869225195971318 -0.01682998539678433 -0.05332829360772248 -0.08922747377861157 -0.1229162530286902 -0.1528263410595108 -0.1775120698388291 -0.1957262360321455 -0.2064878457066198 -0.2091378027543676 -0.2033791723528352 -0.1892994579445221 -0.1673733091113983 -0.1384451706117247 -0.1036925235023225 -0.06457148726370052 -0.02274757724827749 0.01998472014386382 0.06178923651571979 0.1008775552572628 0.1355957488314892 0.1645037438357779 0.1864430799030149 0.2005895179207459 0.2064878457066198 0.2040672681676158 0.1936368883481202 0.1758619156478923 0.151722308333963 0.1224565048095145 0.08949366669793186 0.05437840409441021 0.01869225195971322 -0.01602379420407838 -0.04834158952004581 -0.07700934965154621 -0.1010033528616818 -0.1195656179611451 -0.132226226719101 -0.1388098806023009 -0.1394271817577248 -0.1344519533562111 -0.1244866185708246 -0.1103182044371556 -0.09286790239016231 -0.07313728997219605 -0.05215429946717824 -0.0309218224112001 Output of data member Sample output for Gabor G1[1]: 0.009086416259576192 0.01102386158994816 0.01329260432765449 0.0159302138461466 0.018974412438427 0.02246209550620245 0.02642818906080423 0.03090435919770754 0.03591759782586847 0.04148871902608141 0.04763081046392882 0.05434769368971747 0.06163245525791258 0.06946611670858155 0.07781651491431014 0.086637464524391 0.0958682707780925 0.1054336535325476 0.1152441319008638 0.1251969036167822 0.135177234595183 0.1450603528685366 0.1547138181138627 0.1640003145044947 0.1727807919199506 0.1809178599728885 0.1882793221761731 0.1947417250584305 0.2001937901078691 0.2045395957496622 0.2077013824526884 0.2096218664338418 0.2102659657963405 0.2096218664338418 0.2077013824526884 0.2045395957496622 0.2001937901078691 0.1947417250584305 0.1882793221761731 0.1809178599728885 0.1727807919199506 0.1640003145044947 0.1547138181138627 0.1450603528685366 0.135177234595183 0.1251969036167822 0.1152441319008638 0.1054336535325476 0.0958682707780925 0.086637464524391 0.07781651491431014 0.06946611670858155 0.06163245525791258 0.05434769368971747 0.04763081046392882 0.04148871902608141 0.03591759782586847 0.03090435919770754 0.02642818906080423 0.02246209550620245 0.018974412438427 0.0159302138461466 0.01329260432765449 0.01102386158994816 Output of data member Sample output for Gabor G1[2]: 0.06129106135499345 0.1508077556643458 0.2309583342626337 0.2956281777608259 0.3406407141661401 0.3641800691114588 0.3668170719471156 0.3511688675871271 0.3212929374758798 0.2819565446771724 0.2379263575198829 0.1933946684398163 0.1516103511554946 0.1147296496503081 0.08385743390070548 0.0592219420794112 0.0404173111637855 0.0266552225112965 0.01698363257522878 0.01045019809499757 0.006205396257161351 0.003552524107329014 0.001958036206343287 0.001036967412182119 0.0005261946345381336 0.0002547789636086338 0.0001169624852742226 5.037931567895528e-05 1.997954193996193e-05 7.012579647843574e-06 1.954222580556632e-06 2.317853577306293e-07 -2.137429143202727e-07 -2.397861931932149e-07 -1.674326096575319e-07 -9.771430460544961e-08 -5.133514409495831e-08 -2.502305418403097e-08 -1.149157600282429e-08 -5.015935838253903e-09 -2.09239202525468e-09 -8.372014430099375e-10 -3.221041022533254e-10 -1.193724503591832e-10 -4.266722290852166e-11 -1.472133182630214e-11 -4.905902521987876e-12 -1.579668299664029e-12 -4.915374217602199e-13 -1.478010070186781e-13 -4.293698823170992e-14 -1.204568291835816e-14 -3.261236804075738e-15 -8.51247325994272e-16 -2.139170282192667e-16 -5.165301285863891e-17 -1.195041196645967e-17 -2.638189210007045e-18 -5.521980548359256e-19 -1.084442326946285e-19 -1.960855699720855e-20 -3.137934154405847e-21 -3.986997450591132e-22 -2.15607488007583e-23 Output of data member Sample output for Gabor G1[3]: 6.33120246385496e-10 1.11580702913062e-09 1.336417282455506e-09 -6.252863277573175e-10 -1.122146803673692e-08 -4.894787058540651e-08 -1.613681970918567e-07 -4.605337337122843e-07 -1.190493388744353e-06 -2.843970950517652e-06 -6.340760204672124e-06 -1.325457633736287e-05 -2.600535700623142e-05 -4.778923164297042e-05 -8.176764204956234e-05 -0.0001286715603551077 -0.0001815480620244426 -0.0002160466139489728 -0.0001747243406119906 5.520052590708325e-05 0.0006689088088404138 0.001970171341012954 0.004385721974072434 0.008451573119658193 0.01475217479097328 0.02379617605171798 0.03582418363049986 0.05056543870838263 0.066989032401539 0.08312351282393059 0.09603471906159379 0.1020427888468203 0.09721747229078144 0.07811836185726791 0.04265913346692989 -0.009100280740407547 -0.07446144261241072 -0.1480885510557007 -0.2225930186451169 -0.2896416089015931 -0.3413755425029475 -0.3718231989157159 -0.3779710766687961 -0.3602375669271601 -0.3222492251403584 -0.2700007814010675 -0.2106310334960235 -0.1511225815027135 -0.09721747229078133 -0.05274801042170897 -0.01944992544503189 0.002801648568946109 0.0154790131447345 0.0207867341979198 0.02109741635547815 0.01853666672069997 0.01475217479097329 0.01084958395701034 0.007447116116220211 0.004792603650022708 0.002894858570769297 0.001637772015371343 0.0008627078294627028 0.0004179493943375787 Output for coefficient of Gabor G1: 0.8918734343845074 -0.3780888914770876 0.1664034359940275 0.1301288698578383 Output for Interval f_approx1 (G1) after multiplying by its coeffients: -0.002486484191127436 0.02946236291254332 0.06112427280321374 0.09069952432041486 0.1166107295607901 0.1376102489185625 0.1528281558959835 0.1617638146434407 0.1642354485333539 0.1603084622230427 0.1502237415487455 0.1343424486476735 0.1131159878309415 0.08708136699643676 0.0568753358027357 0.02325679578157142 -0.01287365046746678 -0.05046610335361609 -0.08833121631422403 -0.1251690399333392 -0.1596151079051755 -0.1902999332905607 -0.2159173423621842 -0.2352973788430575 -0.2474802777658853 -0.2517885179362122 -0.2478935776493999 -0.2358724339515646 -0.2162463244602528 -0.1899917831078492 -0.1585129778578559 -0.1235665418588628 -0.087136421535566 -0.05126644387702283 -0.01787024990471923 0.01145163713131219 0.03555360609831665 0.0538162360805614 0.06613152991390883 0.07280669305911276 0.07441171213227757 0.07161054539207612 0.06501907154824928 0.05512355518855136 0.04227415793834693 0.02674524845544786 0.008835319447267655 -0.01103004991368007 -0.03222640507434116 -0.0539118982745255 -0.07506713614839951 -0.0945823848529937 -0.1113704874015354 -0.1244807033575836 -0.1331923563208726 -0.1370751132333569 -0.1360117603538228 -0.1301868762116271 -0.1200494279415181 -0.1062588885600367 -0.0896237249398607 -0.07103912146171552 -0.05142855702393127 -0.0316919642773023 Case: 7 for RunFFTGaborMP Error for FFT: 0 Output for RecSignal1 and Rf1 after RunFFTGabourMP, respectively: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Output for Gabor G1 after RunFFTGabourMP: 16 40 0.1963495408493621 1.012480534007197 Output for Gabor G1's Sample data member after RunFFTGabourMP: Output of data member Sample output for Gabor G1[0]: 6.33120246385496e-10 1.11580702913062e-09 1.336417282455506e-09 -6.252863277573175e-10 -1.122146803673692e-08 -4.894787058540651e-08 -1.613681970918567e-07 -4.605337337122843e-07 -1.190493388744353e-06 -2.843970950517652e-06 -6.340760204672124e-06 -1.325457633736287e-05 -2.600535700623142e-05 -4.778923164297042e-05 -8.176764204956234e-05 -0.0001286715603551077 -0.0001815480620244426 -0.0002160466139489728 -0.0001747243406119906 5.520052590708325e-05 0.0006689088088404138 0.001970171341012954 0.004385721974072434 0.008451573119658193 0.01475217479097328 0.02379617605171798 0.03582418363049986 0.05056543870838263 0.066989032401539 0.08312351282393059 0.09603471906159379 0.1020427888468203 0.09721747229078144 0.07811836185726791 0.04265913346692989 -0.009100280740407547 -0.07446144261241072 -0.1480885510557007 -0.2225930186451169 -0.2896416089015931 -0.3413755425029475 -0.3718231989157159 -0.3779710766687961 -0.3602375669271601 -0.3222492251403584 -0.2700007814010675 -0.2106310334960235 -0.1511225815027135 -0.09721747229078133 -0.05274801042170897 -0.01944992544503189 0.002801648568946109 0.0154790131447345 0.0207867341979198 0.02109741635547815 0.01853666672069997 0.01475217479097329 0.01084958395701034 0.007447116116220211 0.004792603650022708 0.002894858570769297 0.001637772015371343 0.0008627078294627028 0.0004179493943375787 Output for coefficient of Gabor G1: 0 Output for Interval f_approx1 (G1) after multiplying by its coeffients: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Case: 8 for RunFFTGaborMP Error for FFT: 0.05339058033288442 Output for RecSignal1 and Rf1 after RunFFTGabourMP, respectively: 0.1212932351597774 0.003706764840222553 0.124296108168955 0.0007038918310449834 0.126114212338844 -0.001114212338843959 0.1269155731594893 -0.001915573159489335 0.1269353806181257 -0.001935380618125668 0.1264394644917417 -0.001439464491741712 0.1256867312051682 -0.0006867312051682229 0.1248971879325308 0.0001028120674692265 0.1242303772338476 0.0007696227661523578 0.1237763966587071 0.001223603341292907 0.1235589287586385 0.00144107124136146 0.1235475279107628 0.001452472089237166 0.1236752159341767 0.001324784065823341 0.1238573149190004 0.00114268508099965 0.1240081898622752 0.0009918101377247549 0.1240538104981221 0.0009461895018779442 0.1239393659691317 0.001060634030868321 0.1236322588386253 0.001367741161374678 0.1231214947989717 0.001878505201028348 0.1224147488913146 0.002585251108685368 0.1215343142261027 0.003465685773897277 0.1205128617355678 0.004487138264432183 0.1193895942003336 0.005610405799666427 0.1182070642829977 0.006792935717002339 0.1170086975407188 0.007991302459281197 0.1158369291832853 0.009163070816714667 0.1147318125204416 0.01026818747955836 0.1137299607675327 0.0112700392324673 0.1128637153389659 0.01213628466103408 0.1121604725787328 0.01283952742126724 0.1116421349016673 0.01335786509833273 0.1113246764596899 0.01367532354031009 0.1112178273221123 0.01378217267788768 0.1113248857604726 0.01367511423952741 0.1116426682219214 0.01335733177807854 0.112161603345782 0.01283839665421801 0.112865971668804 0.01213402833119602 0.1137342875750017 0.01126571242499825 0.1147398151838197 0.01026018481618031 0.1158512055284038 0.009148794471596212 0.1170332386567392 0.007966761343260758 0.1182476511118204 0.006752348888179636 0.1194540260505461 0.005545973949453912 0.1206107178763645 0.004389282123635457 0.1216757691100909 0.0033242308899091 0.1226077395429946 0.002392260457005412 0.1233662888101188 0.001633711189881223 0.1239122608776294 0.001087739122370621 0.124207129816137 0.0007928701838629991 0.1242125993906002 0.0007874006093997925 0.1238938305134045 0.001106169486595524 0.123234192730988 0.001765807269012015 0.1222718995253753 0.002728100474624723 0.1211603037819026 0.003839696218097371 0.1202253999591571 0.004774600040842875 0.1199549221368824 0.005045077863117621 0.1208430375180948 0.004156962481905235 0.123082924874505 0.001917075125494979 0.1262424204392862 -0.001242420439286209 0.1291697699900875 -0.004169769990087502 0.1303119177040371 -0.005311917704037106 0.1283631839097677 -0.003363183909767661 0.1228851451269771 0.002114854873022917 0.1145067293678877 0.01049327063211231 Output for Gabor G1 after RunFFTGabourMP: 64 32 0 0 64 32 0.09817477042468103 3.383514237492791e-17 16 0 0.09817477042468103 0.1913341536041721 8 60 6.185010536754906 0.506637072960789 Output for Gabor G1's Sample data member after RunFFTGabourMP: Output of data member Sample output for Gabor G1[0]: 0.07052289746545631 0.07401426453757708 0.07755941227619841 0.08114978835794547 0.08477622503854923 0.08842896815667198 0.09209771204902741 0.09577164031282062 0.09943947228469768 0.1030895150373165 0.1067097206262373 0.1102877482520299 0.1138110309362804 0.1172668462465418 0.1206423905451942 0.1239248561816291 0.1271015109970618 0.130159779467498 0.1330873247737082 0.135872131058228 0.1385025851090048 0.1409675566978415 0.1432564767996229 0.145359412925673 0.1472671408215761 0.1489712118063448 0.1504640150657187 0.1517388342572902 0.1527898978385633 0.1536124225903388 0.1542026498762049 0.1545578742535323 0.1546764641312279 0.1545578742535323 0.1542026498762049 0.1536124225903388 0.1527898978385633 0.1517388342572902 0.1504640150657187 0.1489712118063448 0.1472671408215761 0.145359412925673 0.1432564767996229 0.1409675566978415 0.1385025851090048 0.135872131058228 0.1330873247737082 0.130159779467498 0.1271015109970618 0.1239248561816291 0.1206423905451942 0.1172668462465418 0.1138110309362804 0.1102877482520299 0.1067097206262373 0.1030895150373165 0.09943947228469768 0.09577164031282062 0.09209771204902741 0.08842896815667198 0.08477622503854923 0.08114978835794547 0.07755941227619841 0.07401426453757708 Output of data member Sample output for Gabor G1[1]: 0.100822032813709 0.10530389436332 0.1087511232274739 0.1110190622738325 0.1119733631385775 0.1114935320904297 0.1094764044641846 0.1058394550579137 0.1005238504706682 0.09349715064213476 0.08475557096213261 0.074325723277188 0.06226576386988797 0.04866588886282468 0.03364813224435547 0.01736543847738248 1.112608897643038e-17 -0.01823913064913914 -0.03711912441220772 -0.05638710548873378 -0.07577445866907809 -0.0950016277986003 -0.1137833030947902 -0.1318338816769517 -0.1488730752794738 -0.1646315321049159 -0.1788563364296274 -0.1913162500851041 -0.2018065643616959 -0.2101534391484501 -0.2162176180367539 -0.2198974233561445 -0.2211309532451616 -0.2198974233561445 -0.2162176180367539 -0.2101534391484501 -0.201806564361696 -0.1913162500851042 -0.1788563364296273 -0.1646315321049159 -0.1488730752794739 -0.1318338816769518 -0.1137833030947902 -0.09500162779860034 -0.07577445866907806 -0.05638710548873378 -0.03711912441220781 -0.0182391306491391 -3.337826692929114e-17 0.0173654384773824 0.03364813224435547 0.04866588886282464 0.06226576386988801 0.07432572327718799 0.08475557096213256 0.09349715064213478 0.1005238504706682 0.1058394550579137 0.1094764044641846 0.1114935320904296 0.1119733631385775 0.1110190622738325 0.1087511232274739 0.10530389436332 Output of data member Sample output for Gabor G1[2]: 0.4624790239087349 0.4459647740914208 0.4152248235520504 0.3730020415651523 0.3229318540230042 0.269038511281226 0.2152173885847168 0.1647932810768517 0.1202202492264036 0.0829526935686599 0.05348009770597575 0.03148835067736338 0.01609436024553241 0.006098965755143633 0.0002132026102521119 -0.002770319427432115 -0.003871271116266597 -0.003876284748641417 -0.003340759541788559 -0.002620556123589522 -0.001917404771396805 -0.001325653183883971 -0.000872694733553192 -0.000549696944740757 -0.0003323738007510025 -0.0001933535214682926 -0.0001083904252007885 -5.861838047251662e-05 -3.060715230439911e-05 -1.543777341804623e-05 -7.524011173344163e-06 -3.543743742019579e-06 -1.612822688935125e-06 -7.090894961374717e-07 -3.010160946296533e-07 -1.232887723491614e-07 -4.866638827864105e-08 -1.848581461859392e-08 -6.742289732924981e-09 -2.353832018585039e-09 -7.829238100645809e-10 -2.463078657626417e-10 -7.240122128362315e-11 -1.943611790567974e-11 -4.529385038241136e-12 -7.825779905402285e-13 -1.247296959466655e-14 7.389466852657138e-14 4.708068321797456e-14 2.149367873772358e-14 8.445905344181974e-15 3.020649737695573e-15 1.007689235247994e-15 3.176498438529842e-16 9.534260058088711e-17 2.738128799563682e-17 7.548544939685443e-18 2.002140077930787e-18 5.117280281655e-19 1.261792703309636e-19 3.00388313348988e-20 6.907973799821649e-21 1.535045888058344e-21 3.296401868695197e-22 Output of data member Sample output for Gabor G1[3]: 1.114405062426745e-77 4.026666926783673e-75 1.303854428279894e-72 3.786603149312392e-70 9.86837619046937e-68 2.30864455799426e-65 4.848842153120454e-63 9.142414747841429e-61 1.547084307261513e-58 2.348510119650435e-56 3.195809146695533e-54 3.894248210552228e-52 4.243043648310804e-50 4.125091907279919e-48 3.567687911593315e-46 2.732775764083052e-44 1.841126329858262e-42 1.078535008103986e-40 5.378508286387355e-39 2.180819624663344e-37 6.278151312353782e-36 4.206126420569102e-35 -9.622036947950031e-33 -8.336254626962083e-31 -4.597098458892665e-29 -2.006458360860619e-27 -7.37556622808695e-26 -2.344830772359179e-24 -6.536894897314412e-23 -1.610936793080378e-21 -3.527326549386293e-20 -6.885692376452074e-19 -1.201164934350893e-17 -1.875551193614796e-16 -2.624435886659109e-15 -3.293671631890263e-14 -3.709367396918765e-13 -3.7500311334547e-12 -3.403607661041341e-11 -2.773230777750758e-10 -2.027975571186813e-09 -1.330346650023812e-08 -7.823063690758725e-08 -4.119488604126954e-07 -1.939638618184837e-06 -8.14893020645052e-06 -3.045632317094094e-05 -0.0001008133993007374 -0.000293509049799712 -0.0007430119525319126 -0.001601205384767363 -0.002805618345485178 -0.003490312163979367 -0.001010504984726001 0.009989570236531103 0.03740024112371771 0.08912732707399973 0.1681050942331359 0.2670359521871283 0.3668677365185337 0.4419703789734361 0.4706779013350509 0.4453634996723005 0.3756991532993044 Output for coefficient of Gabor G1: 0.9773700239938166 0.18069923032311 0.07383644160592477 0.06158936743996155 Output for Interval f_approx1 (G1) after multiplying by its coeffients: 0.1212932351597774 0.124296108168955 0.126114212338844 0.1269155731594893 0.1269353806181257 0.1264394644917417 0.1256867312051682 0.1248971879325308 0.1242303772338476 0.1237763966587071 0.1235589287586385 0.1235475279107628 0.1236752159341767 0.1238573149190004 0.1240081898622752 0.1240538104981221 0.1239393659691317 0.1236322588386253 0.1231214947989717 0.1224147488913146 0.1215343142261027 0.1205128617355678 0.1193895942003336 0.1182070642829977 0.1170086975407188 0.1158369291832853 0.1147318125204416 0.1137299607675327 0.1128637153389659 0.1121604725787328 0.1116421349016673 0.1113246764596899 0.1112178273221123 0.1113248857604726 0.1116426682219214 0.112161603345782 0.112865971668804 0.1137342875750018 0.1147398151838197 0.1158512055284038 0.1170332386567392 0.1182476511118204 0.1194540260505461 0.1206107178763645 0.1216757691100909 0.1226077395429946 0.1233662888101188 0.1239122608776294 0.124207129816137 0.1242125993906002 0.1238938305134045 0.123234192730988 0.1222718995253753 0.1211603037819026 0.1202253999591571 0.1199549221368824 0.1208430375180948 0.123082924874505 0.1262424204392862 0.1291697699900875 0.1303119177040371 0.1283631839097677 0.1228851451269771 0.1145067293678877 Case: 9 for RunFFTGaborMP Error for FFT: 0.1120863754437434 Output for RecSignal1 and Rf1 after RunFFTGabourMP, respectively: 0.1668827930498045 0.04957071924977184 0.1693400904677482 0.04034924957246643 0.171261950947881 0.03166321683297183 0.1725145933321722 0.02364640218931892 0.1729734478205459 0.01642337544158341 0.1725299778638781 0.01010267313888946 0.1710981067131377 0.004770372030268082 0.1686198364587133 0.0004844700253307316 0.1650696698950363 -0.002729535670354057 0.1604574966299985 -0.004881534664678023 0.1548296833850283 -0.006017893679069563 0.1482682111096207 -0.006220593663023744 0.1408878229469291 -0.00560437775969385 0.132831279882399 -0.004312006954525507 0.1242629561624495 -0.00250785549393786 0.1153611343245368 -0.0003702059153868097 0.1063094696160486 0.001917286533739535 0.0972881758136061 0.004174408076820312 0.08846553038638086 0.006232881244683804 0.07999030010477735 0.007943939266925538 0.07198564499865566 0.009184422113685479 0.06454496893261442 0.009860925920364952 0.05773005276963158 0.009911669823986035 0.05157163884974054 0.009305911484515298 0.04607244467832079 0.008040933396573293 0.04121238366102162 0.006136822154510708 0.03695557780219295 0.00362945575397761 0.03325857856684731 0.0005622827299614965 0.0300790838587824 -0.003022394821335364 0.02738436517548512 -0.007091848397399837 0.02515860946345189 -0.01163026494472837 0.02340843986072366 -0.0166442676013619 0.02216600719424063 -0.02216600719424063 0.02148923224161649 -0.01472505998225473 0.02145901370776211 -0.007930669189038585 0.02217347974814305 -0.001880962970057767 0.0237396291475405 0.003317059889906547 0.02626295769875079 0.007557903598058022 0.0298358722861796 0.01074916126999097 0.0345258389882066 0.01282336682732573 0.04036427651725434 0.01374910155763975 0.04733718299293014 0.01354036734132572 0.05537836719221798 0.01226335540139963 0.06436593373672227 0.0100399611162571 0.0741222955459475 0.007047771566393642 0.08441729926564205 0.003516940106060833 0.09497271324058094 -0.0002743016095162781 0.1054639789178373 -0.004001395027410889 0.1155123347735635 -0.007285578623775342 0.1246609904063069 -0.009670061997156941 0.1323421701052292 -0.01058706943671754 0.1378779621216677 -0.009358689193794262 0.1406094693471037 -0.005326024159868495 0.1402623821738253 0.001785235272771661 0.1375391190213553 0.01127267068460348 0.1346393230170134 0.0209366389483071 0.135120145896332 0.02721998832835029 0.1425988094345846 0.02650549704945946 0.1585323934672624 0.01733608527614334 0.1803295279668607 0.002303123035906892 0.2013955599858148 -0.01199873672368548 0.2136889669619201 -0.01752797144042907 0.2115169687708118 -0.008591800989958971 0.1941991839887782 0.01549015605143643 Output for Gabor G1 after RunFFTGabourMP: 64 0 0 0 32 48 0.09817477042468103 0.6004107124919068 8 60 6.185010536754906 0.9129449976996106 64 32 0.1963495408493621 -0.8360076133164931 Output for Gabor G1's Sample data member after RunFFTGabourMP: Output of data member Sample output for Gabor G1[0]: 0.207983531792674 0.2078240715817329 0.2073464241193968 0.2065527833016787 0.2054467869639552 0.2040334891038077 0.2023193214096513 0.2003120445049194 0.1980206894249576 0.1954554899441063 0.192627806462415 0.1895500422438337 0.1862355528695492 0.1826985498305171 0.1789539992315231 0.1750175166148007 0.1709052589340726 0.1666338147197843 0.1622200934733858 0.1576812153130941 0.1530344018661463 0.1482968693637695 0.1434857248457985 0.1386178663229884 0.1337098876777056 0.1287779890089729 0.1238378930470665 0.1189047681772898 0.1139931585235159 0.1091169214509218 0.1042891727553467 0.09952223971516731 0.09482762209171132 0.09021596107717085 0.08569701610577504 0.08127964936558869 0.07697181777554792 0.07278057212593554 0.06871206302101565 0.06477155321043496 0.06096343585157475 0.05729125820847975 0.05375775026435869 0.05036485770388004 0.04711377870839323 0.04400500400151635 0.04103835958386233 0.03821305160357997 0.03552771282333227 0.03298045016374838 0.03056889282764034 0.0282902405377222 0.02614131145253674 0.0241185893601096 0.02221826978584493 0.02043630468969929 0.018768445467096 0.01721028400777881 0.01575729160630421 0.01440485555662863 0.01314831330081228 0.01198298403783485 0.01090419773256012 0.009907321496711231 Output of data member Sample output for Gabor G1[1]: 0.0002215324522127875 0.0002751663107611115 0.0003341287428982356 0.0003953153569294338 0.0004534336168352121 0.0005002615341339075 0.000523788471381283 0.0005072584970164112 0.0004281540728596229 0.000257178478239376 -4.268159926833534e-05 -0.0005169079214463831 -0.001219888849822633 -0.002214896777699607 -0.003573446132036025 -0.005373872230663756 -0.007698984510693256 -0.01063267822698088 -0.01425543887783072 -0.0186387441598437 -0.02383845809353634 -0.02988741770341714 -0.03678752835660616 -0.04450180111810186 -0.05294687361372254 -0.06198664268286608 -0.07142768974032013 -0.081017186103536 -0.09044391554628328 -0.09934293858867599 -0.1073042460884964 -0.1138855131659029 -0.1186287795878864 -0.1210805671966749 -0.1208146222129787 -0.1174561678008073 -0.1107062994841751 -0.1003649812302648 -0.086351027636622 -0.06871750511640454 -0.04766116024211742 -0.02352478326054472 0.003208175888467673 0.03192692941155447 0.06191426248604577 0.09237414071241334 0.1224646195864598 0.1513342442891835 0.178159834146481 0.2021834034239435 0.2227459938934098 0.2393163853640289 0.2515129936992282 0.2591177336726293 0.2620811773210381 0.2605189310582214 0.2546997379116435 0.2450263380914976 0.2320105513876611 0.216244348319391 0.198368835678297 0.1790430917517795 0.1589146558845869 0.1385932264226149 Output of data member Sample output for Gabor G1[2]: 1.592001311953547e-77 6.149490364324709e-75 2.109312855044555e-72 6.447705018628402e-70 1.760766798616071e-67 4.303128153797149e-65 9.422952099553175e-63 1.850483620138294e-60 3.260858383318201e-58 5.157983901592728e-56 7.32478755661525e-54 9.338147311580555e-52 1.068506958844327e-49 1.096866755361295e-47 1.009465791367789e-45 8.320640594313957e-44 6.133887983791753e-42 4.03611084380714e-40 2.363736584840078e-38 1.226923517780804e-36 5.607953049531691e-35 2.233222716254683e-33 7.600101919572607e-32 2.122223413252488e-30 4.341556425253356e-29 3.270626643801727e-28 -2.264592340863063e-26 -1.467900412904419e-24 -5.625328330602466e-23 -1.680783426753482e-21 -4.206092055564586e-20 -9.079035768687477e-19 -1.715943525234038e-17 -2.864325309902024e-16 -4.245685893227628e-15 -5.608357219717956e-14 -6.618445456782777e-13 -6.989757038218258e-12 -6.614369150999239e-11 -5.613197684236315e-10 -4.27445428243957e-09 -2.921812661970565e-08 -1.79304448251952e-07 -9.878258743106539e-07 -4.884506342513809e-06 -2.166810058084005e-05 -8.617518441566082e-05 -0.0003069523938616878 -0.0009778533957737982 -0.002780511134232207 -0.007036946949392326 -0.01578433672855704 -0.03117718221491045 -0.05365227910759941 -0.07890403283739612 -0.09521262356515517 -0.08417294582309237 -0.02740196412162266 0.08199066395135275 0.2296648902193256 0.3803378413117369 0.4910854474869444 0.5310650577945721 0.4953729944043074 Output of data member Sample output for Gabor G1[3]: 0.0668434653080834 0.08395127188164807 0.09905117882885497 0.1112454136344163 0.1196996176739741 0.1236918260847699 0.1226593198075543 0.1162404950954838 0.1043089765786044 0.08699745969018291 0.06470920277699903 0.03811568236248609 0.008139648926992045 -0.02407636319335457 -0.05721515651883248 -0.08984185204098905 -0.1204701699203235 -0.1476347715187199 -0.1699659141184587 -0.1862623640408085 -0.1955584419672651 -0.1971812503315833 -0.1907945551667371 -0.1764264459716809 -0.1544787435996853 -0.1257171205959099 -0.09124198249597031 -0.05244126659824475 -0.01092737775737377 0.0315385686208401 0.07313124937606955 0.1120498832784936 0.1466064389824179 0.175308505785669 0.196932310347826 0.2105819107632192 0.2157313839747561 0.2122477949081706 0.2003938353392522 0.1808101788669648 0.1544787435996853 0.1226691158845039 0.08687130237004843 0.048718689969371 0.009905563713760916 -0.02789626292443624 -0.06311721844361047 -0.09436198684360671 -0.1204701699203235 -0.140562759884159 -0.1540724800450785 -0.1607570282100772 -0.1606952525187213 -0.1542672413852169 -0.1421201619199903 -0.125122387253159 -0.1043089765786045 -0.08082188973884812 -0.05584842214283586 -0.0305612410745731 -0.00606310920385054 0.01666107548814008 0.03678287451730298 0.05365815065995919 Output for coefficient of Gabor G1: 0.7539286971470374 0.5996845464984008 0.193054766924798 0.1487832843994077 Output for Interval f_approx1 (G1) after multiplying by its coeffients: 0.1668827930498045 0.1693400904677482 0.171261950947881 0.1725145933321722 0.1729734478205459 0.1725299778638781 0.1710981067131377 0.1686198364587133 0.1650696698950363 0.1604574966299985 0.1548296833850283 0.1482682111096207 0.1408878229469291 0.132831279882399 0.1242629561624495 0.1153611343245368 0.1063094696160486 0.0972881758136061 0.08846553038638086 0.07999030010477734 0.07198564499865566 0.06454496893261442 0.05773005276963157 0.05157163884974054 0.04607244467832079 0.04121238366102162 0.03695557780219295 0.03325857856684731 0.0300790838587824 0.02738436517548512 0.02515860946345189 0.02340843986072366 0.02216600719424062 0.02148923224161648 0.02145901370776212 0.02217347974814306 0.02373962914754049 0.02626295769875078 0.0298358722861796 0.03452583898820659 0.04036427651725434 0.04733718299293013 0.05537836719221798 0.06436593373672227 0.0741222955459475 0.08441729926564205 0.09497271324058094 0.1054639789178373 0.1155123347735635 0.1246609904063069 0.1323421701052293 0.1378779621216678 0.1406094693471037 0.1402623821738253 0.1375391190213553 0.1346393230170134 0.135120145896332 0.1425988094345846 0.1585323934672624 0.1803295279668607 0.2013955599858148 0.2136889669619201 0.2115169687708118 0.1941991839887782 SHAR_EOF fi # end of overwriting check if test -f 'driver1.cc' then echo shar: will not over-write existing file "'driver1.cc'" else cat << "SHAR_EOF" > 'driver1.cc' /* This main tests RunShiftGabor and RunFFTGabor Last Modified December 10, 2000 Partition for RunShiftGabor not exactly the same as for RunFFTGabor */ #include #include #include #include #include #include "Gabor.h" #include "ShiftGaborMP.h" #include "Partition.h" #include "FFTGaborMP.h" #include "input_maker.h" #include #include #define STRSIZE 80 char pauseABit[1]; /* variable to hold user input */ int main() { int m = 6; int dim = 1< G; vector Gcoef; Interval f_approx(0, dim-1); RealGabor Gtemp; Partition Part( dim, (2.0) ); real *Ip1, *Ip2; real input1, input2, input3, input4; /* holds the input values from the data file */ double difference1, difference2, difference3, difference4; /* holds the absolute difference */ Interval CleanSignal(0, dim-1); Input_maker(inp, CleanSignal); /* select a case to test */ cout << "Case " << inp << " for RunShiftGaborMP" << endl; error = RunShiftGaborMP(max_iter, epsilon, CleanSignal, Part, RecSignal, Rf, G, Gcoef); infile.precision(16); cout.precision(16); /* passover irrelevant text in data file */ memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE, '\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE, '\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE, ':'); infile >> input1; /* get input value */ difference1 = fabs(input1-error); if (difference1 > threshold) { cout << "Case " << inp << " of error tolerance for RunShiftGaborMP failed." << endl; return 1; } if (difference1 > biggest) biggest = difference1; if (difference1 > biggest_in_case) biggest_in_case = difference1; memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE, '\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE, '\n'); Ip1 = RecSignal.origin; Ip2 = Rf.origin; for (int i=0; i> input1 >> input2; difference1 = fabs(input1-Ip1[i]); difference2 = fabs(input2-Ip2[i]); if (difference1 > threshold || difference2 > threshold) { cout << "Case " << inp << " of RecSignal and Rf for RunShiftGaborMP failed." << endl; return 1; } if (difference1 > biggest) biggest = difference1; if (difference1 > biggest_in_case) biggest_in_case = difference1; if (difference2 > biggest) biggest = difference2; if (difference2 > biggest_in_case) biggest_in_case = difference2; } memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); for (unsigned int i=0; i> input1 >> input2 >> input3 >> input4; difference1 = fabs(input1-G[i].s); difference2 = fabs(input2-G[i].u); difference3 = fabs(input3-G[i].v); difference4 = fabs(input4-G[i].w); if (difference1 > threshold || difference2 > threshold || difference3 > threshold || difference4 > threshold) { cout << "Case " << inp << " of Gabor G1 for RunFFTGaborMP, minor parameter variation." << endl; } } memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); for (unsigned int i=0; i> input1; difference1 = fabs(input1-Ip1[j]); if (difference1 > threshold) { cout << "Case " << inp << " of Gabor G Sample member for RunShiftGaborMP failed." << endl; return 1; } if (difference1 > biggest) biggest = difference1; if (difference1 > biggest_in_case) biggest_in_case = difference1; } } memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); for (unsigned int i=0; i> input1; difference1 = fabs(Gcoef[i]-input1); if (difference1 > threshold) { cout << "Case " << inp << " of coefficient for RunShiftGaborMP failed." << endl; return 1; } if (difference1 > biggest) biggest = difference1; if (difference1 > biggest_in_case) biggest_in_case = difference1; } for(unsigned int z=0; z < G.size(); z++) { Gtemp = G[z]; coef = Gcoef[z]; f_approx += Gtemp.Sample * coef; } memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); Ip1 = f_approx.origin; for (int i=0; i> input1; difference1 = fabs(input1-Ip1[i]); if (difference1 > threshold) { cout << "Case " << inp << " of Interval f_approx for RunShiftGaborMP failed." << endl; return 1; } if (difference1 > biggest) biggest = difference1; if (difference1 > biggest_in_case) biggest_in_case = difference1; } if (biggest > Run_largest[1]) { Run_largest[0] = inp; Run_largest[1] = biggest; } cout << "Case " << inp << " passed." << endl; cout << "The largest deviated value for this case is: " << biggest_in_case << endl; biggest_in_case = -1; // cout << endl << "Press 'y' to continue, Control-C to quit: "; // cin >> pauseABit; memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); // cout << endl; } /* end of RunShiftGaborMP loop */ cout << "All cases for RunShiftGaborMP passed" << endl; cout << "The largest deviated value came from case " << Run_largest[0] << ": " << Run_largest[1] << endl; // cout << endl << "Press 'y' to continue, Control-C to quit: "; // cin >> pauseABit; /* the RunFFTGaborMP test cases */ biggest_in_case = -1; cout << endl << "*************** Start of RunFFTGaborMP tests ***************" << endl << endl; for( int inp = 1 ; inp <= 9; inp++) { Interval RecSignal1, Rf1; vector G1; vector Gcoef1; Interval f_approx1(0, dim-1); RealGabor Gtemp1; Partition Part( dim, (2.0) ); real *Ip1, *Ip2; real input1, input2, input3, input4; double difference1, difference2, difference3, difference4; Interval CleanSignal(0, dim-1); Input_maker(inp, CleanSignal); cout << "Case " << inp << " for RunFFTGaborMP" << endl; error1 = RunFFTGaborMP(max_iter, epsilon, CleanSignal, RecSignal1,Rf1, G1, Gcoef1); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,':'); infile >> input1; difference1 = fabs(input1-error1); if (difference1 > threshold) { cout << "Case " << inp << " of error tolerance for RunFFTGaborMP failed." << endl; return 1; } if (difference1 > biggest) biggest = difference1; if (difference1 > biggest_in_case) biggest_in_case = difference1; memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); Ip1 = RecSignal1.origin; Ip2 = Rf1.origin; for (int i=0; i> input1 >> input2; difference1 = fabs(input1-Ip1[i]); difference2 = fabs(input2-Ip2[i]); if (difference1 > threshold || difference2 > threshold) { cout << "Case " << inp << " of RecSignal1 and Rf1 for RunFFTGaborMP failed." << endl; return 1; } if (difference1 > biggest) biggest = difference1; if (difference1 > biggest_in_case) biggest_in_case = difference1; if (difference2 > biggest) biggest = difference2; if (difference2 > biggest_in_case) biggest_in_case = difference2; } memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); for (unsigned int i=0; i> input1 >> input2 >> input3 >> input4; difference1 = fabs(input1-G1[i].s); difference2 = fabs(input2-G1[i].u); difference3 = fabs(input3-G1[i].v); difference4 = fabs(input4-G1[i].w); if (difference1 > threshold || difference2 > threshold || difference3 > threshold || difference4 > threshold) { cout << "Case " << inp << " of Gabor G1 for RunFFTGaborMP, minor parameter variation." << endl; } } memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); for (unsigned int i=0; i> input1; difference1 = fabs(input1-Ip1[j]); if (difference1 > threshold) { cout << "Case " << inp << " of Gabor G1 Sample member for RunFFTGaborMP failed." << endl; return 1; } if (difference1 > biggest) biggest = difference1; if (difference1 > biggest_in_case) biggest_in_case = difference1; } } memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); for (unsigned int i=0; i> input1; difference1 = fabs(input1-Gcoef1[i]); if (difference1 > threshold) { cout << "Case " << inp << " of coefficient for RunFFTGaborMP failed." << endl; return 1; } if (difference1 > biggest) biggest = difference1; if (difference1 > biggest_in_case) biggest_in_case = difference1; } for(unsigned int z=0; z < G1.size(); z++) { Gtemp1 = G1[z]; coef1 = Gcoef1[z]; f_approx1 += Gtemp1.Sample * coef1; } memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); memset(str, '\0', STRSIZE); infile.getline(str, STRSIZE,'\n'); Ip1 = f_approx1.origin; for (int i=0; i> input1; difference1 = fabs(input1-Ip1[i]); if (difference1 > threshold) { cout << "Case " << inp << " of Interval f_approx for RunShiftGaborMP failed." << endl; return 1; } if (difference1 > biggest) biggest = difference1; if (difference1 > biggest_in_case) biggest_in_case = difference1; } if (biggest > FFT_largest[1]) { FFT_largest[0] = inp; FFT_largest[1] = biggest; } cout << "Case " << inp << " passed." << endl; cout << "The largest deviated value for this case is: " << biggest_in_case << endl; biggest_in_case = -1; /// cout << endl << "Press 'y' to continue, Control-C to quit: "; /// cin >> pauseABit; /// cout << endl; } /* end of RunFFTGaborMP loop */ cout << "All cases for RunFFTGaborMP passed" << endl; cout << "The largest deviated value came from case " << FFT_largest[0] << ": " << FFT_largest[1] << endl; cout << endl << "**************************** SUMMARY ****************************" << endl << endl; cout << "The largest deviated value for all cases from RunShiftGaborMP is: " << endl; cout << Run_largest[1] << " from case: " << Run_largest[0] << endl << endl; cout << "The largest deviated value for all cases from RunFFTGaborMP is: " << endl; cout << FFT_largest[1] << " from case: " << FFT_largest[0] << endl; cout << endl << "All test cases passed." << endl << endl; } SHAR_EOF fi # end of overwriting check if test -f 'driver2.cc' then echo shar: will not over-write existing file "'driver2.cc'" else cat << "SHAR_EOF" > 'driver2.cc' //file: demoMP.cc //it will run both implementations of MP up // a max_iter number of components or quiting //by epsilon. The functionality of the code //below should be clear once the MP is understood. #include #include #include "input_maker.h" #include #include "Interval.h" #include "Gabor.h" #include "Partition.h" #include "ShiftGaborMP.h" #include "FFTGaborMP.h" int main( int argc, char* argv[]) { if( argc != 2 ) { cout << "Must give parameter m to MPDemo. E.g. type: MPDemo 7\n" << "Alternatively, if you want results to go to a file with \n " << "a different suffix, say .temp, then type : main 7.temp \n" << "In this case results will go to file results_for_m=7.temp" << endl; exit(1); } int m = atoi( argv[1] ); cout << "m = " << m << endl; int dim = 1< G, G1; vector Gcoef, Gcoef1; Interval f_approx(0, dim-1), f_approx1(0, dim-1); //This will be the approximation to the //original given by MP RealGabor Gtemp, Gtemp1; real scale = 2.0; // Choose the scale variable scales = a^j Partition Part(dim, scale); cout << endl << "////////////// Analysis of function number " << inp << "///////////" << endl << endl; cout << "****************** For Shift Gabor ***********************" << endl << endl; clock_t timer = clock(); error = RunShiftGaborMP( max_iter, epsilon, CleanSignal, Part, RecSignal, Rf, G, Gcoef); timer = clock() - timer; timer /= CLOCKS_PER_SEC; cout << endl << "time to execute Shift Matching Pursuit = " << timer << " seconds (approximately) " << endl; cout <<"for " << G.size() << " iteration(s) of matching pursuit" << endl << endl; cout << "error for Shift, scale = "<< scale << ": " << error << endl << endl; cout << "****************** For FFT Gabor ***********************" << endl << endl; timer = clock(); error1 = RunFFTGaborMP(max_iter, epsilon, CleanSignal, RecSignal1,Rf1, G1, Gcoef1); timer = clock() - timer; timer /= CLOCKS_PER_SEC; cout << endl << "time to execute FFT Matching Pursuit= " << timer << " seconds (approximately) " << endl; cout <<"for " << G1.size() << " iteration(s) of matching pursuit" << endl << endl; cout << "error for FFT" << " : " << error1 << endl << endl; outfile << "********* INPUT_MAKER " << inp << " *********" << endl; outfile << "number of iterations performed for Shift " << G.size() << " error = " << error << endl; outfile << "number of iterations performed for FFT " << G1.size() << " error = " << error << endl; for(unsigned int z = 0; z < G.size(); z++) //Here the synthesis is done one Gabor at a time to facilitate the //step by step viewing of the reconstruction for Shift MP. { Gtemp = G[z]; coef = Gcoef[z]; outfile << "iteration " << z << endl; outfile << "\t\tcoeficient for shift: "<< coef <> operators. cout << "Point values of Shift MP reconstruction " << endl; cout << Rf << endl; cout << "Point values of FFT MP reconstruction " << endl; cout << Rf1 << endl; } outfile << "\n\n\n"; return 0; } SHAR_EOF fi # end of overwriting check if test -f 'input_maker.cc' then echo shar: will not over-write existing file "'input_maker.cc'" else cat << "SHAR_EOF" > 'input_maker.cc' // input_maker.cc #include #include #include "input_maker.h" void Input_maker(int type, Interval &In) { int i,j; real var, norm = 0; const real t[11] = {.1, .13, .15, .23, .25, .40, .44, .65, .76, .78, .81}; const real h[11] = {4, -5, 3, -4, 5, -4.2, 2.1, 4.3, -3.1, 5.1, -7.2}; const real w[11] = {.005, .005, .006, .01, .01, .03, .01, .01, .005, .008, .005}; char *p = "./ac1"; switch(type) { case 1: /* Chirp */ for(i=In.beg; i<=In.end; i++) { var = (1.0*i)/In.length; In.origin[i] = 10.0*(var*var*(1-var)*(1-var))*cos(200*var*var); norm += In.origin[i]*In.origin[i]; } break; case 2: /* Doppler */ for(i=In.beg; i<=In.end; i++) { var = (1.0*i)/In.length; In.origin[i] = sin(2.0*3.1415926*(1+.05)/(.05 + var)); norm += In.origin[i]*In.origin[i]; } break; case 3: /* Polynomial */ for(i=In.beg; i<=In.end; i++) { var = (1.0*i)/In.length; In.origin[i]= -96.0*(i)/In.length*(var-1)*(var-1)*(var-1)*(var-.5)*(var-.5); norm += In.origin[i]*In.origin[i]; } break; case 4: /* Blocks */ for(i=In.beg; i<=In.end; i++) { var = (1.0*i)/In.length; In.origin[i] = 0; for(j=0;j<11;j++) { In.origin[i] += ( h[j]*0.5*(1 + signum(var-t[j])) ); } norm += In.origin[i]*In.origin[i]; } break; case 5: /* Bumps */ for(i=In.beg; i<=In.end; i++) { var = (1.0*i)/In.length; In.origin[i] = 0; for(j=0; j<11; j++) { In.origin[i] += ( h[j]*(funct((var-t[j])/w[j])) ); } norm += In.origin[i]*In.origin[i]; } break; case 6: /* Heavisine */ for(i=In.beg; i<=In.end; i++) { var = (1.0*i)/In.length; In.origin[i] = 4*sin(4*Pi*var) - signum(var - 0.3) - signum(.72 - var); norm += In.origin[i]*In.origin[i]; } break; case 7: /* Zeros */ for(i=In.beg; i<=In.end; i++) In.origin[i] = 0.0; break; case 8: // constant for(i=In.beg; i<=In.end; i++) { In.origin[i] = 1.0; norm += In.origin[i]*In.origin[i]; } break; case 9: /* tent */ for(i=In.beg; i<=In.end; i++) { var = (1.0*i)/In.length; In.origin[i] = fabs(var - 0.5); norm += In.origin[i]*In.origin[i]; } break; case 10: /* data */ ReadFromFile(In, p); for(i=In.beg; i<=In.end; i++) { norm += In.origin[i]*In.origin[i]; } break; default: cout << "You goofed in Input_maker" << endl; exit(1); break; } if (norm > 0) norm = (1.0)/sqrt(norm); for(int i=In.beg; i<=In.end; i++) In.origin[i] *= norm; return; } //////////////////////////////////////////////////////// int signum(real x) { int j; j = (x>0 ? 1:(x<0 ? -1:0)); return j; } ////////////////////////////////////////////////////////// real funct(real x) { return 1.0/(1.0 + x*x*x*x); } ////////////////////////////////////////////////////////// SHAR_EOF fi # end of overwriting check if test -f 'input_maker.h' then echo shar: will not over-write existing file "'input_maker.h'" else cat << "SHAR_EOF" > 'input_maker.h' // input_maker.h #include "Interval.h" #ifndef INPUTMAKER_H #define INPUTMAKER_H void Input_maker(int type, Interval &In); // function for making 6 different // clean signals // type is an integer between 1 and 6 // on input In is predefined all 0 interval so that // In.length = desired length of the signal // on output In is filled up with a signal int signum(real x); // utility const real Pi = 3.141592654; real funct(real x); // utility #endif SHAR_EOF fi # end of overwriting check if test -f 'res1' then echo shar: will not over-write existing file "'res1'" else cat << "SHAR_EOF" > 'res1' *************** Start of RunShiftGaborMP tests *************** Case 1 for RunShiftGaborMP Case 1 of Gabor G1 for RunFFTGaborMP, minor parameter variation. Case 1 of Gabor G1 for RunFFTGaborMP, minor parameter variation. Case 1 passed. The largest deviated value for this case is: 1.711131236703523e-14 Case 2 for RunShiftGaborMP Case 2 of Gabor G1 for RunFFTGaborMP, minor parameter variation. Case 2 passed. The largest deviated value for this case is: 5.32768273941997e-14 Case 3 for RunShiftGaborMP Case 3 of Gabor G1 for RunFFTGaborMP, minor parameter variation. Case 3 passed. The largest deviated value for this case is: 4.787142904305597e-14 Case 4 for RunShiftGaborMP Case 4 of Gabor G1 for RunFFTGaborMP, minor parameter variation. Case 4 passed. The largest deviated value for this case is: 1.169897512198759e-14 Case 5 for RunShiftGaborMP Case 5 of Gabor G1 for RunFFTGaborMP, minor parameter variation. Case 5 passed. The largest deviated value for this case is: 1.5931700403371e-14 Case 6 for RunShiftGaborMP Case 6 passed. The largest deviated value for this case is: 1.057487430955462e-14 Case 7 for RunShiftGaborMP Case 7 passed. The largest deviated value for this case is: 6.938893903907228e-18 Case 8 for RunShiftGaborMP Case 8 passed. The largest deviated value for this case is: 2.220446049250313e-16 Case 9 for RunShiftGaborMP Case 9 passed. The largest deviated value for this case is: 1.600716087457599e-14 All cases for RunShiftGaborMP passed The largest deviated value came from case 2: 5.32768273941997e-14 *************** Start of RunFFTGaborMP tests *************** Case 1 for RunFFTGaborMP Case 1 of Gabor G1 for RunFFTGaborMP, minor parameter variation. Case 1 passed. The largest deviated value for this case is: 1.838806884535416e-14 Case 2 for RunFFTGaborMP Case 2 passed. The largest deviated value for this case is: 1.251602987917266e-15 Case 3 for RunFFTGaborMP Case 3 passed. The largest deviated value for this case is: 4.440892098500626e-16 Case 4 for RunFFTGaborMP Case 4 of Gabor G1 for RunFFTGaborMP, minor parameter variation. Case 4 passed. The largest deviated value for this case is: 1.032507412901396e-14 Case 5 for RunFFTGaborMP Case 5 of Gabor G1 for RunFFTGaborMP, minor parameter variation. Case 5 of Gabor G1 for RunFFTGaborMP, minor parameter variation. Case 5 passed. The largest deviated value for this case is: 9.173217740965356e-15 Case 6 for RunFFTGaborMP Case 6 passed. The largest deviated value for this case is: 5.828670879282072e-16 Case 7 for RunFFTGaborMP Desired precision achieved in 1 iterations. Case 7 passed. The largest deviated value for this case is: 5.828670879282072e-16 Case 8 for RunFFTGaborMP Case 8 passed. The largest deviated value for this case is: 2.048361480433414e-14 Case 9 for RunFFTGaborMP Case 9 passed. The largest deviated value for this case is: 6.061817714453355e-14 All cases for RunFFTGaborMP passed The largest deviated value came from case 9: 6.061817714453355e-14 **************************** SUMMARY **************************** The largest deviated value for all cases from RunShiftGaborMP is: 5.32768273941997e-14 from case: 2 The largest deviated value for all cases from RunFFTGaborMP is: 6.061817714453355e-14 from case: 9 All test cases passed. SHAR_EOF fi # end of overwriting check if test -f 'res1.old' then echo shar: will not over-write existing file "'res1.old'" else cat << "SHAR_EOF" > 'res1.old' *************** Start of RunShiftGaborMP tests *************** Case 1 for RunShiftGaborMP Case 1 of Gabor G1 for RunFFTGaborMP, minor parameter variation. Case 1 of Gabor G1 for RunFFTGaborMP, minor parameter variation. Case 1 passed. The largest deviated value for this case is: 1.711131236703523e-14 Case 2 for RunShiftGaborMP Case 2 of Gabor G1 for RunFFTGaborMP, minor parameter variation. Case 2 passed. The largest deviated value for this case is: 5.32768273941997e-14 Case 3 for RunShiftGaborMP Case 3 of Gabor G1 for RunFFTGaborMP, minor parameter variation. Case 3 passed. The largest deviated value for this case is: 4.787142904305597e-14 Case 4 for RunShiftGaborMP Case 4 of Gabor G1 for RunFFTGaborMP, minor parameter variation. Case 4 passed. The largest deviated value for this case is: 1.169897512198759e-14 Case 5 for RunShiftGaborMP Case 5 of Gabor G1 for RunFFTGaborMP, minor parameter variation. Case 5 passed. The largest deviated value for this case is: 1.5931700403371e-14 Case 6 for RunShiftGaborMP Case 6 passed. The largest deviated value for this case is: 1.057487430955462e-14 Case 7 for RunShiftGaborMP Case 7 passed. The largest deviated value for this case is: 6.938893903907228e-18 Case 8 for RunShiftGaborMP Case 8 passed. The largest deviated value for this case is: 2.220446049250313e-16 Case 9 for RunShiftGaborMP Case 9 passed. The largest deviated value for this case is: 1.600716087457599e-14 All cases for RunShiftGaborMP passed The largest deviated value came from case 2: 5.32768273941997e-14 *************** Start of RunFFTGaborMP tests *************** Case 1 for RunFFTGaborMP Case 1 of Gabor G1 for RunFFTGaborMP, minor parameter variation. Case 1 passed. The largest deviated value for this case is: 1.838806884535416e-14 Case 2 for RunFFTGaborMP Case 2 passed. The largest deviated value for this case is: 1.251602987917266e-15 Case 3 for RunFFTGaborMP Case 3 passed. The largest deviated value for this case is: 4.440892098500626e-16 Case 4 for RunFFTGaborMP Case 4 of Gabor G1 for RunFFTGaborMP, minor parameter variation. Case 4 passed. The largest deviated value for this case is: 1.032507412901396e-14 Case 5 for RunFFTGaborMP Case 5 of Gabor G1 for RunFFTGaborMP, minor parameter variation. Case 5 of Gabor G1 for RunFFTGaborMP, minor parameter variation. Case 5 passed. The largest deviated value for this case is: 9.173217740965356e-15 Case 6 for RunFFTGaborMP Case 6 passed. The largest deviated value for this case is: 5.828670879282072e-16 Case 7 for RunFFTGaborMP Desired precision achieved in 1 iterations. Case 7 passed. The largest deviated value for this case is: 5.828670879282072e-16 Case 8 for RunFFTGaborMP Case 8 passed. The largest deviated value for this case is: 2.048361480433414e-14 Case 9 for RunFFTGaborMP Case 9 passed. The largest deviated value for this case is: 6.061817714453355e-14 All cases for RunFFTGaborMP passed The largest deviated value came from case 9: 6.061817714453355e-14 **************************** SUMMARY **************************** The largest deviated value for all cases from RunShiftGaborMP is: 5.32768273941997e-14 from case: 2 The largest deviated value for all cases from RunFFTGaborMP is: 6.061817714453355e-14 from case: 9 All test cases passed. SHAR_EOF fi # end of overwriting check cd .. if test ! -d 'Src' then mkdir 'Src' fi cd 'Src' if test -f 'FFT.cc' then echo shar: will not over-write existing file "'FFT.cc'" else cat << "SHAR_EOF" > 'FFT.cc' #include "common.h" #include "Interval.h" #include "FFT.h" #include #include //**************************************************************************** // FFT.cc //**************************************************************************** /////////////////////////////////////////////////////////////////////////////// integer rev(integer In, integer J) { integer Out = In&1, j; for(j=1; j>= 1; Out <<= 1; Out += In&1; } return Out; } /////////////////////////////////////////////////////////////////////////////// void bitReverse(Interval &In) { real temp; real *dataptr = In.origin; integer N = In.length; integer J = Log2(N), j, k; for(j=0; j j){ temp = *dataptr; *dataptr = In.origin[k]; In.origin[k] = temp; } dataptr++; } } ////////////////////////////////////////////////////////////////////////// void Weights(Interval& Rew, Interval& Imw, integer flag) { integer j, k, N = Rew.length<<1, N4 = N>>2; // N is the number of data points in the FFT algrithm real ReW, ImW, K = flag * (2 * M_PI)/N, ReTemp, ImTemp; real *Rewptr = Rew.origin, *Imwptr = Imw.origin, *Rew1ptr = Rew.origin + 1, *Imw1ptr = Imw.origin + 1, *ReEndwptr = Rew.origin+( ( N>>1 ) - 1 ), *ImEndwptr = Imw.origin+((N>>1)-1), *RewTemp, *ImwTemp; *(Rewptr) = 1; *(Imwptr) = 0; *(ReEndwptr) = -(*(++Rewptr) = cos(K)); *(ImEndwptr) = *(++Imwptr) = sin(K); for(j=2; j 4 ){ *(++Rewptr)=0; *(++Imwptr)=flag; } return; } ////////////////////////////////////////////////////////////////////////// void CoreFFT(Interval& ReA, Interval& ImA, Interval& C, Interval& S) { real ReTemp0, ImTemp0, ReTemp1, ImTemp1; real *RePtr0, *ImPtr0, *RePtr1, *ImPtr1, *Cptr, *Sptr; integer s, n, l, b, j; integer J = Log2( ReA.length ); for(l = 1; l <= J; l++){ s = 1 << ( l - 1 ); n = 1 << ( J - l ); RePtr0 = ReA.origin; ImPtr0 = ImA.origin; RePtr1 = (ReA.origin + s); ImPtr1 = (ImA.origin + s); for(b = 0; b < n; b++){ Cptr = C.origin; Sptr = S.origin; for(j = 0; j < s; j++){ ReTemp0 = *(RePtr0); ImTemp0 = *(ImPtr0); ReTemp1 = *(Cptr) * ( *(RePtr1)) - *(Sptr) * (*(ImPtr1)); ImTemp1 = *(Sptr) * ( *(RePtr1)) + *(Cptr) * (*(ImPtr1)); *(RePtr0++) = ReTemp0 + ReTemp1; *(ImPtr0++) = ImTemp0 + ImTemp1; *(RePtr1++) = ReTemp0 - ReTemp1; *(ImPtr1++) = ImTemp0 - ImTemp1; Cptr += n; Sptr += n; } // end j-loop RePtr0 += s; ImPtr0 += s; RePtr1 += s; ImPtr1 += s; } // end b-loop } // end l-loop return; } //////////////////////////////////////////////////////////////////////////// void FFT(Interval &ReIn, Interval &ImIn){ assert(ReIn.length == ImIn.length); integer flag = -1, N = ReIn.length, J = Log2(N); assert(N == (1< 'FFT.h' //*************************************************************** // FFT.h //**************************************************************** #ifndef FFT_LIBRARY_H #define FFT_LIBRARY_H integer rev(integer In, integer J); void bitReverse(Interval &In); void Weights(Interval& Rew, Interval& Imw, integer flag); void CoreFFT(Interval& ReA, Interval& ImA, Interval& C, Interval& S); void FFT(Interval &ReIn, Interval &ImIn); #endif SHAR_EOF fi # end of overwriting check if test -f 'FFTGaborMP.cc' then echo shar: will not over-write existing file "'FFTGaborMP.cc'" else cat << "SHAR_EOF" > 'FFTGaborMP.cc' #include "FFTGaborMP.h" #include #include #include "FFT.h" // declare bunch of global variables. They get updated as you run // RunFFTGaborMP static real coef, product, a, b, a1, b1, v, phase, Pnorm2, Qnorm2, PprodQ; static RealGabor Gtemp; static integer s, u; real RunFFTGaborMP(int max_iter, // maximal number of iterations real epsilon, // desired precision | Rf | < epsilon const Interval &f, // signal to be approximated // assumption : f sampled on integers starting with 0 // i.e. f.beg must be 0. No constraints on f.length. Interval &f_approx, // MP approximation of f // f_approx is a linear combination of Gabors Interval &Rf, // final residual: Rf = f - f_approx // error which is returned equals | Rf | vector &G, // vector of Gabors chosen for // f_approx vector & Gcoef // coeficinets in the linear // combination, corresponding to Gabors in G // f_approx = sum( Gcoef[i] * G[i] ), where number of i's // depends on epsilon and max_iter ) { integer dim = f.length; assert( f.beg == 0 && dim > 0 && is_pow_of_2(dim)); Interval I(0, dim-1); for(int i=0; i Gtemp.createSample(I); G.push_back(Gtemp); // append vectors G and Gcoef Gcoef.push_back(coef); Gptr = Gtemp.Sample.origin; fptr = f_approx.origin; Rfptr = Rf.origin; // update f_approx by adding this latest Gtemp * coef // also update Rf to new value: Rf = old Rf - Gtemp * coef // calculate error as | new Rf | error = 0; for(integer t=0; t dim, i.e. s=dim=2^m, s=2^(m-1) and s=2^(m-2) for(s = dim; s >= (1<<(m-2)); s>>=1) { du = s>>1; // s = 2^j , du = 2^(j-1), j = m, m-1, m-2 for(u = 0; u < dim; u += du) process1(dim, f.origin); // using FFT calculate a,b,... //and update product and coef for all Gabores with fixed s and u. // i.e., go thtough all frequences } // continue decreasing s through powers of 2 until s=1 for(; s > 1; s >>= 1) { du = s>>1; //case : dim>= 8s and 0 <= u <= 4s for(u = 0; u <= 4*s; u += du) process1(8*s, f.origin); // using FFT calculate a,b,.. //and update product and coef for all Gabores with fixed s and u. // i.e., go thtough all frequences // case : dim >= 8s and 4s < u <= dim - 4s for(; u <= dim - 4*s; u += du) process2(8*s, 8*s - 1, f.origin + u - 4*s);// using FFT calculate a,b,.. //and update product and coef for all Gabores with fixed s and u. // i.e., go thtough all frequences // case : dim >= 8s and dim - 4s < u for(; u < dim; u+= du) process2(8*s, dim - u + 4*s -1, f.origin + u - 4*s); } } /////////////////////////////////////////////////////////////// void process1(const integer &N, const real *fptr) { Interval X(0, N-1), Y(0, N-1), U(0, N-1), V(0, N-1); real temp; real *Xptr = X.origin, *Yptr = Y.origin; for(integer t=0; t < N; t++) { temp = g((real)(t-u)/(real)s); *Xptr++ = (*fptr++) * temp; *Yptr++ = temp * temp; } // Begin the FFT stuff here Interval Re1(0, N-1), Im1(0, N-1), Re2(0, N-1), Im2(0, N-1); for(integer t = 0; t < N; t++) { Re1.origin[t] = X.origin[t]; Re2.origin[t] = Y.origin[t]; } FFT(Re1, Im1); FFT(Re2, Im2); for(integer t = 0; t < N; t++) { X.origin[t] = Re1.origin[t]; U.origin[t] = Im1.origin[t]; Y.origin[t] = Re2.origin[t]; V.origin[t] = Im2.origin[t]; } // End of the FFT stuff real c = Y.origin[0]; for(integer k = 0; k < (N>>1); k++) { Pnorm2 = (c + Y.origin[2*k]) / 2; Qnorm2 = (c - Y.origin[2*k]) / 2; PprodQ = - V.origin[2*k] / 2; a = X.origin[k]; b = -U.origin[k]; v = 2 * M_PI * k / N; update(); a = X.origin[k + (N>>1)]; b = - U.origin[k +(N>>1)]; v += M_PI; update(); } } ///////////////////////////////////////////////////////////////////////////// void process2(const integer &N, const integer &stop, const real *fptr) { Interval X(0, N-1); Interval Y(0, N-1); Interval U(0, N-1), V(0, N-1); real temp; real *Xptr = X.origin, *Yptr = Y.origin; integer d = u - 4*s; for(integer t=0; t <= stop; t++) { temp = g((real)(t-4*s)/(real)s); *Xptr++ = (*fptr++) * temp; *Yptr++ = temp * temp; } // Begin the FFT stuff here Interval Re1(0, N-1), Im1(0, N-1), Re2(0, N-1), Im2(0, N-1); for(integer t = 0; t < N; t++) { Re1.origin[t] = X.origin[t]; Re2.origin[t] = Y.origin[t]; } FFT(Re1, Im1); FFT(Re2, Im2); for(integer t = 0; t < N; t++) { X.origin[t] = Re1.origin[t]; U.origin[t] = Im1.origin[t]; Y.origin[t] = Re2.origin[t]; V.origin[t] = Im2.origin[t]; } // End of the FFT stuff real c = Y.origin[0]; real alpha = 2 * M_PI * d / N ; real cosal, cos2al, sinal, sin2al; cosal = cos2al = 1; sinal = sin2al = 0; real co = cos(alpha), si = sin(alpha); real x, y, uu, vv; for(integer k = 0; k < (N>>1); k++) { y = Y.origin[2*k]; vv = V.origin[2*k]; Pnorm2 = (c + y * cos2al + vv * sin2al) / 2; Qnorm2 = (c - y * cos2al - vv * sin2al) / 2; PprodQ = (y * sin2al - vv * cos2al) / 2; x = X.origin[k]; uu = U.origin[k]; a = x * cosal + uu * sinal; b = x * sinal - uu * cosal; v = 2 * M_PI * k / N; update(); x = X.origin[k + (N>>1)]; uu = U.origin[k + (N>>1)]; a = x * cosal + uu * sinal; b = x * sinal - uu * cosal; if( (d>>1)<<1 != d) { a *= -1.0; b *= -1.0;} // not very elegant! v += M_PI; update(); // update cosines and sines temp = cosal; cosal = temp * co - sinal * si; sinal = temp * si + sinal * co; cos2al = cosal * cosal - sinal * sinal; sin2al = 2 * sinal * cosal; } } /////////////////////////////////////////////////////////////////////////// void update() { a1 = a * Qnorm2 - b * PprodQ; b1 = b * Pnorm2 - a * PprodQ; if( Pnorm2 > 1.0e-16 && Qnorm2 > 1.0e-16 && absval(a1) > 1.0e-16 ) { product= (a*a1 + b*b1)/ sqrt(a1*a1*Pnorm2 + b1*b1*Qnorm2 + 2*a1*b1*PprodQ); phase = atan2(-b1, a1); } else // deal specialy with cases P=0 and Q=0 { if( Qnorm2 <= 1.0e-16 ) // Q = 0 { product = a / sqrt(Pnorm2); phase = 0.0; } else // P = 0 or a1 = 0 { product = -b / sqrt(Qnorm2) ; phase = M_PI * 0.5; } } // cout << "product " << product << endl; if ( absval(product) > absval(coef) ) { coef = product; Gtemp.Set( s, u, v, phase ); } } SHAR_EOF fi # end of overwriting check if test -f 'FFTGaborMP.h' then echo shar: will not over-write existing file "'FFTGaborMP.h'" else cat << "SHAR_EOF" > 'FFTGaborMP.h' #ifndef FFTGABORMP_H #define FFTGABORMP_H #include "Gabor.h" #include // Functions which runs MP algorithm until epsilon precision is achieved // i.e. |Rf| &G, // vector of Gabors chosen for // f_approx vector & Gcoef // coeficinets in the linear // combination, corresponding to Gabors in G // f_approx = sum( Gcoef[i] * G[i] ), where number of i's // depends on epsilon and max_iter ); // Given signal f, getOptimalShiftGabor finds Gabor function G // which is closest in l2 norm to f, from the dictionary of Gabors // defined by Mallat's partition. // On output G is set to this optimal function, no sample for G created. // Also, on output coef = void getOptimalFFTGabor(const Interval &f); // utility function void process1(const integer &N, const real *fptr); // utility function void process2(const integer &N, const integer &stop, const real *fptr); // utility for updating global variables void update(); #endif SHAR_EOF fi # end of overwriting check if test -f 'Gabor.cc' then echo shar: will not over-write existing file "'Gabor.cc'" else cat << "SHAR_EOF" > 'Gabor.cc' // Gabor.cc // Implementation of real Gabor functions #include "Gabor.h" #include #include RealGabor::RealGabor(const real &S, const real &U, const real &V, const real &W) : s(S), u(U),v(V), w(W) { assert(s>0); } ////////////////////////////////////////////////////////////////////////////// RealGabor::RealGabor(const real &S, const real &U, const real &V, const real &W, const Interval &I) : s(S), u(U),v(V), w(W) { assert(s>0); createSample(I); } ////////////////////////////////////////////////////////////////////////////// void RealGabor::Set(const real &S, const real &U, const real &V, const real &W) { assert(S>0); s=S; u=U; v=V; w=W; } ////////////////////////////////////////////////////////////////////////////// void RealGabor::Set(const real &S, const real &U, const real &V, const real &W, const Interval &I) { assert(S>0); s=S; u=U; v=V; w=W; createSample(I); } ////////////////////////////////////////////////////////////////////////////// real RealGabor::evaluate(const real &t) const { return exp(-M_PI*(t-u)*(t-u)/(s*s)) * cos(v*t + w); } //////////////////////////////////////////////////////////////////////////// void RealGabor::createSample(const Interval &I) { Sample.Set(I.beg, I.end); real norm = 0; real *Iptr = I.origin + I.beg, *Sptr = Sample.origin + Sample.beg; integer j; for(j=0; j 0.0 ) { Sptr = Sample.origin + Sample.beg; for(j=0; j 'Gabor.h' // Gabor.h // contains classes reprezenting real and complex Gabor functions #ifndef GABOR_H #define GABOR_H #include "Interval.h" class RealGabor { public: RealGabor() : s(1), u(0), v(0), w(0) {}; RealGabor(const real &S, const real &U, const real &V, const real &W); // set s, u, v, w, no sample created RealGabor(const real &S, const real &U, const real &V, const real &W, const Interval & I); // set s, u, v, w, Sample created by evaluating on I ~RealGabor() {}; void Set(const real &S, const real &U, const real &V, const real &W); void Set(const real &S, const real &U, const real &V, const real &W, const Interval &I); real evaluate( const real &t ) const; // return g((t-u)/s) * cos(vt + w) // where g(x) = exp(-Pi*x*x) void createSample(const Interval &I); // create normalized sample on I, i.e. its L2norm is 1 real s, u, v, w; Interval Sample; }; real g( const real &x ); #endif SHAR_EOF fi # end of overwriting check if test -f 'Interval.cc' then echo shar: will not over-write existing file "'Interval.cc'" else cat << "SHAR_EOF" > 'Interval.cc' //**************************************************************************** // Interval.cc Implementation of class Interval //**************************************************************************** #include #include #include #include #include #include "Interval.h" Interval::Interval(const integer &alpha, const integer &omega, const real *data) : origin(0) { if(data == 0) Set( alpha, omega ); else Set( alpha, omega, data ); } /////////////////////////////////////////////////////////////////////////////// Interval::Interval(const integer &p, const real *data) : origin(0) { if(data==0) Set(0, (1< 0) { origin=new real [length]; assert(origin); origin -= beg; if(data == 0) for(integer i=beg; i<=end; i++) origin[i]=0; else for(integer i=0; i>(istream &input, Interval &I) { if(I.origin) { for(integer j=I.beg; j<=I.end; j++) { if(!input.eof()) input >> I.origin[j]; else { cout << "Cannot read into Interval: not enough data available." << "Exiting." << endl; exit(1); } } } else cout << "cannot input into empty interval." << endl; return input; } // enables cin >> x >> y /////////////////////////////////////////////////////////////////////////////// void PrintToFile(const Interval &I, const char *filename) { ofstream glug(filename); if( !glug ) { cout << "Can't open output file " << filename << ". Exiting." << endl; exit(1); } glug << I ; } /////////////////////////////////////////////////////////////////////////////// void ReadFromFile(Interval &I, const char *filename) { ifstream glug(filename); if( !glug ) { cout << "Can't open input file " << filename << ". Exiting." << endl; exit(1); } glug >> I; } SHAR_EOF fi # end of overwriting check if test -f 'Interval.h' then echo shar: will not over-write existing file "'Interval.h'" else cat << "SHAR_EOF" > 'Interval.h' //**************************************************************************** // Interval.h Definition of class Interval //**************************************************************************** #ifndef INTERVAL_H #define INTERVAL_H #include "common.h" #include class Interval { public: Interval() : origin(0), beg(0), end(-1), length(0) { } // default constructor Interval(const integer &alpha, const integer &omega, const real *data = 0); // construct interval from data. data must be omega-alpha+1 long, // or else by default data=0 and all elts set to 0 Interval(const integer &p, const real *data=0); // construct interval indexed from 0 to 2^p-1, filled from data or 0's Interval(const Interval &); // copy constructor ~Interval(); // destructor const Interval &operator=(const Interval&); // overload = real &operator[](const integer &i); // overload [] with bound checking const real &operator[](integer i) const; // overload [] for const objects const Interval &operator+=(const Interval &I); // overload +=another interv. const Interval &operator+=(const real &c); // overload +=scalar Interval operator+(const Interval &I) const; // overload +another interval Interval operator+(const real &c) const; // overload +scalar const Interval &operator*=(const real &c); // overload *=scalar Interval operator*(const real &c) const; // overload *scalar void Set(integer alpha, integer omega, const real *data = 0); // utility which can be used for redefining an existing interval ///////////////////////////////////////////////////////////////////////////// real* origin; // pointer to begining of data integer beg; // least valid index integer end; // final valid index integer length; // length = end - beg + 1 }; // end of class Interval /**************************** Utilities **************************************/ Interval Absval(const Interval &I); // return absolute value of interval as a new interval whose // elements are abs values of elements of I real L2norm(const Interval &I); // return L2 norm of I real Average(const Interval &I); // return average of all elements of I real StDev(const Interval &I); // return standard deviation of I /************************** Interval Input/Output Utilities*******************/ ostream &operator<<(ostream &, const Interval &); // output interval as a column istream &operator>>(istream &, Interval &); // read into I from a stream void PrintToFile(const Interval &I, const char *filename); // print to file as column void ReadFromFile(Interval &I, const char *filename); // read data from file into I // assumption: I.beg and I.end set, I.origin allocated #endif SHAR_EOF fi # end of overwriting check if test -f 'Partition.cc' then echo shar: will not over-write existing file "'Partition.cc'" else cat << "SHAR_EOF" > 'Partition.cc' #include "Partition.h" #include Partition::Partition(integer dim, real a) { integer largest_pow = ((integer)(floor((log(dim) / log(a)) + 0.5 ))); // largest_pow = nearest integer to log(dim)/log(a), i.e. it is // the largest integer power of a which is <= dim // In this implementation for the smallest power od a we choose 1. // In other words smallest s is a. // Define partition of s's and corresponding values for dv's and du's s.Set(1, largest_pow); dv.Set(s.beg, s.end); du.Set(s.beg, s.end); for(integer j = s.beg; j <= s.end; j++) { s.origin[j] = pow(a, j); // s[j] = a^j dv.origin[j] = M_PI / s.origin[j]; // dv[j] = Pi / s[j] du.origin[j] = s.origin[j] / 2; // du[j] = s[j]/2; if( (integer)(du.origin[j]) <= 0 ) { // in this case take du=1 du.origin[j] = 1.0; } } lmu = 0; rmu = dim - 1; // Leftmost value of v is always set to 0 - can't change this rmv = 2 * M_PI - 1.0e-10; // explain.... } SHAR_EOF fi # end of overwriting check if test -f 'Partition.h' then echo shar: will not over-write existing file "'Partition.h'" else cat << "SHAR_EOF" > 'Partition.h' // Partition.h #ifndef PARTITION_H #define PARTITION_H #include "Interval.h" class Partition { public: Partition(integer dim, real a); Interval s; // scale Interval du; Interval dv; integer lmu, rmu; real rmv; }; #endif SHAR_EOF fi # end of overwriting check if test -f 'ShiftGaborMP.cc' then echo shar: will not over-write existing file "'ShiftGaborMP.cc'" else cat << "SHAR_EOF" > 'ShiftGaborMP.cc' #include "ShiftGaborMP.h" #include real RunShiftGaborMP(int max_iter, // maximal number of iterations real epsilon, // desired precision | Rf | < epsilon const Interval &f, // signal to be approximated // assumption : f sampled on integers starting with 0 // i.e. f.beg must be 0. No constraints on f.length. const Partition &Part, // partiton which defining //dictionary Interval &f_approx, // MP approximation of f // f_approx is a linear combination of Gabors Interval &Rf, // final residual: Rf = f - f_approx // error which is returned equals | Rf | vector &G, // vector of Gabors chosen for // f_approx vector & Gcoef // coeficinets in the linear // combination, corresponding to Gabors in G // f_approx = sum( Gcoef[i] * G[i] ), where number of i's // depends on epsilon and max_iter ) { integer dim = f.length; assert( f.beg == 0 && dim > 0); Interval I(0, dim-1); for(int i=0; i ) { integer dim = f.length; integer c = dim / 2; // midpoint or left midpoint of the interval [0, dim-1] // depending on whether dim is odd or even integer t, ddu; // ddu will hold (integer)du[j] real ddv; // ddv will hold dv[j] integer lmshift = Part.lmu - c, rmshift = Part.rmu - c; // leftmost and rightmost // shifts with respect to the central position c real codv, sidv, covshift, sivshift; // codv will hold cos( ddv ) // covshift will hold cos( v * shift ) Interval CO, SI; // CO[t] will hold cos( t * v ) integer beg, end; Interval P, Q; real a, b, phase, Pnorm2, Qnorm2, PprodQ, a1, b1, product; real atemp, btemp, Pnorm2temp, Qnorm2temp, PprodQtemp; real *Pptr, *Qptr, *fptr, *COptr, *SIptr; real covlms, sivlms, covdu, sivdu, codvlms, sidvlms, codvdu, sidvdu, temp; // covlms will hold cos(v * lmshift), codvlms will hold cos(ddv * lmshift) // covdu will hold cos( v * ddu ), codvdu will hold cos(ddv * ddu) coef = 0; for( integer j = Part.s.beg; j <= Part.s.end; j++ ) { // set up ddv = Part.dv.origin[j]; ddu = (integer)(Part.du.origin[j]); // effectively floor beg = maximum(c - 4 * (integer)(Part.s.origin[j]), c - dim); end = minimum(c + 4 * (integer)(Part.s.origin[j]), c + dim); P.Set(beg, end); Q.Set(beg, end); CO.Set(beg, end); SI.Set(beg, end); codv = cos( ddv ); sidv = sin( ddv ); // used for uodating CO, SI Pptr = P.origin + beg; COptr = CO.origin + beg; SIptr = SI.origin + beg; // do first elements separately *Pptr++ = g((real)(beg - c) / Part.s.origin[j]); *COptr++ = cos( beg * ddv ); *SIptr++ = sin( beg * ddv ); for(t = beg + 1; t <= end; t++) { *Pptr++ = g((real)(t - c)/Part.s.origin[j]); *COptr = *(COptr - 1) * codv - *(SIptr - 1) * sidv; *SIptr = *(COptr - 1) * sidv + *(SIptr - 1) * codv; COptr++; SIptr++; } codvlms = cos( ddv * lmshift ) ; sidvlms = sin( ddv * lmshift ); codvdu = cos( ddv * ddu ); sidvdu = sin( ddv * ddu ); covlms = covdu = 1; sivlms = sivdu = 0; // by now everything is set up for v=0 // Now do v=0 separately for(integer shift = lmshift; shift <= rmshift; shift += ddu) { // covshift = cos(v*shift); sivshift = sin(v*shift) beg = maximum(0, P.beg + shift); end = minimum(dim-1, P.end + shift); // calculate just a and norm P a = Pnorm2 = 0; Pptr = P.origin + beg - shift; fptr = f.origin + beg; for( t=beg; t<=end; t++) { Pnorm2 += (*Pptr) * (*Pptr); a += (*fptr++) * (*Pptr++); } product = a / sqrt(Pnorm2); phase = 0; if ( absval(product) > absval(coef) ) { coef = product; G.Set( Part.s.origin[j], c + shift, 0, phase ); } } // end of shift loop for case v = 0 // Now do the rest of v's for(real v=ddv; v < Part.rmv; v += ddv) { // update P, Q for this new value of v for( t = P.beg; t <= P.end; t++) { temp = P.origin[t]; P.origin[t] = temp * CO.origin[t] - Q.origin[t] * SI.origin[t]; Q.origin[t] = temp * SI.origin[t] + Q.origin[t] * CO.origin[t]; } // update covlms, sivlms , covdu, sivdu for this new value of v temp = covlms; covlms = temp * codvlms - sivlms * sidvlms; sivlms = temp * sidvlms + sivlms * codvlms; temp = covdu; covdu = temp * codvdu - sivdu * sidvdu; sivdu = temp * sidvdu + sivdu * codvdu; // initialize covshift with cos( v * lmshift ) covshift = covlms; sivshift = sivlms; for(integer shift = lmshift; shift <= rmshift; shift += ddu) { // covshift = cos(v*shift); sivshift = sin(v*shift) beg = maximum(0, P.beg + shift); end = minimum(dim-1, P.end + shift); // calculate a, b, a1, b1 atemp = btemp = PprodQtemp = Pnorm2temp = Qnorm2temp = 0; Pptr = P.origin + beg - shift; Qptr = Q.origin + beg - shift; fptr = f.origin + beg; for( t=beg; t<=end; t++) { Pnorm2temp += (*Pptr) * (*Pptr); Qnorm2temp += (*Qptr) * (*Qptr); PprodQtemp += (*Pptr) * (*Qptr); atemp += (*fptr) * (*Pptr++); btemp += (*fptr++) * (*Qptr++); } Pnorm2 = Pnorm2temp * covshift * covshift + Qnorm2temp * sivshift * sivshift - 2.0 * PprodQtemp * covshift * sivshift; Qnorm2 = Pnorm2temp * sivshift * sivshift + Qnorm2temp * covshift * covshift + 2.0 * PprodQtemp * covshift * sivshift; PprodQ = (Pnorm2temp - Qnorm2temp) * covshift * sivshift + PprodQtemp * (covshift * covshift - sivshift * sivshift); a = atemp * covshift - btemp * sivshift; b = atemp * sivshift + btemp * covshift; a1 = a * Qnorm2 - b * PprodQ; b1 = b * Pnorm2 - a * PprodQ; if( Pnorm2 > 1.0e-16 && Qnorm2 > 1.0e-16 && absval(a1) > 1.0e-16 ) { product = (a*a1 + b*b1)/ sqrt(a1*a1*Pnorm2 + b1*b1*Qnorm2 + 2*a1*b1*PprodQ); phase = atan2(-b1, a1); } else // deal specialy with cases P=0 and Q=0 { if( Qnorm2 <= 1.0e-16 ) // Q = 0 { product = a / sqrt(Pnorm2); phase = 0.0; } else // P = 0 or a1 = 0 { product = -b / sqrt(Qnorm2) ; phase = M_PI * 0.5; } } // cout << "product " << product << endl; if ( absval(product) > absval(coef) ) { coef = product; G.Set( Part.s.origin[j], c + shift, v, phase ); } // update covshift and sivshift for next value of shift temp = covshift; covshift = temp * covdu - sivshift * sivdu; sivshift = temp * sivdu + sivshift * covdu; } // end of shift loop } // end of v loop } // end of s loop } ////////////////////////////////////////////////////////// SHAR_EOF fi # end of overwriting check if test -f 'ShiftGaborMP.h' then echo shar: will not over-write existing file "'ShiftGaborMP.h'" else cat << "SHAR_EOF" > 'ShiftGaborMP.h' // ShiftGaborMP.h #ifndef SHIFTGABORMP_H #define SHIFTGABORMP_H #include "Gabor.h" #include "Partition.h" #include // Functions which runs MP algorithm until epsilon precision is achieved // i.e. |Rf| &G, // vector of Gabors chosen for // f_approx vector & Gcoef // coeficinets in the linear // combination, corresponding to Gabors in G // f_approx = sum( Gcoef[i] * G[i] ), where number of i's // depends on epsilon and max_iter ); // Given signal f, getOptimalShiftGabor finds Gabor function G // which is closest in // l2 norm to f, from the dictionary of Gabors defined by partition Part. // On output G is set to this optimal function, no sample for G created. // Also, on output coef = void getOptimalShiftGabor(const Interval &f, // signal const Partition &Part, RealGabor &G, // optimal Gabor, the one closest to f real &coef // ); #endif SHAR_EOF fi # end of overwriting check if test -f 'common.cc' then echo shar: will not over-write existing file "'common.cc'" else cat << "SHAR_EOF" > 'common.cc' #include "common.h" #include #include integer Log2(integer r) { integer temp=0; r >>= 1; while(r > 0) { r >>= 1; temp++; } return temp; } ////////////////////////////////////////////////////////////////////////////// bool is_pow_of_2( integer r ) { return ( ((r>>Log2(r))<> x; total++; } return total; } /////////////////////////////////////////////////////////////////////////////// SHAR_EOF fi # end of overwriting check if test -f 'common.h' then echo shar: will not over-write existing file "'common.h'" else cat << "SHAR_EOF" > 'common.h' //*************************************************************** // common.h //**************************************************************** #ifndef COMMON_H #define COMMON_H #include typedef double real; typedef long integer; #define maximum(x,y) ((x)>(y) ? (x):(y)) #define minimum(x,y) ((x)<(y) ? (x):(y)) #define absval(x) ((x)<0 ? (-(x)):(x)) integer Log2( integer r ); // log base 2 of integer r bool is_pow_of_2( integer r ); // check if r is power of 2 //integer NumOfData(const char *filename); // count total=number of reals in file, return total #endif SHAR_EOF fi # end of overwriting check cd .. cd .. cd .. if test ! -d 'Doc' then mkdir 'Doc' fi cd 'Doc' if test -f 'README' then echo shar: will not over-write existing file "'README'" else cat << "SHAR_EOF" > 'README' This is the README file for the code submitted along with the paper entitled "A Flexible Implementation of Matching Pursuit for Gabor Functions on the Interval" which has been submitted to TOMS. This code is submitted on Feb. 12, 2001, and re-submitted Nov. 26 2001. All enquires to Larry Kolasa lkolasa@acs.ryerson.ca To run the test and demo programs do the following. 1) Change directories to TOMS_MP, if you are not already there. 2) Type "make" at the prompt. This will compile all of the code and generate the two executables, "MPTest" and "MPDemo". 3) Type "./MPTest" to run the test program. This will run the algorithm and test it against the test data which is in the file called "input_test.data". As each test is passed the user will be prompted to continue the tests. If a test fails, the program exits. 4) Type "./MPDemo m", where m is a positive integer and 2^m is the number of sample data points in the input signal. This is the Demo program. The purpose of the demo program is to give an idea of how to utilize the functions for performing the MP algorithm. The comments should give an idea how to employ the code. Originally the MPTest driver had the facility to read data from a file ac1 although this wasn't activated in the finally submitted code. It didn't seem to work either so it's been removed. In addition the MPTest now attempts to run all the tests without prompting. Tim Hopkins (24/05/2002) SHAR_EOF fi # end of overwriting check if test -f 'makefile' then echo shar: will not over-write existing file "'makefile'" else cat << "SHAR_EOF" > 'makefile' CC = g++ CFLAGS = -O2 -g -Wall SRC = common.h common.cc Interval.h Interval.cc OBJTEST = common.o Interval.o Gabor.o input_maker.o ShiftGaborMP.o Partition.o FFT.o FFTGaborMP.o driver1.o OBJDEMO = common.o Interval.o Gabor.o input_maker.o ShiftGaborMP.o Partition.o FFT.o FFTGaborMP.o driver2.o LINKS = -lm -ldl all: MPTest MPDemo ################################################################# MPTest: $(OBJTEST) $(CC) $(CFLAGS) -o MPTest $(OBJTEST) $(LINKS) MPTest.o: $(SRC) MPTest.cc $(CC) $(CFLAGS) -c MPTest.cc ################################################################## MPDemo: $(OBJDEMO) $(CC) $(CFLAGS) -o MPDemo $(OBJDEMO) $(LINKS) MPDemo.o: $(SRC) MPDemo.cc $(CC) $(CFLAGS) -c MPDemo.cc ################################################################### ################################################################### common.o: common.h common.cc $(CC) -c $(CFLAGS) -o common.o common.cc Interval.o: Interval.h Interval.cc common.h common.cc $(CC) -c $(CFLAGS) -o Interval.o Interval.cc FFT.o: $(SRC) FFT.h FFT.cc $(CC) $(CFLAGS) -c FFT.cc Gabor.o: $(SRC) Gabor.h Gabor.cc $(CC) $(CFLAGS) -c Gabor.cc Partition.o: $(SRC) Partition.h Partition.cc $(CC) $(CFLAGS) -c Partition.cc ShiftGaborMP.o: $(SRC) ShiftGaborMP.cc $(CC) $(CFLAGS) -c ShiftGaborMP.cc FFTGaborMP.o: $(SRC) FFT.h FFT.cc FFTGaborMP.cc $(CC) $(CFLAGS) -c FFTGaborMP.cc input_maker.o: $(SRC) input_maker.h input_maker.cc $(CC) $(CFLAGS) -c input_maker.cc ################################################################### clean: rm -f results* core *.o MPTest MPDemo MPapp *~ SHAR_EOF fi # end of overwriting check cd .. # End of shell archive exit 0