<< Chapter < Page | Chapter >> Page > |
A FORTRAN implementation of a length-19 FFT module to be used in a Prime Factor Algorithm program.
C
C-------------------WFTA N=19----------------------------C
C 372 ADDS; 76 MPYSC DATA FOR LENGTH 19 DFT
DATA C1901 / -1.0555555555555556 /DATA C1902 / .1775222851392708 /
DATA C1903 / -.1282007750219153 /DATA C1904 / .0493215101173555 /
DATA C1905 / .5761101149100590 /DATA C1906 / -.7499644965553628 /
DATA C1907 / -.1738543816453038 /DATA C1908 / -2.1729997561977314 /
DATA C1909 / -1.7021211726914737 /DATA C1910 / .4708785835062578 /
DATA C1911 / -2.0239400846888438 /DATA C1912 / .1055164120166409 /
DATA C1913 / 2.1294564967054848 /DATA C1914 / -.7508754389737117 /
DATA C1915 / .1481281769515716 /DATA C1916 / .8990036159252833 /
DATA C1917 / -.6214824677260278 /DATA C1918 / -.7986935209871269 /
DATA C1919 / -.4733919962377183 /DATA C1920 / -.2421610524189263 /
DATA C1921 / -.0593686079675051 /DATA C1922 / .0125786882551762 /
DATA C1923 / -.0467899197123289 /DATA C1924 / -.9375012191378236 /
DATA C1925 / -.0501115370433529 /DATA C1926 / -.9876127561811766 /
DATA C1927 / -1.1745786501205960 /DATA C1928 / 1.1114482296234993 /
DATA C1929 / 2.2860268797440954 /DATA C1930 / .2642052325793094 /
DATA C1931 / 2.1981792779352138 /DATA C1932 / 1.9339740453559042 /
DATA C1933 / -.7482584709125489 /DATA C1934 / -.4782083564276887 /
DATA C1935 / .2700501144848602 /DATA C1936 / -.3464235615954227 /
DATA C1937 / -.8348542936068828 /DATA C1938 / -.3937592850674352 /
CC-----------------WFTA N=19--------------------------
CR100=X(I(2))+X(I(19))
R109=X(I(2))-X(I(19))R101=X(I(3))+X(I(18))
R110=-X(I(3))+X(I(18))R102=X(I(5))+X(I(16))
R111=X(I(5))-X(I(16))R103=X(I(9))+X(I(12))
R112=-X(I(9))+X(I(12))R104=X(I(17))+X(I(4))
R113=X(I(17))-X(I(4))R105=X(I(14))+X(I(7))
R114=-X(I(14))+X(I(7))R106=X(I(8))+X(I(13))
R115=X(I(8))-X(I(13))R107=X(I(15))+X(I(6))
R116=-X(I(15))+X(I(6))R108=X(I(10))+X(I(11))
R117=X(I(10))-X(I(11))R200=R100-R106
R201=R101-R107R202=R102-R108
R203=R103-R106R204=R104-R107
R205=R105-R108R206=R100+R103+R106
R207=R101+R104+R107R208=R102+R105+R108
R209=R200+R202R210=R203+R205
R31=R206+R207+R208R32=R210+R204
R33=R209+R201R34=R33-R32
R35=R210-R204R36=R209-R201
R37=R36-R35R38=R203
R39=R200-R203R310=R200
R311=R205R312=R202-R205
R313=R202R314=-R312+R200-R204
R315=R39+R205-R201R316=-R315+R314
R317=R206-R208R318=R207-R208
R319=R317+R318R220=R109-R115
R221=R110-R116R222=R111-R117
R223=R112-R115R224=R113-R116
R225=R114-R117R226=R109+R112+R115
R227=R110+R113+R116R228=R111+R114+R117
R229=R220+R222R230=R223+R225
R320=R226+R227+R228R321=R230+R224
R322=R229+R221R323=R322-R321
R324=R230-R224R325=R229-R221
R326=R325-R324R327=R223
R328=R220-R223R329=R220
R330=R225R331=R222-R225
R332=R222R333=-R331+R220-R224
R334=R328+R225-R221R335=-R334+R333
R336=R226-R228R337=R227-R228
R338=R336+R337X(I(1))=X(I(1))+R31
T11=R31*C1901T12=R32*C1902
T13=R33*C1903T14=R34*C1904
T15=R35*C1905T16=R36*C1906
T17=R37*C1907T18=R38*C1908
T19=R39*C1909T110=R310*C1910
T111=R311*C1911T112=R312*C1912
T113=R313*C1913T114=R314*C1914
T115=R315*C1915T116=R316*C1916
T117=R317*C1917T118=R318*C1918
T119=R319*C1919T120=R320*C1920
T121=R321*C1921T122=R322*C1922
T123=R323*C1923T124=R324*C1924
T125=R325*C1925T126=R326*C1926
T127=R327*C1927T128=R328*C1928
T129=R329*C1929T130=R330*C1930
T131=R331*C1931T132=R332*C1932
T133=R333*C1933T134=R334*C1934
T135=R335*C1935T136=R336*C1936
T137=R337*C1937T138=R338*C1938
T11=T11+X(I(1))T200=T12+T13
T201=T15+T16T202=T115+T116
T203=T200+T201T204=T12+T14
T205=T15+T17T206=T114+T116
T207=-T203+T18T208=T204+T205
T209=T111-T206T210=T19+T202+T207
T211=T208+T112+T209T212=T204-T205+T202
T213=T207+T208+T110+T206T214=T203+T113+T209+T202
T215=T200-T201+T206T216=T117-T119
T217=T118-T119T218=T11+T216
T219=T11-T216-T217T220=T11+T217
T2100=T121+T122T2101=T124+T125
T2102=T134+T135T2103=T2100+T2101
T2104=T121+T123T2105=T124+T126
T2106=T133+T135T2107=-T2103+T127
T2108=T2104+T2105T2109=T130-T2106
T2110=T128+T2102+T2107T2111=T2108+T131+T2109
T2112=T2104-T2105+T2102T2113=T2107+T2108+T129+T2106
T2114=T2103+T132+T2109+T2102T2115=T2100-T2101+T2106
T2116=T136-T138T2117=T137-T138
T2118=T120+T2116T2119=T120-T2116-T2117
T2120=T120+T2117T32=T213-T210+T218
T310=T214-T211+T219T36=T215-T212+T220
T38=-T213+T218T37=-T214+T219
T34=-T215+T220T39=T210+T218
T35=T211+T219T33=T212+T220
T311=T2113-T2110+T2118T319=T2114-T2111+T2119
T315=T2115-T2112+T2120
T317=-T2113+T2118T316=-T2114+T2119
T313=T2115-T2120T318=-T2110-T2118
T314=T2111+T2119T312=-T2112-T2120
S100=Y(I(2))+Y(I(19))S109=Y(I(2))-Y(I(19))
S101=Y(I(3))+Y(I(18))S110=-Y(I(3))+Y(I(18))
S102=Y(I(5))+Y(I(16))S111=Y(I(5))-Y(I(16))
S103=Y(I(9))+Y(I(12))S112=-Y(I(9))+Y(I(12))
S104=Y(I(17))+Y(I(4))S113=Y(I(17))-Y(I(4))
S105=Y(I(14))+Y(I(7))S114=-Y(I(14))+Y(I(7))
S106=Y(I(8))+Y(I(13))S115=Y(I(8))-Y(I(13))
S107=Y(I(15))+Y(I(6))S116=-Y(I(15))+Y(I(6))
S108=Y(I(10))+Y(I(11))S117=Y(I(10))-Y(I(11))
S200=S100-S106S201=S101-S107
S202=S102-S108S203=S103-S106
S204=S104-S107S205=S105-S108
S206=S100+S103+S106S207=S101+S104+S107
S208=S102+S105+S108S209=S200+S202
S210=S203+S205S31=S206+S207+S208
S32=S210+S204S33=S209+S201
S34=S33-S32S35=S210-S204
S36=S209-S201S37=S36-S35
S38=S203S39=S200-S203
S310=S200S311=S205
S312=S202-S205S313=S202
S314=-S312+S200-S204S315=S39+S205-S201
S316=-S315+S314S317=S206-S208
S318=S207-S208S319=S317+S318
S220=S109-S115S221=S110-S116
S222=S111-S117S223=S112-S115
S224=S113-S116S225=S114-S117
S226=S109+S112+S115S227=S110+S113+S116
S228=S111+S114+S117S229=S220+S222
S230=S223+S225S320=S226+S227+S228
S321=S230+S224S322=S229+S221
S323=S322-S321S324=S230-S224
S325=S229-S221S326=S325-S324
S327=S223S328=S220-S223
S329=S220S330=S225
S331=S222-S225S332=S222
S333=-S331+S220-S224S334=S328+S225-S221
S335=-S334+S333S336=S226-S228
S337=S227-S228S338=S336+S337
Y(I(1))=Y(I(1))+S31U11=S31*C1901
U12=S32*C1902U13=S33*C1903
U14=S34*C1904U15=S35*C1905
U16=S36*C1906U17=S37*C1907
U18=S38*C1908U19=S39*C1909
U110=S310*C1910U111=S311*C1911
U112=S312*C1912U113=S313*C1913
U114=S314*C1914U115=S315*C1915
U116=S316*C1916U117=S317*C1917
U118=S318*C1918U119=S319*C1919
U120=S320*C1920U121=S321*C1921
U122=S322*C1922U123=S323*C1923
U124=S324*C1924U125=S325*C1925
U126=S326*C1926U127=S327*C1927
U128=S328*C1928U129=S329*C1929
U130=S330*C1930U131=S331*C1931
U132=S332*C1932U133=S333*C1933
U134=S334*C1934U135=S335*C1935
U136=S336*C1936U137=S337*C1937
U138=S338*C1938U11=U11+X(I(1))
U200=U12+U13U201=U15+U16
U202=U115+U116U203=U200+U201
U204=U12+U14U205=U15+U17
U206=U114+U116U207=-U203+U18
U208=U204+U205U209=U111-U206
U210=U19+U202+U207U211=U208+U112+U209
U212=U204-U205+U202U213=U207+U208+U110+U206
U214=U203+U113+U209+U202U215=U200-U201+U206
U216=U117-U119U217=U118-U119
U218=U11+U216U219=U11-U216-U217
U220=U11+U217U2100=U121+U122
U2101=U124+U125U2102=U134+U135
U2103=U2100+U2101U2104=U121+U123
U2105=U124+U126U2106=U133+U135
U2107=-U2103+U127U2108=U2104+U2105
U2109=U130-U2106U2110=U128+U2102+U2107
U2111=U2108+U131+U2109U2112=U2104-U2105+U2102
U2113=U2107+U2108+U129+U2106U2114=U2103+U132+U2109+U2102
U2115=U2100-U2101+U2106U2116=U136-U138
U2117=U137-U138U2118=U120+U2116
U2119=U120-U2116-U2117U2120=U120+U2117
U32=U213-U210+U218U310=U214-U211+U219
U36=U215-U212+U220U38=-U213+U218
U37=-U214+U219U34=-U215+U220
U39=U210+U218U35=U211+U219
U33=U212+U220U311=U2113-U2110+U2118
U319=U2114-U2111+U2119U315=U2115-U2112+U2120
U317=-U2113+U2118U316=-U2114+U2119
U313=U2115-U2120U318=-U2110-U2118
U314=U2111+U2119U312=-U2112-U2120
X(I(2))=T32-U311X(I(19))=T32+U311
Y(I(2))=T311+U32Y(I(19))=-T311+U32
X(I(3))=T33-U312X(I(18))=T33+U312
Y(I(3))=T312+U33Y(I(18))=-T312+U33
X(I(4))=T34-U313X(I(17))=T34+U313
Y(I(4))=T313+U34Y(I(17))=-T313+U34
X(I(5))=T35-U314X(I(16))=T35+U314
Y(I(5))=T314+U35Y(I(16))=-T314+U35
X(I(6))=T36-U315X(I(15))=T36+U315
Y(I(6))=T315+U36Y(I(15))=-T315+U36
X(I(7))=T37-U316X(I(14))=T37+U316
Y(I(7))=T316+U37Y(I(14))=-T316+U37
X(I(8))=T38-U317X(I(13)=T38+U317
Y(I(8))=T317+U38Y(I(13)=-T317+U38
X(I(9))=T39-U318X(I(12))=T39+U318
Y(I(9))=T318+U39Y(I(12))=-T318+U39
X(I(10))=T310-U319X(I(11))=T310+U319
Y(I(10))=T319+U310Y(I(11))=-T319+U310
CGOTO 20
CFigure. Length-19 FFT Module
Notification Switch
Would you like to follow the 'Large dft modules: 11, 13, 16, 17, 19, and 25. revised ece technical report 8105' conversation and receive update notifications?