rlc.avm 5.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. # Thses functions use a restricted form of RLC circuits to
  2. # demonstrate complex arithmetic and recursion. The circuit is
  3. # represented as a tree with `s or `p as non-terminal nodes, and pairs
  4. # of strings and reals as terminal nodes. The strings begin with R, L or
  5. # C, and the real is its resistance, inductance, or capacitance.
  6. #
  7. # impedance takes an argument of the form (w,t) where w is an angular
  8. # frequency and t is a tree of type %cseXD representing a circuit. The
  9. # result is a tree of type %cjXsjXD, where each node contains the
  10. # (complex) impedance of its subtree.
  11. #
  12. # current_division takes a complex input current and a real angular
  13. # frequency to a function that takes a circuit tree as above to a list
  14. # of assignments of the form <component-name: (current,voltage)..>,
  15. # where component-name is a string and current and voltage are complex.
  16. #
  17. # current_division (15829)
  18. # impedance (15094)
  19. # phaser (426)
  20. #
  21. # compressed with granularity 84
  22. #
  23. {iwKwEI{hwZkjhwziXbrhx{og?^XrpiIxnHz_esjrwzHf{wv_fUGxxiypBcux{Z{oQK=k_FfzxdatCk
  24. O=KyaFiAv`CqQiymvcucFNpsO@aZIqqhRKIYvjneD[\WJdNeGGFqaq?Pcs`kkIglHi=X@@_PvyMo<wm
  25. MM{SQLSZYYXA<EyNlND@=w>yrlcw<gQhNI[MqFMPYPmeT?y[L=kIQKIL{yg?Nw_HV?ZJBcFc{Hn{X{H
  26. [{{Kf@SoTn]VKrNLDSjOSPzQrrmz[{yNHpGpOxaPA>z^u[Dn^wsOyN{\]zE{Qc{\bpyOKMK>a{x_CwW
  27. QBO<iGIITOL[hAvQL[csIPtiKQSYMz[k=LWnaSqFqOsaOD@[_attF[t[Fo?EqJGL{?D[<[opA{=P=fo
  28. IMs{GbEctB[q\=yz[LPhoDnW?]o<S]zwdd[pdKbOjwKmXQl<Al@SsRC{{sLQ<^oHn_wBTLSywL`SgPg
  29. Ds?qvxnoTBcfSqD=@[c{{CiDN>F]LvFb[\=IfuzfmoVvzPeOv?QSTbZKzw^S^[Cuxt[QLRd`<?AlUlM
  30. =[Q<ZeK=SPnKRurq\`<m{yI<F[dCd[D[{_nfiL\a^NB[fed>H[{tymNHQWK^McwQ]eD[\c<SLO{{wqA
  31. NIu?<Mzq<oQs[sxDyJ\iOPnDHSkaPi=XTU^gcuy{gkIOP<eJCxppmStxskMTHER?\zP=cwqu\<c\F^g
  32. d[BZ[cuMZqNh@=]yQAYcYwPmXq?GzNrKNdmzaiONM<JglA\m>S^[=_vfqF?ApgO]ZrsIxdIRpsIMqWu
  33. <BCmZkRG\VjU]f[dAdtxqIp>OQLy=pHi=ywRwZUNZcjmkN?Auzj]DLBk^f@]zUoBnfl>oFvJIWV[mTR
  34. JE[NmJofqYEBvdE<QqMh\V{<?LS<\nWNggpdoqk=ts=kP{aHj\aVfgtB=BxpcOmb<T=D>Z<_OQA<OP?
  35. OpBHrSh?n\NvURUDG?ypMkJukX[DH`PyQOINghKyCCSYoPAXuIQPoOz@Wmt@p][zMg\hq?EOB]qaw?q
  36. lKtOG`gPVAMgi[UByqNNz[cndL?QPQHoIOpevjj@wTYP>biQ_wyYPMkZVeerEZ]t=Nfg<g{>eGyy^wL
  37. Fdv\fgPxcP[[LDMj`cSO]Pe{LOQIL=vYpvyH@_azdWhhgAIS@yMuytMkQuC?J]D[^oQI@LKl@beGSxg
  38. E{fWHQGBxADjYMuzMjZLZ<SGLS?NdGDzy?JeLK=vdvhFXQQMmUF{ZjWMnMkPs<Ad>Z_QSdfy@@^Hf>W
  39. WCfeQN`yek{mvkrg``W{[tre@IQ=DPOuND{DedE^qPAW@oL[coag{xZ{fMkHpxLYLkQQ<T{ml\>F[Dq
  40. N]J\nEZ]{x[L[co`d{{@Wq[aXTtLqPy>yT`F\>NievPe{LO{w`pEZ]{uN[coeByPyzWtxQQK\KQx^_Q
  41. BcX=D[^gcuyzPf[p@{zlEZ=vtMkk_hMsk[AiQSYJFy<HFUUbi=XFj]xUw{v=D[^gcuxNcubg`WxYwlh
  42. yrQ{tqFfhP?EkP<<zZ<>Zvk<R?@j[clpAlfvCnC]D[\Zg`Wjhm?MJ[{QcCuysQQCwHo^c{ce@=fubBg
  43. d[DZ<cjglAp@pAl=fuBwlxeuBAZ{fSREZ]u_PqUclD_Ecuy{zjBg^fVk<SLNM<VjU^\EtVjMjHKXqUF
  44. aQwy`Bve{LRKXnAPJ?H^Sb[{cux@=ft<BgbTftVjF^`LVjMjm{uSQM^_zzvFPNNCtkbaPnnH>FctHMz
  45. [>S\Z=ftVjF^@=ft>jBg`Wo[ZG?xvJYw{KwyHdpAl{uGGHvt@]zBEZ]vcubBg]gl>=ft@=fuByx{qqE
  46. JyKZx{kktz{Gxqr<cezSFIRWmgLSDe{LMD[\TVjBl\Vj=fuByGOsxw{zFxNFWgaw{Kww{Kwwhzon?vM
  47. <az[GPnLdd>Z@]zFpAl=ft[]ftVjMk?BisQygS\XpjvY_XggZz{_wzkqwxkkn{klivqcsNvcvHZ@iLT
  48. E@pAl\EtVj=TBg]fuBvK^Qo@CcGYN<Txk@lJWvtg{KwwxiyozSjg{ZvGZzoKin{FgXn<Dyd@@]z<[mP
  49. dj<cfM=ft\VjBg`Wl@jiRp[T{miHhp?@I\BkWwzKkv{sj`ivoXsG[[qwxiy{FsgZjGZgFzw_FoH=i<p
  50. AlCGN<L`LjBg\VjBg`W`]`w{V[xRYQZa<P@A_g_g[Z{g[Z{aw{KyzxixjhfoNsgZtiywgGXio_fsFiq
  51. hfsJjGXyUGGKnD<cuQFG]<VxBg]fmB{Pc\W{sQY[NOjOf>\<bkhNso[Z{@ixssipsskqZ{OxxwfsAjg
  52. rjJgXfsWHivssxxhhhwGRgEVhgNJgHohfnhdsGEllEAvgLL=hTVxBfMkddAs^{=aBqmXvPaHhjMGqin
  53. spixssjsG[FsoXgIG[IwweIywgZwhWGrgFzmWorvwfnJgINKGYNsGXtjxvxyVNhvvogh{HvyHrogfpB
  54. jj<F{{]P={=hDV`W]KOqIHCgXUv]aUF]PXcW_cKXiuXiwGZiy{KVimVioGIgafsfivskwG[IyzO[[qi
  55. VWOrjWQFzmhkhWOkKJxt{JxhonoNohwGjtjw_cohohvhwC]QhohZwPGJnw\BIN@Cuxt\@>CtVMjoYBi
  56. [jrrgYASuEgQE]=jAMHjxinwns?nsPinsJOGrgHynnSKKWgjgXJgYFsGXuXiqGYIohipsJJTyqehjwq
  57. dxWQiVwQiVWGjuhjw\UWOkJOkJkKRaWWGwJnzlC=bYHpbYFp]\aWfr]WPKVidi^=_<aucg\<R=`WykI
  58. Ih=esQCl`BgpIQHqAJJtKeIJvh`pwnoJxh_nnnoinOOrjOGsJkWbnzmIJxhokGDvhfhwOsGIXhphoQn
  59. nnoH?L=duqehkhKTKR_jJUR_bKYVWOwQehkhEPjnwjwOjuJw_rJyRrqWQgiR\>ACHzAchxLJAWiT<J?
  60. Qrqjt\FctHNjD=B{`PfOZ\FQCCj?p{rF<eN><JtB[ehjv{eHkXuHkXvwo_oqD[vWGj{eIKWpnxqNwQK
  61. eHkXuHkXvwg_gqiIKXuKXwX{DkXwX{dD<B?cRbqN<X<Jt=\B_`=T=\yqgiR_aRjqV?uPrnzmPrpzoiK
  62. h<R<T?jqdw<wiVJtDUtX<Bc]\LtQ_dD?_PIIUBNCtZg]BthzzlGWXY]Gnlp=Kn`hDw]\SQeiJw]avOO
  63. r{eHkWbpwjjw_tTAyNWGw=cwOOoCgIvKANK=cnOOr{eHkWbpwjjw_`ZhnyjoOruKW]wHkW^yjAtLB?c
  64. P_l<=T<<T<\B?pQDy\TuaVJLJ?uRjqVKQWWQIPjqN<D=\Jl=\C<w\A<]\<<T<>K<><?\\r>pAn=fuBy
  65. D`ceqF?rKp?RXHXCIPDw\=_cRbnzlTUzppxlQzpnxqWOOwRnzlJ@=l{PbqNA=bZhsDQcdS<tz?]\[oO
  66. Oo=[wOGoQiiKiWGw<tYCiHkHZppxoIKHBcIHkHoGo<P<=Lz=\<<<Tz<PDB?h=\\tKUR_p?\uiNK<zqD
  67. z@<T\<B^^<<<<<<>Z=fuB{uLhh[dKltVg?Taw@dtw^A\uqeiP^C=bZhsdrAunoZ_`ZjqVQgiRd\<K?y
  68. NK^A]rZ]ltATB^?f<]\XZhsDB]ZZhsduaVwQeRjqV<=]jZhsdYsiIwZhsd<[XpsivoZ^DB><I>^<T\<
  69. =\y<B>?TK\tK<z?TD<<`LVxMj=daGdCFJB_{BjcYYL<LwdDR?cP_n<B]rZ]`<<TCcdS]TSaVJLuaVJL
  70. D<J?tI\<A]jB@J>><<]]jZ]t<B=PZ]X?\uaVJLuaVJT<XBuvBLB<YkdW<WkdW]LCkDQ\QKdQ\N><<L=
  71. ^\<J<\<J\>jBl`W\su@<>K]LjnC_uYMGCj<<Q_tJ<<PBtU=TQ\T>=Tu]TS?bA^<ID<<B><<>=\W=l?]
  72. P=\\tJLJ?lu\t<=TU]\=lCTB=\BlA>B<XJ?\Q_L<D=<<=<[`Wj=rtPFblEAh?kA@=w\<JD^=d<<vF<A
  73. \D<Ad<^<]<T<Dt<LJ><<v<<B><=d^=^<B>>K<d<R@W]<<DeNVNblkX<aj`D<<<@<<<><<\<L<\\<<<D
  74. Mka>ezet?x^Zt<D<Mkdnd@fc_]l]W]Bxh^lFAdz>ZuBxO^_PA>lRuBwN>XF=ejMkbSY<GjMjlD{>>w`
  75. Ww?]lgjMkAd{]IjMjt=Ld<zuBt^\<ruBuLijMjDNW`WlgzMj^Hk`Wl]KuBzD?zMj<>s`W\kuBtDs`W\
  76. kuBvLs`W\VZMj>k`W^GuBtfzMj?KuBtDIuBtfZMj>k`WfIuBtdc`W^euBtfZMjfc`WAFZMdVc`TNc`I
  77. GtM>z@gtP{]<s`etVzBEtVZJc]NzHItlc_et`c_EvnZQetMEunZAMw@zLOtHz?KdouAK\Xz=OvQzLAz
  78. <qtIz>QtIz`QtCc\Bz=k\wtAs\JZ?k\bZ?cduuAk\Mc]utAceMuHz>Othz?StDQtjZ>Wt]c^utIC\ov
  79. aZFUteC^mthZgKaES]Ec``ZOCbmtOCiOu@OtOK]QZ@Su=S`qtQc]BzLUuJZAMtXzBUtUC]mtxZAOtmS
  80. _BZHMtxZEMtpZiKaMS]Mca@ZSC@PUp=O@<