PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/share/emacs/24.3/lisp/calc
Viewing File: /usr/share/emacs/24.3/lisp/calc/calc-bin.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:55:44 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/calc/calc-bin.el ;;; in Emacs version 24.3.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\207" [require calc-ext calc-macs] 2) #@133 The logb of the size of a bignum digit. This is the largest value of B such that 2^B is less than the size of a Calc bignum digit. (defconst math-bignum-logb-digit-size (logb math-bignum-digit-size) (#$ . 629)) #@67 The largest power of 2 less than the size of a Calc bignum digit. (defconst math-bignum-digit-power-of-two (byte-code "\301\302\303!\"\207" [math-bignum-digit-size expt 2 logb] 4) (#$ . 847)) (defalias 'calc-and #[(n) "\300\301`\"\207" [calc-do #[nil "\301\302\303\304\305\306\302!\205\307!C##\207" [n calc-enter-result 2 "and" append (calcFunc-and) calc-top-list-n prefix-numeric-value] 8]] 3 nil "P"]) (defalias 'calc-or #[(n) "\300\301`\"\207" [calc-do #[nil "\301\302\303\304\305\306\302!\205\307!C##\207" [n calc-enter-result 2 "or" append (calcFunc-or) calc-top-list-n prefix-numeric-value] 8]] 3 nil "P"]) (defalias 'calc-xor #[(n) "\300\301`\"\207" [calc-do #[nil "\301\302\303\304\305\306\302!\205\307!C##\207" [n calc-enter-result 2 "xor" append (calcFunc-xor) calc-top-list-n prefix-numeric-value] 8]] 3 nil "P"]) (defalias 'calc-diff #[(n) "\300\301`\"\207" [calc-do #[nil "\301\302\303\304\305\306\302!\205\307!C##\207" [n calc-enter-result 2 "diff" append (calcFunc-diff) calc-top-list-n prefix-numeric-value] 8]] 3 nil "P"]) (defalias 'calc-not #[(n) "\300\301`\"\207" [calc-do #[nil "\301\302\303\304\305\306\302!\205\307!C##\207" [n calc-enter-result 1 "not" append (calcFunc-not) calc-top-list-n prefix-numeric-value] 8]] 3 nil "P"]) (defalias 'calc-lshift-binary #[(n) "\300\301`\"\207" [calc-do #[nil "\302 \203 \303\202\n\304\305\306\307\310\311! \205\312 !C##)\207" [hyp n calc-is-hyperbolic 2 1 calc-enter-result "lsh" append (calcFunc-lsh) calc-top-list-n prefix-numeric-value] 8]] 3 nil "P"]) (defalias 'calc-rshift-binary #[(n) "\300\301`\"\207" [calc-do #[nil "\302 \203 \303\202\n\304\305\306\307\310\311! \205\312 !C##)\207" [hyp n calc-is-hyperbolic 2 1 calc-enter-result "rsh" append (calcFunc-rsh) calc-top-list-n prefix-numeric-value] 8]] 3 nil "P"]) (defalias 'calc-lshift-arith #[(n) "\300\301`\"\207" [calc-do #[nil "\302 \203 \303\202\n\304\305\306\307\310\311! \205\312 !C##)\207" [hyp n calc-is-hyperbolic 2 1 calc-enter-result "ash" append (calcFunc-ash) calc-top-list-n prefix-numeric-value] 8]] 3 nil "P"]) (defalias 'calc-rshift-arith #[(n) "\300\301`\"\207" [calc-do #[nil "\302 \203 \303\202\n\304\305\306\307\310\311! \205\312 !C##)\207" [hyp n calc-is-hyperbolic 2 1 calc-enter-result "rash" append (calcFunc-rash) calc-top-list-n prefix-numeric-value] 8]] 3 nil "P"]) (defalias 'calc-rotate-binary #[(n) "\300\301`\"\207" [calc-do #[nil "\302 \203 \303\202\n\304\305\306\307\310\311! \205\312 !C##)\207" [hyp n calc-is-hyperbolic 2 1 calc-enter-result "rot" append (calcFunc-rot) calc-top-list-n prefix-numeric-value] 8]] 3 nil "P"]) (defalias 'calc-clip #[(n) "\300\301`\"\207" [calc-do #[nil "\301\302\303\304\305\306\302!\205\307!C##\207" [n calc-enter-result 1 "clip" append (calcFunc-clip) calc-top-list-n prefix-numeric-value] 8]] 3 nil "P"]) (defalias 'calc-word-size #[(n) "\300\301!\207" [calc-do #[nil "\204 \305\306\307 \"!;\203-\310\232\203 \2020\311\312\"\203'\313!\2020\314\315!\2020\316!\211 U\204T\317!\320V\203H\321\301\n#\210\202T\321\322\323\317!!D\n#\210\323\317!!\323\317!S!\324 \210\325 \210\326W\203s\327\330[\"\207\327\331\"\207" [n calc-word-size calc-leading-zeros math-2-word-size math-half-2-word-size read-string format "Binary word size: (default %d) " "" string-match "\\`[-+]?[0-9]+\\'" string-to-number error "Expected an integer" prefix-numeric-value math-abs 100 calc-change-mode (calc-word-size calc-previous-modulo) math-power-of-2 calc-do-refresh calc-refresh-evaltos 0 message "Binary word size is %d bits (two's complement)" "Binary word size is %d bits"] 7]] 2 nil "P"]) (defalias 'calc-radix #[(n &optional arg) "\300\301!\207" [calc-do #[nil "\304Y\203#\305X\203#\306\302\303D \206\307 D\310#\210\311\302\n\"\210\202%\n \203.\312\313\"\207\312\314\"\207" [n arg calc-number-radix calc-twos-complement-mode 2 36 calc-change-mode calc-is-option t set-default message "Number radix is %d, two's complement mode is on." "Number radix is %d"] 4]] 2 nil "NDisplay radix (2-36): "]) (defalias 'calc-decimal-radix #[nil "\300\301!\207" [calc-radix 10] 2 nil nil]) (defalias 'calc-binary-radix #[(&optional arg) "\301\302\"\207" [arg calc-radix 2] 3 nil "P"]) (defalias 'calc-octal-radix #[(&optional arg) "\301\302\"\207" [arg calc-radix 8] 3 nil "P"]) (defalias 'calc-hex-radix #[(&optional arg) "\301\302\"\207" [arg calc-radix 16] 3 nil "P"]) (defalias 'calc-leading-zeros #[(n) "\300\301!\207" [calc-do #[nil "\304\305\306\211$\203\307\310\311\312\313\n! \") #\207\307\314!\207" [n calc-internal-prec calc-word-size calc-number-radix calc-change-mode calc-leading-zeros t message "Zero-padding integers to %d digits (assuming radix %d)" 6 math-compute-max-digits math-abs "Omitting leading zeros on integers"] 5]] 2 nil "P"]) (defvar math-power-of-2-cache (list 1 2 4 8 16 32 64 128 256 512 1024)) (defvar math-big-power-of-2-cache nil) (defalias 'math-power-of-2 #[(n) "\306!\2034\307X\2034 8\206R G\211S 8\nX\2031\310 \311\" C\244\nT\211\202 *\207\f\236\211\203A A\202Q\312\311\"  B\fB ))\207" [n math-power-of-2-cache i val math-big-power-of-2-cache found natnump 100 math-mul 2 math-ipow po2] 4]) (defalias 'math-integer-log2 #[(n) "\306\307\n\203>\n@\211\f\211\f:\203( :\2051\310\fA A\"\311U\2021 :\2061\f W*\203>\nA T\202\n\203L \f\232\205\213 \202\213\312 \313\"\211 C\244\f\211\f:\203q :\205z\310\fA A\"\311U\202z :\206z\f W*\203\204 T\202L \f\232\205\213 +\207" [math-power-of-2-cache val p i n b 0 nil math-compare-bignum -1 math-mul 2 a] 4]) (defalias 'calcFunc-and #[(a b &optional w) "\211:\205 @\303=\205\304 8\305Y)\203\306 \n\307!#\207\203-\250\204-\310\311\"\207 \250\203?\n\250\203?\312\313 \n\"\"\207 \242\314=\204M\n\242\314=\203T\315\306 \n$\207 \211:?\206o @\316>\206o @\303=\205o\304 8\305Y)\204x\310 \317\"\207\n\211:?\206\223 @\316>\206\223 @\303=\205\223\304 8\305Y)\204\234\310\n\317\"\207\312\320\321\322 \"\322\n\"\"B\"\207" [w a b float 2 0 calcFunc-and math-trunc math-reject-arg fixnump math-clip logand mod math-binary-modulo-args (bigpos bigneg) integerp bigpos math-and-bignum math-binary-arg] 8]) (defalias 'math-binary-arg #[(a w) "\211:?\206\f@\303>)\204\304!\211:\203\"@\305=\202%\306W)\203@\307\310\311\312\"!A\313 \203<\304 !\202=\n!\"\207\211:\203K\202N\314!)A\207" [a w calc-word-size (bigpos bigneg) math-trunc bigneg 0 math-not-bignum math-bignum-test math-sub -1 math-abs math-bignum] 6]) (defalias 'math-binary-modulo-args #[(f a b w) "\306 \242\300=\203/\307 8 A@\n\242\300=\2037\307\n8\232\203'\nA@\2027\310\n\311\"\210\2027\307\n8\nA@\211:\205J @\312=\205J\307 8\313Y)\203U\314!\202j\211:?\206a @\315>)\204j\310\316\"\210\317!\211\203\210\f\203\203\f U\204\214\320\321!\210\202\214 \202\214\320\322!\210\323\n\203\231 \n\f#\202\235 \f\"\"*\207" [mod a b bits w f nil 2 math-reject-arg "*Inconsistent modulus" float 0 math-trunc (bigpos bigneg) integerp math-integer-log2 calc-record-why "*Warning: Modulus inconsistent with word size" "*Warning: Modulus is not a power of 2" math-make-mod] 6]) (defalias 'math-and-bignum #[(a b) "\205& \205&\305\n\"\305 \n\"\306\307\310\f@!\310 @!\"\n\311\fA A\"#*\207" [a b math-bignum-digit-power-of-two qb qa math-div-bignum-digit math-mul-bignum-digit math-and-bignum math-norm-bignum logand] 6]) (defalias 'calcFunc-or #[(a b &optional w) "\211:\205 @\303=\205\304 8\305Y)\203\306 \n\307!#\207\203-\250\204-\310\311\"\207 \250\203?\n\250\203?\312\313 \n\"\"\207 \242\314=\204M\n\242\314=\203T\315\306 \n$\207 \211:?\206o @\316>\206o @\303=\205o\304 8\305Y)\204x\310 \317\"\207\n\211:?\206\223 @\316>\206\223 @\303=\205\223\304 8\305Y)\204\234\310\n\317\"\207\312\320\321\322 \"\322\n\"\"B\"\207" [w a b float 2 0 calcFunc-or math-trunc math-reject-arg fixnump math-clip logior mod math-binary-modulo-args (bigpos bigneg) integerp bigpos math-or-bignum math-binary-arg] 8]) (defalias 'math-or-bignum #[(a b) "\204 \205&\305\n\"\305 \n\"\306\307\310\f@!\310 @!\"\n\311\fA A\"#*\207" [a b math-bignum-digit-power-of-two qb qa math-div-bignum-digit math-mul-bignum-digit math-or-bignum math-norm-bignum logior] 6]) (defalias 'calcFunc-xor #[(a b &optional w) "\211:\205 @\303=\205\304 8\305Y)\203\306 \n\307!#\207\203-\250\204-\310\311\"\207 \250\203?\n\250\203?\312\313 \n\"\"\207 \242\314=\204M\n\242\314=\203T\315\306 \n$\207 \211:?\206o @\316>\206o @\303=\205o\304 8\305Y)\204x\310 \317\"\207\n\211:?\206\223 @\316>\206\223 @\303=\205\223\304 8\305Y)\204\234\310\n\317\"\207\312\320\321\322 \"\322\n\"\"B\"\207" [w a b float 2 0 calcFunc-xor math-trunc math-reject-arg fixnump math-clip logxor mod math-binary-modulo-args (bigpos bigneg) integerp bigpos math-xor-bignum math-binary-arg] 8]) (defalias 'math-xor-bignum #[(a b) "\204 \205&\305\n\"\305 \n\"\306\307\310\f@!\310 @!\"\n\311\fA A\"#*\207" [a b math-bignum-digit-power-of-two qb qa math-div-bignum-digit math-mul-bignum-digit math-xor-bignum math-norm-bignum logxor] 6]) (defalias 'calcFunc-diff #[(a b &optional w) "\211:\205 @\303=\205\304 8\305Y)\203\306 \n\307!#\207\203-\250\204-\310\311\"\207 \250\203A\n\250\203A\312\313 \314\n!\"\"\207 \242\315=\204O\n\242\315=\203V\316\306 \n$\207 \211:?\206q @\317>\206q @\303=\205q\304 8\305Y)\204z\310 \320\"\207\n\211:?\206\225 @\317>\206\225 @\303=\205\225\304 8\305Y)\204\236\310\n\320\"\207\312\321\322\323 \"\323\n\"\"B\"\207" [w a b float 2 0 calcFunc-diff math-trunc math-reject-arg fixnump math-clip logand lognot mod math-binary-modulo-args (bigpos bigneg) integerp bigpos math-diff-bignum math-binary-arg] 8]) (defalias 'math-diff-bignum #[(a b) "\205$\305 \"\305\n \"\306\307\310\f@!\310 @!\" \311\fA\312 A!\"#*\207" [a math-bignum-digit-power-of-two b qb qa math-div-bignum-digit math-mul-bignum-digit math-diff-bignum math-norm-bignum logand lognot] 7]) (defalias 'calcFunc-not #[(a &optional w) "\211:\205 @\303=\205\304 8\305Y)\203\306 \307!\"\207 \242\310=\203,\311\306 \312$\207\203:\250\204:\313\314\"\207 \211:?\206U @\315>\206U @\303=\205U\304 8\305Y)\204^\313 \316\"\207\206e\n\211\305W\203s\317\306 [\"\"\207\320\321\322\323 \"\"B!\207" [w a calc-word-size float 2 0 calcFunc-not math-trunc mod math-binary-modulo-args nil math-reject-arg fixnump (bigpos bigneg) integerp math-clip math-normalize bigpos math-not-bignum math-binary-arg] 7]) (defalias 'math-not-bignum #[(a w) "\305 \" \fX\203\306\307\nA!\310\311 \"S\"C\202,\312\313\314\n@! \fZ\" \315\nA S\"#)\207" [a math-bignum-digit-power-of-two q w math-bignum-logb-digit-size math-div-bignum-digit logand lognot lsh 1 math-mul-bignum-digit math-not-bignum math-norm-bignum logxor] 6]) (defalias 'calcFunc-lsh #[(a &optional n w) "\305! \203\305 !\202\306\242\307=\203\310\311 \n$\207\n\203(\305\n!\202) \211\250\2044\312\n\313\"\210\211:?\206@@\314>)\204I\312\315\"\210 \211:?\206U@\314>)\204^\312 \315\"\210\n\316W\203n\317\311 \n[#\n\"\207\211:\203|@\320=\202\316W)\203\210\317\n\" \n[\321\f\"\322U*\204\245\n \321\f\"\322U*\203\247\316\207 \316W\203\270\323\317\n\"\324 [!\"\207\317\325\324 !\"\n\"\207" [a n w calc-word-size b math-trunc 1 mod math-binary-modulo-args calcFunc-lsh math-reject-arg fixnump (bigpos bigneg) integerp 0 math-clip bigneg math-compare -1 math-quotient math-power-of-2 math-mul] 6]) (defalias 'calcFunc-rsh #[(a &optional n w) "\303\304 \206\305!\n#\207" [a n w calcFunc-lsh math-neg 1] 4]) (defalias 'calcFunc-ash #[(a &optional n w) "\203E\211:\203> @\306=\206A @\307=?\205A @\310>\2038 A@\211:\2031 @\306=\2024 \311W)\202A\312 !\202A \311W)\204K\313 \n#\207\314 !\203Y\314!\202Z\315 \242\316=\203i\317\320 \n$\207\n\203s\314\n!\202t \211\250\204\321\n\322\"\210 \211:?\206\213 @\323>)\204\224\321 \324\"\210\211:?\206\240 @\323>)\204\251\321\324\"\210\n\311W\203\271\325\320 \n[#\n\"\207 \211:\203\307 @\306=\202\312 \311W)\203\323\325 \n\"\326\nS!\313 \n# \211:\203\372:\205\327 AA\"\330U\202:\206 W*\203\f\f\202=\315\nZ\331 \"\330U*\203(\332\333 \334\"\330\"\202=\326[!\332\313\332\330\"\n\\\n#\f\")*\207" [n a w calc-word-size sh two-to-sizem1 bigneg bigpos (frac float) 0 math-negp calcFunc-lsh math-trunc 1 mod math-binary-modulo-args calcFunc-ash math-reject-arg fixnump (bigpos bigneg) integerp math-clip math-power-of-2 math-compare-bignum -1 math-compare math-add math-mul 2 b two-to-n] 6]) (defalias 'calcFunc-rash #[(a &optional n w) "\303\304 \206\305!\n#\207" [a n w calcFunc-ash math-neg 1] 4]) (defalias 'calcFunc-rot #[(a &optional n w) "\305! \203\305 !\202\306\242\307=\203\310\311 \n$\207\n\203(\305\n!\202) \211\250\2044\312\n\313\"\210\211:?\206@@\314>)\204I\312\315\"\210 \211:?\206U@\314>)\204^\312 \315\"\210\n\316W\203n\317\311 \n[#\n\"\207\211:\203|@\320=\202\316W)\203\210\317\n\" \211:\203\226@\320=\202\231\316W)\204\302 \n\211:\203\266\f:\205\276\321A\fA\"\322U\202\276\f:\206\276\fW*\204\313\311\323 \n\"\n#\207\324\325 \nZ\n#\325 \n#\"\207" [a n w calc-word-size b math-trunc 1 mod math-binary-modulo-args calcFunc-rot math-reject-arg fixnump (bigpos bigneg) integerp 0 math-clip bigneg math-compare-bignum -1 math-mod math-add calcFunc-lsh] 7]) (defalias 'math-clip #[(a &optional w) "\211:\205 @\305=\205\306 8\307Y)\203\310 \311!\"\207 \242\312=\203,\313\310 \314$\207\203:\250\204:\315\316\"\207 \211:?\206U @\317>\206U @\305=\205U\306 8\307Y)\204^\315 \320\"\207\206e\n\211\307W\203\243\310 [\"\211\321\322Z!\211:\203\215 :\205\225\323 A A\"\322U\202\225 :\206\225 W*\203\233 \207\324 \321[!\"\207 \211:\203\335 @\325=\206\340 @\326=?\205\340 @\327>\203\327 A@\211:\203\320 @\325=\202\323 \307W)\202\340\330 !\202\340 \307W)\203\355\331\326\332 \"B!\207 \250\203  \fW\203 \333\f!V\203 \207\334 \335\336\"S\"\207\331\326\337\340\311 !!A\"B!\207" [w a calc-word-size b math-small-integer-size float 2 0 math-clip math-trunc mod math-binary-modulo-args nil math-reject-arg fixnump (bigpos bigneg) integerp math-power-of-2 -1 math-compare-bignum math-sub bigneg bigpos (frac float) math-negp math-normalize math-binary-arg logb logand lsh 1 math-clip-bignum math-bignum-test] 7]) (defalias 'calcFunc-clip 'math-clip) (defalias 'math-clip-bignum #[(a w) "\305 \" \fX\203\306\nA\307\310 \"S\"C\202&\311\312\313\n@! \fZ\" \nA#)\207" [a math-bignum-digit-power-of-two q w math-bignum-logb-digit-size math-div-bignum-digit logand lsh 1 math-mul-bignum-digit math-clip-bignum math-norm-bignum] 5]) (defvar math-max-digits-cache nil) (defalias 'math-compute-max-digits #[(w r) "\306_ \\\211 \236\211\203\fA\202)\307\310\311 \312!\"! \n B B **\207" [r w pair math-max-digits-cache res calc-command-flags 100000 nil math-ceiling math-div math-real-log2 digs] 6]) (defvar math-log2-cache (list '(2 . 1) '(4 . 2) '(8 . 3) '(10 float 332193 -5) '(16 . 4) '(32 . 5))) (defalias 'math-real-log2 #[(x) " \236\211\203 \nA\202\306\211\307\310\" B B +)\207" [x math-log2-cache res calc-symbolic-mode calc-display-working-message log nil calcFunc-log 2] 4]) (defconst math-radix-digits ["0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z"]) (defalias 'math-format-radix-digit #[(a) " H\207" [math-radix-digits a] 2]) (put 'math-format-radix-digit 'byte-optimizer 'byte-compile-inline-expand) (defalias 'math-format-radix #[(a) " W\203\304W\203\305\306[!P\207\nH)\207\307\304V\2035 \246\nH) P \245\211\202 )\207" [a calc-number-radix math-radix-digits s 0 "-" math-format-radix ""] 4]) (defconst math-binary-digits ["000" "001" "010" "011" "100" "101" "110" "111"]) (defalias 'math-format-binary #[(a) "\303W\203\304W\203\305\306[!P\207\307!\207\310\311V\203/\n\303\246H P\303\245\211\202\307! P)\207" [a s math-binary-digits 8 0 "-" math-format-binary math-format-radix "" 7] 4]) (defalias 'math-format-bignum-radix #[(a) "\204\304\207A\204@ W\203@\nH)\207\305 \"\306\307 @!! A\nH)P)\207" [a calc-number-radix math-radix-digits q "0" math-div-bignum-digit math-format-bignum-radix math-norm-bignum] 3]) (defalias 'math-format-bignum-binary #[(a) "\204\303\207A\204\304@!\207\305\306\"\307\310 @!!\n A\311\245H\n A\312\245\312\246H\n A\312\246HR)\207" [a q math-binary-digits "0" math-format-binary math-div-bignum-digit 512 math-format-bignum-binary math-norm-bignum 64 8] 6]) (defalias 'math-format-bignum-octal #[(a) "\204\303\207A\204\304@!\207\305\306\"\307\310 @!! A\311\245\nH) A\312\245\312\246\nH) A\312\246\nH)R)\207" [a q math-radix-digits "0" math-format-radix math-div-bignum-digit 512 math-format-bignum-octal math-norm-bignum 64 8] 5]) (defalias 'math-format-bignum-hex #[(a) "\204\303\207A\204\304@!\207\305\306\"\307\310 @!! A\311\245\nH) A\311\246\nH)Q)\207" [a q math-radix-digits "0" math-format-radix math-div-bignum-digit 256 math-format-bignum-hex math-norm-bignum 16] 4]) (defalias 'math-float-parts #[(a need-frac) "\3058\306Y\203\307A@\3058\"\310\306E\207\311A@!\3058[ \203H\n Y\2030\306\nE\202S\312A@\313\314\n\"\"\211@\315\fA\n[\"\nE)\202S\307A@\3058\"\316\306E*\207" [a d n need-frac qr 2 0 math-scale-rounding (float 0 0) math-numdigs math-idivmod math-scale-int 1 math-make-float (float 0 0)] 6]) (defalias 'math-format-radix-float #[(a prec) "@A@ \306\211\2110\307=\203\263\310 !1\31121\312V\"3\313\31438\3151\316\"]\\43@5\317\320\3213A@!\3221!\"!6\3236!\203Z\3235!\203Z \312W\204\260\306\211781\312V\203n\3246!\202o\325\211G1W\203\206\3261 GZ\327\" P\202\232 G1V\203\232 \330\306O\3315\330\"5\3245!\f Q)8\203\254\332 !)\202\262\312- \204\35549 \312V\203\305 \202\325\330 \3159\3332A@!]!S\\]1\313\3151\316\"\\4\334:\322:!;\330<\322<!=\306\211>?\306@\3212!\2112\2112:\203*2@\335>?\205.2@\336=\203#2A@\312=\202.\3232!\202.2\312=)\2038\312:\202\304\337\3402\"\203a\3372=\"\204\202<:=;\320<\314\"<\322<!=\202@\3372;\"\203\202:<;=\320:\314\":\322:!;\202a\341<:\"\330=\204\274\342\331:<\"!>\322>!?\3372?\"\203\261><?=\202\202>:?;\202\202\3432;\"2\317\3202\3221S!\"!A\306\21178\324A!+ G1V\203\357 \312\334O:T:0\336=\203_\344:\345 \312U\203\3159!S\202\n1B\330#\"\203_\344C:\"\203_:T\211D\312X\2034\346\f\326D[\327\" R\202XD GV\203K \326D GZ\327\"\fQ\202X \312DO\f D\306OQ\306:)\202\2030\347=\203q\350:\313\" G^\202r\312@ \312@TO\f @T\306OQ G \nSH\327=\203\225\nS\202\206:\203\246 \nSH\351=\203\246\nS \312\nO8\203\264\332 !:\203\353\352\3068E\324\341:@\"!*FG\353>\204\330E\354V\203\343\355\356 EF$\202\351\355\357 F#).\n -\207" [calc-float-format calc-point-char pos str point figs nil fix math-abs math-float-parts 0 3 2 math-convert-radix-digits t math-round math-mul math-normalize math-radix-float-power math-zerop math-format-number "" make-string 48 1 math-add math-group-float math-numdigs -1 (bigpos bigneg) float math-lessp-float (float 1 0) math-sub math-div2 math-div-float math-lessp + "0" eng math-mod 46 10 (math maple) 14 format "%s*%d.^%s" "%se%s" fmt afigs a fp calc-internal-prec int frac math-radix-explicit-format calc-group-digits prec explo vlo exphi vhi expmid vmid eadj sc calc-display-sci-high calc-display-sci-low dpos calc-number-radix estr calc-language] 7]) (defvar math-radix-digits-cache nil) (defalias 'math-convert-radix-digits #[(n &optional to-dec) " \nBB\306 \f\"A\2064\307\310\311\n!\312\" \313 \203&\314 \"\202+\310 \"!B\fB\211@A*)\207" [n to-dec calc-number-radix key math-radix-digits-cache calc-internal-prec assoc 6 math-div math-real-log2 (float 332193 -5) math-ceiling math-mul log] 5]) (defvar math-radix-float-cache-tag nil) (defalias 'math-radix-float-power #[(n) "\305=\203\306\207 \n@=\203 \nAX\204 B\307\310\311\f\"A\206X\nA\312!\203:\313\314\315\316!!\"\202P\317\320\315\321!!!\322!\203L\323\202O\324 !\")B\fB\211@A!\207" [n calc-number-radix math-radix-float-cache-tag calc-internal-prec math-radix-float-cache 0 (float 1 0) nil math-normalize assoc math-negp math-div-float (float 1 0) math-radix-float-power math-neg math-mul-float math-sqr-float math-div2 math-evenp (float 1 0) math-float] 7]) #@45 Format an integer in two's complement mode. (defalias 'math-format-twos-complement #[(a) "\306\211\n\307=\204\n\211:\203\n@\310=\202\n\307V)\2031\n\250\203*\311\n!\202[\312\nA!\202[\n\211:\203?\n@\313=\202B\n\307W)\205[\314\n \"\211\250\203V\311\f!\202Z\312\fA!)\315\316\317!\" G\211W\203\320Z\321\" P+\203\211\322 !\323!\324 Q+\207" [overflow negative a math-2-word-size newa num nil 0 bigpos math-format-radix math-format-bignum-radix bigneg math-add 6 math-compute-max-digits math-abs make-string 48 math-group-float number-to-string "##" calc-internal-prec calc-word-size calc-number-radix digs len calc-group-digits] 4 (#$ . 21483)]) (provide 'calc-bin)