COMPLEX CZ nCOMPLEX FORl COMPLEX H FFT CZ w FFT CZMdBFOURIER CZ M vCOMPLEX.C # M3aegC!.4$ L'CDN+0m8 Zb 1Ng3I(ņaR H0fY.  2y4L"+u؀o: w=Ũ`}M0}v1=AqfQco9 Qe2 +UZf] JZH4 u9L8}2)X+ ̧(Ôts U UHTV+GCxtW%[~mxռ~|b`Q _x$ewWab>aIpF@gFu>psh yA wQK_&q%qXV5*bm|mXs`vE}_زX*.!9V&GaeŊ6g93ȒeO帵͌Ml:|ځ> g *E\BeW^-Ulii g7Nl' )Y6ycw+cf*FZS] +}Q[ gffk kp%*[uڿ)r~QAvQ|hkaջrL) nBrFmBС*`i*bn[~뾳< 0 ϯ1) u6'J56컵3R]_pp ,1CCBHSfGqRۥ ߔ\r|7ga vq9+ B΀p 1+ iQNn™ :vn3 ;~.ΟuGm{tg@ T,PB. C@5C 5 P9 Ð2 À6EHW=|OQH_ b 7>l fLnĽ+/ 2ua<¢ !ft!!L=("zӞR`l73v|p/V!0 SCuDcr 8!ᘐC#B(A+TQ.&!bN3ם 6a"kn }߈s"$Ga R>Ϲ0K qx~G&fv'If&NSsXqi1`Iv^&p&5?3J 0 űxMa}Fu icH@DC֨RӰ;9 (GOMDM'ECQQpLj;;$4͑L?3d1DQ,!:#(s%g ٸ4șwӔ7g rj&iMhs$%m9!6$[EHHXvb#ߌ0EHNmL%6Vez`dFNIFJ򾖬kYdIHOf;1F択kfFz ]j05 nT9n ʾ h7!e%:*Mp!p$CFuipmAlLawpQ Gt1qFQcCPTQrr"̆cGA rFQ !nmPmKqdֵ{`ضMhڶͻpܷAvv}]շݏem-FdFa aeKTB y߹]DMsQ ){UG.?[?) B1,P91%@lx99GoγAC1X!J]Fc@#~q2ĊL u$ d%{ 8α 5Db ACb H 1RA0D8+#0m F]l+c&1 K7c$PfK 3ȷ@Hb-XLPB4'2Q[ G% 1H{~BxƨܶY#(hfPr`d12Bpoɚ @ot;ʰ@%Spnh6 tm`aueEAPs<A)`@#8a rB4|M>@!St7nd 4&m&xFPu3 W % 4/2E` D]M`bTKԬ1*kK7-2"G3_."P/飕:PڥG! `:??uUc!R-ab~P`Ea/'bA*[AHɂl ,H$W+XYvFB*  TbG }LO\`%ZPB0Z%z,yFPI[~n OL4OZY`*28zw.F#6x؋A]ްvYXnĂ5~WjD$cΖJlAUofNA lf6 !b ӧ- 0b3¸|f0ǀ a*ṷ`0aJQ̘ɱ[iJ0 D*ZõT6͝XUpÔCr %ḡL &!K(٢mr3ZO̤&8Э 3R7 Fg9e$й-2erV3 *D)}\f A n01*G͚js ditFշk^AǨtʹ2DhIʶ/KԚX=6v;G]zOv^wX4/Z]*.8 inwa%h7. {|1ͼWui0-(}屘g {o^(8_>N5nhЯ@G ÑsۏpȘ`kheHH.B|M 2sCɎ p0])ἷfHap#6.gx? de{dt|U:]LoN޸eH7ܴh ܛ.wEP~E}{  N/@C-;gϘ\* 7WvDrgx[G$`/ *)-0r*A.[Ry0f|\H:Dlyy$n'Zglw4iHlw&n`}P'p4l!?\/'g*|VvH.0lGG)B`&){d\O0W.sDs}t2H GItMW$pp}*`[judHc deه%B`XvuSDdRgA?a]*tfO8fLs6n>P!0hr\xutwxg|g7tXU'a(a*&FXXg͉|w} Byw&`! X1mi1ǎak=P.C++0iF( toH2rD5ɏif`=g-MzA  PD jbل @fd#zg y\6Nr3oGI"1Vz}Ppk f@ ؍Wp!Zm:z@@| p!ڕP͔.V1yiW#D@cpoU#GP 0STč89fv"o oqjW*%w,Yg=I> Pw\p, d110$᝛sk!=nGʊ)w; pJ wп % !dj+"@&i/B>|pM`yۣxO@I4|#u 9ۘQu0 R@ɉFJ* L !*k*"PL9vqOn0LwVa ciۧ:f(`x&7z Bʝy~!My-Ǖ(zrojA?PE(˪ץzzya9Qjo꣓ʄrYIk'z ϫ9t>:sF?`"ԒqY@z5ZxAw pP A@}l'fz@%*ш[&0> @ ;(|z!Fe:@ PciCwA@dG >Z,VH- `@0)M 'p= ~ `[f?@ Up SKv6[;j| 305[頹פ{ *;;&{2U{w&cwz[uwq+zk `S + 0Zp dM( ZH;r>  b`{wO ս{ٽW} !cKza'5$\˶WS`jo  bU  `E)\BZ@ hiY A K0׺w0J`!ČE:[ĩ gF RT ۍ:} ,GbļfmiiN *{ ~ h @0 @I''ǰ[h?q`]DK8I~,i-T F绒ohI KֽMJ0z‹+F˜2\Ȝ'd!*)kpjkj ˰+,̼Ԯp|Ҫ<,üٗZG, Ӯhϋ1*B>HU`i\nXnr.bu(`*`#6+@">lP~s&^s.?䐳>a |1@^uAW3INxYa&M鎦> Ύ.^^㾚>*uN:np[^꾭N^nA 0^InonaN. 0l~?/N@($" 9a1Oa?! ?w6D? [6 0>5D`"0I NI xYa` 0^u9hGn\u9{ N|S^JNAp?t s ( ~b00(@'P 'opgorpspu{pxpD5: ^,=0N^U0 ( 0N11,3_Di кH.x H 0D: %#O::pި" 010 n.G"݃[7wCרk) 0,R0yք^%y0@cP@G  @ P_?0F cfS 0 00{ Z` Pf 0=P 6 0_^& o @$ CI j X|Zr&Y<K**6шR 1A#L0~ * zp' [@I04k**1p E>,,d 0p>fP L mOx p`*P+ 0 y "qc0+ R`K| p+*p+ $} Mˡ=o+Nn[L  6#`.0:KЁy@+ c V"|xK?-NXlʋ$(r@0 &H:Lk `#aG %_dlVx\`]B3T@# `+ vY?%j?Io Pl-o#h+qIC `S .,c S%K4.@ Ʋ/b@5,a/γiQlY]` yF}sг<7ӢůXM=FRpYcI }p~00o4",001s/B` _2A'pA5QC ~9 @t+q0 F91i Pc -iZs6W1ؘ4;?sh8 C_ ` W Cд>~BЬH0(wAS\ J00`@ye L0GPiA aAIpNhw&$ŦDȔI:P,'@I-D!#Sd-,`fȬtJ R`9LӘ14S*Ҷ}z~ 0.e.02@V p<0딫B_5B4Y!-r"d!OL`L*P&; Mt1+\R.+h.0}4%T.B KkVן .+|~͇s'A.~Q+Y% 0/:@m 3!0M 42SUd"DB ,L8Nh< J> 翤K>;48 tp{wL!/xw /M p</K ȀHw0Ndzh  @^ppl+H%xPa ^8G>`QZ  ! ւHI UJ@d4GqCf Y Vv@?dAB cu? L0n{@ B|n$wl <ф\-Q ?b`Max=1G".ldȐ ABA9H`(iN 0B XJcnI$T8EȦ0Vj.Hp1@Ƹ% CMUcBd BA]R h\e3y)(X.La Dgƌ0h4гdacJ)P2=^ ¸{| aL#hlXsn nt  KʬT$ d01Eu`g@@7E%VbWܣkg!*FxAAG^2(YP`( ̸>@q+ Hj0|O^*OU4!Yb׌#҅\Y ƨ!9?2$Daٗ MM>`S/ 茊A?[9lz k2L29Gm ,9#f0f`o !4ou0 eAp03aL+xvxt7Cd !4@ Xl70 A0p9G `x -YS+eBHWd 01 0 f,2F iJ<靆nc# B1 ( `2BT0  `]3W`l fPx=J0 4<iD.dAVSuHEl!CxZIɫ:cM4i` $rnA%c/nG PT-GA=404 m- A61 8t? .g0hr "0c/ P) $u5'X`"nK`4'Db!!И[c AXNLiU#@05CRW_!8&Un=G7믄~6č@a1BLs`^mH|#hpX`xp| Bӛ"UWh#LWhm& e"0h A70 dž0Q4nB`+ Q0#'CO}']c_0I 3\%W~ցp6~0q P P̀w~W~[#F 7~ Х=b}!JXP7,~ 0f&+1̓~w0L! 76|!P- 0jhJH8T [(w('hH h+q3 5~0"!"s = J[r竂vF( Јb(!0*f~_`"M\80p,x.(t h}$X&PK *ۋ(!8 !  轋" @52h# huh ыPn授 (Ʌ' x 8:U@}8}ߍHh 8ŁY !/\),`Hh( )i>82CQxI7O"kY([('ࡑ 0i92ggxi}0 1, B`E " `[^\( >8`*(Ny `9(]up09/N}bRO}pgbI%P:hv}0\G" H\! *HS;G` @ӟi2 06Yҏ@@\ 0 T7PM!%J# p:Z(  !J(:%*8z+aҏ!@s :7 0,*2r5z `P*"@<nCgjZZ^\ ;}. Jshrrt |~:. <zf;\.iD\))}* ʓ +ԣ@Mshj. *ZY0ZD 0a'`oedflP rrV3@c`VH@*}r#{@͟0 zjPګi h ؖ`! r N@ A$!.0U*ށ  cNl0tL0Tp nP+"pa/[2 d!\ D}9}ߦy"!gW`\u@@[*,"*!B+\r'Uv < 0J!h <* qh# *} 5~1P !8 ۘȻU^1+O1{ 5aK*=;j;LvK2kk;12kOا+h2cp\H9;یށ;ĽP[ =jghRWԟ0 Vrz{x8hM讉( ҊidHPX봰M 0OPyYP `]8U iYT'@sp>IB}PZmЗ@xOx > n"\Ww"( >@MC⨜M?p8?C8 ŗxq Ж]x0YLxȫv!(%#ݐ\bu D܊듹Xvp! p?-h(ǐ`Bl{; 31\L8[#ͼC؄ MAŮ+J' țLuIr woYP@ϐ]͌R8'> дsýB7|. H" Ȝ ~`K" PPF-  R ,  :]'0PR l"E}I- d=T<"i]00i<ѝ!yo_@ u~kcPm_ݴ<9-!o}ђ!,o^ ЭZڋ( sDP(и?;A;1 #^,* `B} 0)r 0~‹ژܠ"  tZ!È[B} 0Mۭ7L@#۬ٻޭէdPr]w`ۭ! қNׅ=  *! *#g !B 횊'xC9EL,xgkPٵH 3C`* i0 ^<@!B pCX * ~.Ӕ 륞͈!>sXx =) @". 9P! 0" *1;~ 0TW+LK0+< H/._/7<o"Yh/%{* 3%2PF ]s8/ YC ȗc2_[㐀i@. 4x[Gruli ,xq`EXi;@  M W^X( pYz;B1/p ?/ I8/(0G|"6No g+۵P  gs kp\GbB>6 r0B SH pzr 0Wp/ 0p`? = Ap %H[ Ń`@ 0pa m{ $m ``(W#G'@ p`H G{l|?ggj2r vu6(Hw? ؜ ` @0: 2 7 ɵwHГHQ1`RqBЖ|0s11Nho3R) : ?_Q ]NNr`Ȳ+Fvl00~x  A cGt݂ H o!Lv9`p)t H+pH)L* 0 }u UvUz # 0x-'@-op )\էHS|Iѽ~#nH_`I`Iu2"- @IIл y H% Wn%W L<4w,(dN W]$#R"D 9|[Wif/ upX.Փ.LiI]2QNRwY- iuISjL !S T:-1zV=YS5ϫFK4nja8KŸ"(^g>3֋,/+DN`/'p )uHPIԉ3G#)w2ϋ @҃wu)J>-N/?t/DM|G)!)|_7-L|(rof2Gɧ,1iʸ2,YLJ0ch92@cQaseu,>94e9r$eZ?jGƘ#{Tx#'y/b$3 G$#: :QY$JT $Ƣ (ZQB4@@`(0Flk:ַ@T# pڹ@0 +RG$r@d{fYm@2@`;Y@ G oB0,0Lk;.rC;Քa4&l'><@@ 7!53Q5 $0$@OI@ 8 5 o@@.D+6p/h$T>vFFT.C # M3aegC!.4$ L'CDN+0m8 Z,#iP'IBl4M&\_(h"f1 Fcn9(CqgD2Mв1hn3q8 C'J)`@oFSXqøe8Runq:Oea9gsCtP)k`z [Fٸ tg~W֘ hD-R0 O.}_x)ˆ)- _b`W-ޘe}0 0bu. `( &f ! QhoBB"eGW ɸb怲j9f (`gMۅE7i °&pvstfaɖuh]AEҤ.aFua:eAP[` d@wE6b᎔,]Ycͽ_;Z| 4(j!Ӳ:{:V;U z.ǹIʟm𙕸˖ p@vݚ&FJ*TYec8m7fBCmrh9rl rnȇKȢlbΐ'5,̖ml$amdc0YA63>tCt[ 5zdn׻<`-)$ eaal]a 9!./źnS i(>e/YYw7;^g~|}< ꂎh X!g8=Ev^Q} lPQٷ2ܿ)ٴ͢چ~t#|`7T P U8 8P\?Q9u>h .:0A3X.AG .[4|[w0bPxtb,?{,+Cb Ψ12.Y&O&߻6*P(gX-EZ"qSi  p@}_ry84a{E4@IXo0gpaRp\lf gBA`jk%v x(ʕ8X"RP@/gБ@%l~8dgft 5eXjHl b{eLS4%>k Īny<QQ NDۤB@WvFOURIER.C # M3aegC!.4$ L'CDN+0m8 Z,#1S")@T)g!b 3Χ#I(7ef),; &3Ay1jVV;ҁ0XeX$)ڢs2X<)  z|f/W+lp@ C#'6 bccM~݉9b}< s1&Ak7Vl@ b:1sh b8Sa@#pVB!mUh g_\ѸsS!.E)igE]lVX֙XPi᱒ P59OG0$7oKY9 t Bj(yihbep!tSCQbZ"cG)8NYrR5tc }ZYVwR]t%v^~,]Wu{wsW"s1\ʨ+ W&VlAeGQ jxp e B]J[lv_j*̳*;R۵k'&e/ !l5 ⸕+y֦dီ o`ݜHz 9}y^GWA *3 1 C6 C08Cp3 04 mw+[ǡuq҉^w \9{_Wtx APtmWdSrH4hfcuxd񓫞`>5 2|kp/{1nrn:@pc$TA[Qv9<˪~졷 1wؒ d‹1*k}u` l,+UQs%Vc}l,0Ja  2 ͎x+beߝTi㸀 ]evKE2 ]aw9 ނz-(c">%&nx",zQ"7d/* Header file for implementation of complex numbers. Should be #include(d) in any file which performs complex math. See Clark, DDJ, Oct. 1984. Bob Presswood Aug. 31, 1985 */ typedef struct { double real; double imag; } COMPLEX; typedef struct { double radius; double theta; } POLAR; This file contains the routines necessary to implement complex math in C. Refer to David D. Clark's article "Simple Calculations with Complex Numbers", in Dr. Dobb's Journal, Oct. 1984. These routines should compile with any version of C which supports double precision. FFT and FOURIER are derived from the same article. FFT.COM is produced by linking the relocatable objects from FFT, FOURIER, and COMPLEX. Bob Presswood Aug. 31, 1985