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-forms.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:55:47 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/calc/calc-forms.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) (defalias 'calc-time #[nil "\300\301!\207" [calc-do #[nil "\301 \302\303\304\305\306\307\310\311O!\307\312\313O!\307\314\315O!F\306\316\303\211FE#)\207" [time current-time-string calc-enter-result 0 "time" mod hms string-to-number 11 13 14 16 17 19 24] 11]] 2 nil nil]) (defalias 'calc-to-hms #[(arg) "\300\301!\207" [calc-do #[nil "\302 \203\303=\203\304\305\306 #\207\304\307\310 #\207\304\311\312 #\207" [calc-angle-mode arg calc-is-inverse rad calc-unary-op ">rad" calcFunc-rad ">deg" calcFunc-deg ">hms" calcFunc-hms] 4]] 2 nil "P"]) (defalias 'calc-from-hms #[(arg) "\301 \210\302!\207" [arg calc-invert-func calc-to-hms] 2 nil "P"]) (defalias 'calc-hms-notation #[(fmt) "\300\301!\207" [calc-do #[nil "\302\303\"\203*\304\301\305\306\307\"\306\310\"\305\306\311\"\306\312\"\305\306\313\"\260\314#\210\315\301 \"\207\316\317!\207" [fmt calc-hms-format string-match "\\`\\([^,; ]+\\)\\([,; ]*\\)\\([^,; ]\\)\\([,; ]*\\)\\([^,; ]\\)\\'" calc-change-mode "%s" math-match-substring 1 2 3 4 5 t set-default error "Bad hours-minutes-seconds format"] 12]] 2 nil "sHours-minutes-seconds format (hms, @ ' \", etc.): "]) (defalias 'calc-date-notation #[(fmt arg) "\300\301!\207" [calc-do #[nil "\306\307\310\311 \n #,\203\312\311\313\"\203 \314! 8\311\315\"\204+\316\317!\210-\203R\320-!\211-\321Y\203R-\322X\203R\323 !\211\203R- \233\240\210\307.\311\324\"\204\207\311\325\"\203\207\311\326\327\330\331\"!\326Q\"\203\207\321\211\224O\332\321\224\321\225O\333\321\225\307O\260)\307\211\211\211\211\211\211/012345\307.\311\334\"\211/\203\260/\335I\210)\311\336\"\2112\203\2202\321V\203\314\3212O5B52T12H\337U\203\3703\203\343\316\340!\2105\203\36254\2444\3075\3103\202\2072H\341U\203 3\204\n\316\342!\2105\2035\2374B4\3075\3073\202\207\311\343\"\203,1T11GW\203L1H\2261SH\226U\203L1T\2111\202.\34421O!\2110\345>\204s0\346=\203m5\204m4\203s\316\3470\"\2100\350>\203\200\3515B505B51\307O\202\261\352\232\204\2345B55\203\2703\203\2615\2374B4\202\27054\2444\353\3544\237\310#.\207" [fmt start string regexp inhibit-changing-match-data calc-standard-date-formats "\\`\\s-*\\'" nil t string-match "1" "\\` *[0-9] *\\'" string-to-number "[a-zA-Z]" error "Bad date format specifier" prefix-numeric-value 0 9 copy-sequence "<.*>" "\\`[^hHspP]*\\([^ac-gi-lnoqrt-zAC-GI-OQRT-Z]*[bBhHmpPsS]+[^ac-gi-lnoqrt-zAC-GI-OQRT-Z]*\\)[^hHspP]*\\'" "[^ac-gi-lnoqrt-zAC-GI-OQRT-Z]*" regexp-quote math-match-substring 1 "<" ">" ":[BS]S" 67 "[<>a-zA-Z]" 60 "Nested <'s not allowed" 62 "Misplaced > in format" "\\`[^a-zA-Z]*[bB][a-zA-Z]" intern (Y YY BY YYY YYYY aa AA aaa AAA aaaa AAAA bb BB bbb BBB bbbb BBBB M MM BM mmm Mmm Mmmm MMM MMMM D DD BD d ddd bdd W www Www Wwww WWW WWWW h hh bh H HH BH p P pp PP pppp PPPP m mm bm s ss bss SS BS C N n J j U b) X "Bad format code: %s" (bb BB bbb BBB bbbb BBBB) b "" calc-change-mode calc-date-format arg case-fold-search temp sym pos2 pos time fullfmt lfmt] 8]] 2 nil "sDate format (e.g., M/D/YY h:mm:ss): \nP"]) (defalias 'calc-hms-mode #[nil "\300\301!\207" [calc-do #[nil "\300\301\302\"\210\303\304!\207" [calc-change-mode calc-angle-mode hms message "Angles measured in degrees-minutes-seconds"] 3]] 2 nil nil]) (defalias 'calc-now #[(arg) "\301\302\303#\207" [arg calc-date-zero-args "now" calcFunc-now] 4 nil "P"]) (defalias 'calc-date-part #[(arg) "\301W\204\f\302V\203\303\304!\210\305\306!\207" [arg 1 9 error "Part code out of range" calc-do #[nil "\301\302\3038\3048\305\302!D#\207" [arg calc-enter-result 1 (nil "year" "mnth" "day" "hour" "minu" "sec" "wday" "yday" "hmst") (nil calcFunc-year calcFunc-month calcFunc-day calcFunc-hour calcFunc-minute calcFunc-second calcFunc-weekday calcFunc-yearday calcFunc-time) calc-top-n] 6]] 2 nil "NPart code (1-9 = Y,M,D,H,M,S,Wd,Yd,Hms): "]) (defalias 'calc-date #[(arg) "\301W\204\f\302V\203\303\304!\210\305\306!\207" [arg 1 6 error "Between one and six arguments are allowed" calc-do #[nil "\301\302\303\304!B#\207" [arg calc-enter-result "date" calcFunc-date calc-top-list-n] 6]] 2 nil "p"]) (defalias 'calc-julian #[(arg) "\301\302\303#\207" [arg calc-date-one-arg "juln" calcFunc-julian] 4 nil "P"]) (defalias 'calc-unix-time #[(arg) "\301\302\303#\207" [arg calc-date-one-arg "unix" calcFunc-unixtime] 4 nil "P"]) (defalias 'calc-time-zone #[(arg) "\301\302\303#\207" [arg calc-date-zero-args "zone" calcFunc-tzone] 4 nil "P"]) (defalias 'calc-convert-time-zones #[(old &optional new) "\300\301!\207" [calc-do #[nil "\302\232\203\303\304\305\306\307\304!B#\207\310\232\203\311 \204#\312\313\314Q!;\203,\315!\242\316=\203:\316\317A@\"\210 \310\232\203B\311 ;\203K\315 ! \242\316=\203Y\316\317 A@\"\210\303\320\305\306\321\320! F#\207" [old new "$" calc-enter-result 3 "tzcv" calcFunc-tzconv calc-top-list-n "" "local" read-string "From time zone: " ", to zone: " math-read-expr error "Error in expression: %S" 1 calc-top-n] 7]] 2 nil "sFrom time zone: "]) (defalias 'calc-new-week #[(arg) "\301\302\303#\207" [arg calc-date-one-arg "nwwk" calcFunc-newweek] 4 nil "P"]) (defalias 'calc-new-month #[(arg) "\301\302\303#\207" [arg calc-date-one-arg "nwmn" calcFunc-newmonth] 4 nil "P"]) (defalias 'calc-new-year #[(arg) "\301\302\303#\207" [arg calc-date-one-arg "nwyr" calcFunc-newyear] 4 nil "P"]) (defalias 'calc-inc-month #[(arg) "\301\302\303#\207" [arg calc-date-one-arg "incm" calcFunc-incmonth] 4 nil "p"]) (defalias 'calc-business-days-plus #[(arg) "\300\301!\207" [calc-do #[nil "\301\302\303#\207" [arg calc-binary-op "bus+" calcFunc-badd] 4]] 2 nil "P"]) (defalias 'calc-business-days-minus #[(arg) "\300\301!\207" [calc-do #[nil "\301\302\303#\207" [arg calc-binary-op "bus-" calcFunc-bsub] 4]] 2 nil "P"]) (defalias 'calc-date-zero-args #[(prefix func arg) "\300\301!\207" [calc-do #[nil ":\203\303\304 \n\305\304!D#\207\303\306 \203\n\307!D\202 \nC#\207" [arg prefix func calc-enter-result 1 calc-top-n 0 prefix-numeric-value] 6]] 2]) (defalias 'calc-date-one-arg #[(prefix func arg) "\300\301!\207" [calc-do #[nil ":\203\303\304 \n\305\304!B#\207\303\306 \203!\n\307\306!\310!E\202&\n\307\306!D#\207" [arg prefix func calc-enter-result 2 calc-top-list-n 1 calc-top-n prefix-numeric-value] 7]] 2]) (defalias 'math-normalize-hms #[(a) "\306A@!\306\3078! \310Z\311]\306\3118!)\312\f!\203r\313\n!\203/\314\n\315\"\314 \316\"\313 !\203?\314 \315\"\314\f\316\"\315\n\317 \"\320U*\204W\314\n\321\"\314 \320\"\315 \317 \"\320U*\204\302\314 \321\"\314\f\320\"\202\302\312\n!\203\202\314\n\321\"\314 \320\"\312 !\203\222\314 \321\"\314\f\320\"\n\321\317 \"\320U*\204\252\314\n\315\"\314 \316\" \321\317 \"\320U*\204\302\314 \315\"\314\f\316\"\n\242\322=\203\333\323\nA@!\307\n8\\\307 ZX\203\333\324\325\f \nF+\207" [a calc-internal-prec s m h b math-normalize 2 4 3 math-negp math-posp math-add -60 1 math-compare -1 60 float math-numdigs 0 hms] 5]) (defalias 'math-to-hms #[(a &optional ang) "\242\306=\203 \207\242\307=\203\310\311A@!\311\3128!\"\207\211:?\206)@\313>)\2041\314D\207\315!\203@\316\311\316! \"!\207 \206E\n\317=\203S\311\320\321 \"\322\"\207\242\323>\203\\\207\324\325\326\"\327\320 \330\"!\331\f\330\"\306 @ A\332 \325\f\330\"\"F+!\207" [a ang calc-angle-mode b hm hmd hms sdev math-make-sdev math-to-hms 2 (bigpos bigneg frac float cplx polar) calcFunc-hms math-negp math-neg rad math-div math-pi-over-180 deg (cplx polar) math-normalize math-mul 3600 math-trunc 60 math-idivmod math-sub] 10]) (defalias 'calcFunc-hms #[(h &optional m s) "\211:?\206\f @\305>)\204\306\307\"\210\n\204\310\n\211:?\206' @\305>)\2040\306\n\307\"\210 \2046\310 \211:?\206B @\305>)\204K\306 \307\"\210\n\310\311 \f\"\312U*\204\216\n\313\311 \f\"\312U*\203\216 \310\311 \f\"\312U*\204\216 \313\311 \f\"\312U*\203\216\314\315!\316\310\n F\"\207\315\314\314\317\n\206\230\310\313\"\317 \206\240\310\320\"\"\"\321\"\207" [h a m s b (bigpos bigneg frac float) math-reject-arg realp 0 math-compare -1 60 math-add math-to-hms hms math-div 3600 deg] 9]) (defalias 'math-from-hms #[(a &optional ang) "\242\303=\204A\211:?\206@\304>)\203\207\242\305=\203/\306\307A@ \"\307\3108 \"\"\207 \2064\n\311=\203=\312D\207\313D\207\314!\203P\315\307\315! \"!\207 \206U\n\311=\203c\316\307\317\"\320 \"\207\321\322\321\322\3238\324\"\3108\"\325\"A@\"\207" [a ang calc-angle-mode hms (bigpos bigneg frac float cplx polar) sdev math-make-sdev math-from-hms 2 rad calcFunc-rad calcFunc-deg math-negp math-neg math-mul deg math-pi-over-180 math-add math-div 3 (float 6 1) 60] 7]) (defalias 'math-date-to-dt #[(value) "\242\302=\203 A@\306!\204\307\310\"\210\311!\211@ A@\312\313\314\315\n\211\316\"#\317#\"\"\320U*\203>\321\202?\322\"\323!\203J\324\202K\321\"$\313%\n\325$\312\211#\211%\"#\317#\"\"\320U*\203u\315$\320\"$\202Q$\326=\203\320$\327\n%\"T$\330=\203\227\n\331Y\203\227\n\332\\\333$!\203\242\334\202\243\335%\n%\fHY\203\264\fT\202\245\n%\fSHZT\336!\203\313$\f E\202\341$\f \337\245 \340\245\340\246\315 \340\246\341 8\"\257.\207" [value parts date time month day math-realp math-reject-arg datep math-date-parts 1 nil math-quotient math-add 711859 math-compare -1 365 -108 math-negp 366 math-absolute-from-date 0 math-sub 1752 247 11 math-leap-year-p [1 32 61 92 122 153 183 214 245 275 306 336 999] [1 32 60 91 121 152 182 213 244 274 305 335 999] math-integerp 3600 60 2 b a year temp] 10]) (defalias 'math-dt-to-date #[(dt) "A@\250\204\302A@\303\"\210A@\304W\204A@\305V\203%\302A@\306\"\210\3078\250\2043\302\3078\303\"\210\3078\304W\204C\3078\310V\203J\302\3078\311\"\210\312@A@\3078#\3138\203v\314\315 !\316\314\3138\317_\3208\321_\\\3228\"\323\"\"\202w )\207" [dt date math-reject-arg fixnump 1 12 "Month value is out of range" 2 31 "Day value is out of range" math-absolute-from-date 3 math-add math-float math-div 3600 4 60 5 (float 864 2)] 7]) (defalias 'math-date-parts #[(value &optional offset) "\306!\307\310\311\n\206 \"\312\" \313V\205 \313Z\"\306\f! \311\f \"E+\207" [value date offset calc-internal-prec time ftime math-floor math-round math-mul math-sub 86400 12] 5]) (defalias 'math-this-year #[nil "\300\301 8\207" [5 decode-time] 2]) (defalias 'math-leap-year-p #[(year) "\303\304\n \"\305U*\203$\306!\203\307\310!\311\"\312U\207\307\311\"\313U\207\307\314\"\211\311\246\313U\203:\315\246\313U?\206=\313U\207" [year b a 1752 math-compare -1 math-negp math-imod math-neg 4 1 0 400 100] 4]) (defalias 'math-days-in-month #[(year month) "\302U\203\303 !\203\304\207\305SH\207" [month year 2 math-leap-year-p 29 [31 28 31 30 31 30 31 31 30 31 30 31]] 2]) (defalias 'math-day-number #[(year month day) " S\304_\\ \305V\203 \n\306 \307_\\\310\245Z\311 !\203 \nT \312=\203< \313V\2048 \313U\203<\314Y\203<\n\315Z\n)\207" [day month day-of-year year 31 2 23 4 10 math-leap-year-p 1752 9 14 11] 4]) (defalias 'math-absolute-from-date #[(year month day) "\306=\203\307\310\311\"\310\312\313\n #\312\314\315 \"\316!\203&\317 \320\"\2020\310\315\317\310\321\"\320\"\"\"\"\322\323 \f\"\307U*\204L\324=\203P\n\325X\203P\311\202s\314\317 \326\"\321\"\327\320\"\312A\306U\203m\307\202n\306@\"*\")\207" [year yearm1 month day b a 0 -1 math-sub 1 math-add math-day-number math-mul 365 math-posp math-quotient 4 3 1753 math-compare 1752 9 100 math-idivmod correction res] 11]) (defvar math-long-weekday-names '("Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday")) (defvar math-short-weekday-names '("Sun" "Mon" "Tue" "Wed" "Thu" "Fri" "Sat")) (defvar math-long-month-names '("January" "February" "March" "April" "May" "June" "July" "August" "September" "October" "November" "December")) (defvar math-short-month-names '("Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec")) (defvar math-format-date-cache nil) (defalias 'math-format-date #[(math-fd-date) "\242\306=\203 A@ \nE\307 \f\"A\206^\310\211\310\311\310\211\310\211\310\211\310\211\310\312\313\314\315\n\"\" B\fB\311\f\233\211\203Z \310\241\210.)\207" [math-fd-date calc-internal-prec calc-date-format entry math-format-date-cache math-fd-dt date assoc nil 10 apply concat mapcar math-format-date-part calc-group-digits calc-leading-zeros calc-number-radix calc-twos-complement-mode math-fd-year math-fd-month math-fd-day math-fd-weekday math-fd-hour math-fd-minute math-fd-second math-fd-bc-flag fmt] 6]) #@107 The beginning of the Julian calendar, as measured in the number of days before January 1 of the year 1AD. (defconst math-julian-date-beginning '(float 17214235 -1) (#$ . 13266)) #@115 The beginning of the Julian calendar, as measured in the integer number of days before January 1 of the year 1AD. (defconst math-julian-date-beginning-int 1721424 (#$ . 13451)) (defalias 'math-format-date-part #[(x) ";\203\207<\203\306 !\203\307\207\310\311\312\313\"\"\207\314=\203$\307\207\315=\203.\316 !\207\317=\203:\316\320 !!\207\321=\203G\316\322 \n\"!\207\323=\203V\316\322\320 ! \"!\207\324=\203e\316\325 \326\"A@!\207\f\204\250\327 !\211@\fA@@\330\f8A\331\322\320 !\332\"\333\"B\334\f8C\335\f8D\336\f8E\337F>\203\250\340 !\203\250\341 !\342G\343>\203\357 \250\203\332 \344V\203\332 \345W\203\332\346\347=\203\312\350\202\325\351=\203\324\352\202\325\353 \354\246\"\207\355 !\203\353 \354W\203\353\346\356 \"\207\316 !\207\357=\203\371\316 !\207\360=\203\355 !\203 \354W\203\346\356 \"\207\316 !\207\337=\203\307\207\361=\203*G?\2054\362\207\363=\2038G?\2054\364\207\365=\203FG?\2054\366\207\367=\203TG?\2054\370\207\371=\203bG?\2054\372\207\373=\203pG?\2054\374\207\375=\203}G\2054\376\207\377=\203\214G\2054\201O\207\201P=\203\235G\2054\201Q\207\201R=\203\256G\2054\201S\207\201T=\203\277G\2054\201U\207\201V=\203\320G\2054\201W\207\201X=\203\336\346\353@\"\207\201Y=\203\354\346\350@\"\207\201Z=\203\372\346\352@\"\207\201[=\203\n@SH8\227\207\201\\=\203@SH8\207\201]=\203)@SH8\226\207\201^=\2038@SI8\207\201_=\203H@SI8\226\207\201`=\203V\346\353A\"\207\201a=\203d\346\350A\"\207\201b=\203r\346\352A\"\207\201c=\203\200\346\353B\"\207\201d=\203\217BJ8\227\207\201e=\203\235BJ8\207\201f=\203\254BJ8\226\207\201g=\203\272BK8\207\201h=\203\311BK8\226\207\201i=\203\336\346\353\201j @A#\"\207\201k=\203\365\346\201l\201j @A#\"\207\201m=\203\f\346\201n\201j @A#\"\207\201o=\203C\2054\346\353C\"\207\201p=\2032C\2054\346\350C\"\207\201q=\203EC\2054\346\352C\"\207\201r=\203aC\2054\346\353C\201s\\\201t\246T\"\207\201u=\203}C\2054\346\350C\201s\\\201t\246T\"\207\201v=\203\231C\2054\346\352C\201s\\\201t\246T\"\207\201w=\203\267C\2054C\201tW\203\263\201x\207\201y\207\201z=\203\325C\2054C\201tW\203\321\201{\207\201|\207\201}=\203\363C\2054C\201tW\203\357\201~\207\201\207\201\200=\203C\2054C\201tW\203 \201\201\207\201\202\207\201\203=\203/C\2054C\201tW\203+\201\204\207\201\205\207\201\206=\203MC\2054C\201tW\203I\201\207\207\201\210\207\201\211=\203`D\2054\346\353D\"\207\201\212=\203sD\2054\346\350D\"\207\201\213=\203\206D\2054\346\352D\"\207\201\214=\203\241E\2054\201\215E!?\2054\201\216\207\201\217>\2054E\2054\201\220>\205\274\201\215E!?\2054E\250\203\344\346\201\221>\203\323\350\202\340\201\222>\203\337\352\202\340\353E\"\207E\201\223L\201\224L\"\201\225U*\203\201\226>\203 \201\227\202\201\230>\203\201\231\202\307\202\307\201\232\201tMZ\201\233^DN\316E!)P\207" [x math-fd-date math-julian-date-beginning math-julian-date-beginning-int math-fd-dt math-fd-year math-integerp "" apply concat mapcar math-format-date-part X N math-format-number n math-floor J math-add j U math-date-parts 719164 math-date-to-dt 2 math-mod 6 7 3 4 5 b math-negp math-neg t (Y YY BY) 1940 2040 format YY "%02d" BYY "%2d" "%d" 100 natnump "+%d" YYY YYYY aa "ad" AA "AD" aaa "ad " AAA "AD " aaaa "a.d." AAAA "A.D." bb "bc" BB math-fd-month math-fd-day math-fd-weekday math-fd-hour math-fd-minute math-fd-second calc-date-format math-fd-bc-flag math-short-month-names math-long-month-names math-short-weekday-names math-long-weekday-names a calc-internal-prec calc-float-format "BC" bbb " bc" BBB " BC" bbbb "b.c." BBBB "B.C." M MM BM mmm Mmm MMM Mmmm MMMM D DD BD W www Www WWW Wwww WWWW d math-day-number ddd "%03d" bdd "%3d" h hh bh H 11 12 HH BH p "a" "p" P "A" "P" pp "am" "pm" PP "AM" "PM" pppp "a.m." "p.m." PPPP "A.M." "P.M." m mm bm C math-zerop ":" (s ss bs SS BS) (SS BS) (ss SS) (bs BS) 10 math-compare -1 (ss SS) "0" (bs BS) " " fix 0] 7]) (defalias 'math-parse-date #[(math-pd-str) "\300\301\215\207" [syntax (byte-code "\306\307\"\206\303\306\310\"\206\303\311\312\"\203 \313\314\315\316\"!D\206\303\307\310\211\211\211\211\211\211\211\211\211\211\211\211=>?@ABCDE\311\317\"\204S\311\320\"\203\315\321\"F\322\315\316\"!@\315\323\"?\315\324\">\325\211\224O\325\225\310OP?\326\232\203\206\325?\202\214\322?!?>\326\232\203\231\325>\202\237\314>!>F\326\232\203\265@\327V\203\330\331\332\"\210\202F\325H\226\211F\333>\203\354@\334U\203\344?\325U\203\344>\325=\203\344F\335=\203\325@\202\330\331\336\"\210\202@\325U\204\372@\334V\203\377\330\331\332\"\210F\337U@\334U=\203@\334\\\340\246@)\311\341\"\203(\342!\211\316\224\343I\210\202\311\344\"\203\221\345G!C\345H!AC\204F\345I!CA\204P\345J!\210@\204p\345\346!\211\203p \316U\203g\334\202h\325@\325\211?>\345\347!\204\345\350!\203\307=\311\351\"\203\221\330\331\352\353\315\325\"\"\"\210\311\354\"\203\264\325\211\224O\325\225\310OP\211\203\264\311\355 \"\203\264 \202\221\311\356\"\204\302\311\357\"\203\334\315\316\"D\325\316\224O\316\225\310OP\314D!D\307\325\311\360 #\203\f \203\357\330\331\361\"\210\322\315\325\"!\f\204\376 \310 \204\f\310\325\225\202\336\362D\203\316\202\325C\203 \316\202!\325B\203*\316\202+\325 \2033\316\2024\325\f\203<\316\202=\325 \203E\316\202F\325&\211\363V\203W\330\331\361\"\210\202z \323W\204hD\203p \323U\203p\330\331\364\"\210\202z \323U\203z\365 DD\204\312 \203\233 \366V\204\217 \316W\203\233 D\f \310\202\312\f\203\265\f\366V\204\253\f\316W\203\265\fD \310\202\312 \203\312 \366V\204\305 \316W\203\312 D\310D\203 \203\345 \334V\203\345 B\f \310\202\f\203\371\f\334V\203\371\fB \310\202 \203 \334V\203 B\310D\203B\203C\204\244 C\202\244D\203-C\203- B\202\244K\211\203\200 @9\203y @\367>\203PD\204y D\f \202y @\370>\203fC\204y C\f \202y @\371>\203yB\204y B\f  A\211\2044C\204\214 C\f B\204\230 B\f D\204\244 D\f =\203\261\372\373D!!D\374D\nCB@?>&.\207" [math-pd-str temp bigyear c b a math-parse-standard-date t nil string-match "\\`[^-+/0-9a-zA-Z]*\\([-+]?[0-9]+\\.?[0-9]*\\([eE][-+]?[0-9]+\\)?\\)[^-+/0-9a-zA-Z]*\\'" date math-read-number math-match-substring 1 "\\([0-9][0-9]?\\):\\([0-9][0-9]?\\)\\(:\\([0-9][0-9]?\\(\\.[0-9]+\\)?\\)\\)? *\\([ap]\\>\\|[ap]m\\|[ap]\\. *m\\.\\|noon\\|n\\>\\|midnight\\|mid\\>\\|m\\>\\)?" "\\([0-9][0-9]?\\)\\(\\)\\(\\(\\(\\)\\)\\) *\\([ap]\\>\\|[ap]m\\|[ap]\\. *m\\.\\|noon\\|n\\>\\|midnight\\|mid\\>\\|m\\>\\)" 6 string-to-number 2 4 0 "" 23 throw syntax "Hour value out of range" (78 77) 12 77 "Time must be 12:00:00 in this context" 65 24 "[0-9a-zA-Z]\\(-\\)[0-9a-zA-Z]" copy-sequence 47 "[a-zA-Z]" math-parse-date-word ("noon" "midnight" "mid") ("ad" "a.d.") ("bc" "b.c.") "[a-zA-Z]+" format "Bad word in date: \"%s\"" "[-+]?0*[1-9][0-9][0-9][0-9][0-9]+" "[4-9][0-9]\\|[0-9][0-9][0-9]\\|[-+][0-9]+[^-]*\\'" "\\([-+][0-9]+\\)[^-]*\\'" "\\(0*[1-9][0-9][0-9]+\\)" "[0-9]+" "Too many numbers in date" + 3 "Not enough numbers in date" math-this-year 31 (Y YY BY YYY YYYY) (M MM BM mmm Mmm Mmmm MMM MMMM) (D DD BD) math-neg math-abs math-parse-date-validate bc-flag second minute hour weekday day month year case-fold-search ampm math-long-month-names math-long-weekday-names math-short-month-names math-short-weekday-names calc-date-format] 15)] 2]) (defalias 'math-parse-date-validate #[(year bigyear month day hour minute second) "\204\306 !\203 \307W\203 \211\310W\203\311\202\312\\ \313=\203)\314\315\316\"\210\n\317W\2045\n\320V\203:\314\315\321\"\210 \317W\204I \322 \n\"V\203N\314\315\323\"\210\f\203\223\f\313W\204^\f\324V\203c\314\315\325\"\210 \313W\204o \326V\203t\314\315\327\"\210\330 !\204\216 \331!\"\332\"!\"\333U*\204\223\314\315\334\"\210\335\336\337 \n E\f\205\243\f  E\"!D\207" [bigyear year month day hour minute natnump 100 40 2000 1900 0 throw syntax "Year value is out of range" 1 12 "Month value is out of range" math-days-in-month "Day value is out of range" 23 "Hour value is out of range" 59 "Minute value is out of range" math-negp 60 math-compare -1 "Seconds value is out of range" date math-dt-to-date append second b a] 7]) (defalias 'math-parse-date-word #[(names &optional front) "\304 \203$\305 @\306\232\203\307\202\310 @!\n\"\204$ AT\202 \205I \2033\311\224\311U\205I\n\311\211\224O \203@\312\202A\313\n\311\225\314OQ)\207" [n names math-pd-str front 1 string-match "Sep" "Sept?" regexp-quote 0 "" " " nil] 5]) (defalias 'math-parse-standard-date #[(math-pd-str with-time) "\306\211\307\307\211\211\211\211\211\211\211\211\211\211\211@ABCDEFGHIJG\203\377I\203\377G@FGA\206ED\307D\211G\211G@\211E:\203XE@EF<\203tK\203+F\203+GDF\211G\202\366F;\203\236FGLGX\203\371FL\310FGO\232\203\371LFG\307O\211L\202\366F\311=\204+F\312>\203!\313\314L\"\203\371\315L\310\"HL\310\225\307OL\316\317H!!H\320HF\321>\203\331\310\202\356F\322=\204\347\323H!\203\354M\202\356N\"H\324H8\206\371\f\325H8\206 \326H8\206 \nH@CHA@B\327H8\211A\202\366F\330=\203q\313\331L\"\203\371\315L\310\"HL\310\225\307OL\316\332\333\334\317H!\335\"\"!H\324H8\325H8\326H8H@CHA@B\327H8\211A\202\366F\336>\203\203\337O\306\"\211B\202\366F\340>\203\225\337P\306\"\211B\202\366F\341>\203\244\337Q\306\"\202\366F\342>\203\263\337R\306\"\202\366F\343>\203\374\313\344L\"\203\331\f\345U\203\314\310\202\315\fL\346\307O\211L\202\366\313\347L\"\203\371\f\345U\203\353\345\202\360\f\345\\\350\246L\346\307O\211L\202\366F\351>\203G\313\352L\"\203#\f\345U\203\310\202\fL\310\225\307O\211L\202\366\313\353L\"\203\371\f\345U\2035\345\202:\f\345\\\350\246L\310\225\307O\211L\202\366F\354>\203\234E\355>\203lF\356>\203d\313\357L\"\202q\313\360L\"\202q\313\331L\"\203\371\315L\310\"CF\361=\206\210L\310H\362>@L\310\225\307OL\317C!\211C\202\366F\363=\204+F\364>\203\276\313\365L\"\203\371L\310\225\307O\211L\202\366F\366>\203\331\313\367L\"\203\371L\310\225\307O\211L\202\366F\370>\203\366\313\371L\"\203\371L\310\225\307OL\306\211\202\366F\372>\203*E\373>\203\f\313\374L\"\202\313\375L\"\203\371\315L\310\"L\310\225\307OL\317\n!\211\202\366F\376=\203D\313\377L\"\203+L\346\307O\211L\202\366F\201S>\203qE\201T>\203qF\201U=\203i\313\201VL\"\202x\313\357L\"\202x\313\201WL\"\203\371\201X\315L\310\"!HL\310\225\307OLF\201Y=\203\247H\310Y\203\371H\201ZW\202\366F\201[>\203\267H\211\202\366F\201\\>\203\310H\211B\202\366F\201]>\203\331H\211A\202\366F\201^>\203\351H\211\202\366F\201_>\203\371H\211\204+\307I\202+ \203B\203A\203\307\202\346\211BAI\205\205L\201`\232\205\205B\205\205A\205\205\f\204< \204<\n\203D\f\205\205 \205\205C\204O\201a C\n\204U\310 \203e\201b\201cC!!C\201dC@BA\f \n&A \203\203\332A S\"AA.\207" [calc-date-format bc-flag second minute hour yearday t nil 0 X (n N j J) string-match "\\`[-+]?[0-9.]+\\([eE][-+]?[0-9]+\\)?" math-match-substring math-date-to-dt math-read-number math-sub (n N) j math-integerp 3 4 5 2 U "\\`[-+]?[0-9]+" math-add 719164 math-div (float 864 2) (mmm Mmm MMM) math-parse-date-word (Mmmm MMMM) (www Www WWW) (Wwww WWWW) (p P) "\\`a" 12 1 "\\`p" 24 (pp PP pppp PPPP) "\\`am\\|a\\.m\\." "\\`pm\\|p\\.m\\." (Y YY BY YYY YYYY) (MM DD ddd hh HH mm ss SS) (Y YY BYY) "\\` *[0-9][0-9]" "\\`[0-9][0-9][0-9][0-9]" YYY (43 45) b (aa AA aaaa AAAA) "\\` *\\(ad\\|a\\.d\\.\\)" (aaa AAA) "\\` *ad *" (bb BB bbb BBB bbbb BBBB) "\\` *\\(bc\\|b\\.c\\.\\)" (s ss bs SS BS) (YY YYYY MM DD hh HH mm) "\\` *[0-9][0-9]\\(\\.[0-9]+\\)?" "\\` *[0-9][0-9]?\\(\\.[0-9]+\\)?" C "\\`:[0-9][0-9]" bigyear day month year gnext next this fmt num okay case-fold-search with-time math-pd-str math-julian-date-beginning-int math-julian-date-beginning math-short-month-names math-long-month-names math-short-weekday-names math-long-weekday-names (ddd MM DD hh HH mm) (YY YYYY MM DD ddd hh HH mm ss SS) ddd "\\` *[0-9][0-9][0-9]" "\\` *[0-9]+" string-to-number W 7 (d ddd bdd) (M MM BM) (D DD BD) (h hh bh H HH BH) (m mm bm) "" math-this-year math-neg math-abs math-parse-date-validate] 17]) (defalias 'calcFunc-now #[(&optional zone) "\303\304\305 !)\211:\203(\n\203$\306 \307\310\311\303 \"\311\n \"\"\312\"\"\2026 \2026\313\314!\210\315\316C\n\2055\nC\")\207" [calc-date-format date zone nil math-parse-date current-time-string math-add math-div math-sub calcFunc-tzone (float 864 2) calc-record-why "*Unable to interpret current date from system" append calcFunc-now] 9]) (defalias 'calcFunc-year #[(date) "\301!@\207" [date math-date-to-dt] 2]) (defalias 'calcFunc-month #[(date) "\301!A@\207" [date math-date-to-dt] 2]) (defalias 'calcFunc-day #[(date) "\301\302!8\207" [date 2 math-date-to-dt] 3]) (defalias 'calcFunc-weekday #[(date) "\242\300=\203 A@\301!\204\302\303\"\210\304\305\306!\307\"\310\"\207" [date math-realp math-reject-arg datep math-mod math-add math-floor 6 7] 4]) (defalias 'calcFunc-yearday #[(date) "\302!\303 @ A@\304 8#)\207" [date dt math-date-to-dt math-day-number 2] 5]) (defalias 'calcFunc-hour #[(date) "\242\301=\203 A@\207\302\303!8\206\304\207" [date hms 3 math-date-to-dt 0] 3]) (defalias 'calcFunc-minute #[(date) "\242\301=\203 \3028\207\303\304!8\206\305\207" [date hms 2 4 math-date-to-dt 0] 3]) (defalias 'calcFunc-second #[(date) "\242\301=\203 \3028\207\303\304!8\206\305\207" [date hms 3 5 math-date-to-dt 0] 3]) (defalias 'calcFunc-time #[(date) "\302!\303 8\203\304\303 \233B\202\304\305\211\211F)\207" [date dt math-date-to-dt 3 hms 0] 4]) (defalias 'calcFunc-date #[(date &optional month day hour minute second) "\306!\203\n\307!\203\250\204\310\311\"\210\306 !\203\"\307 ! \2030 \250\2040\310 \311\"\210\n\242\312=\203G \204G\313\n8\314\n8\nA@\306\n!\203Q\307\n!\n\203_\n\250\204_\310\n\311\"\210\306 !\203i\307 ! \203w \250\204w\310 \311\"\210\306\f!\203\201\307\f!\f\203\220\315\f!\204\220\310\f\316\"\210\203\335\306 !\203\236\307 ! \203\255\317 !\204\255\310 \320\"\210 \203\323\n\203\312\305\321  \n \206\300\322\f\206\305\322\257!D\207\305\321  E!D\207\305\321\323 E!D\207\315 !\203\347\305 D\207 @\305=\203\362 A@\207\310 \324\"\207" [month day hour minute second date math-messy-integerp math-trunc math-reject-arg fixnump hms 3 2 math-realp realp math-integerp integerp math-dt-to-date 0 math-this-year datep] 8]) (defalias 'calcFunc-julian #[(date &optional zone) "\304!\203%\300\305!\203\306 \"\202#\306\n\"\306\307\310 \"\311\"\"D\207@\300=\203H\312A@\305A@!\203< \202F\312\n\307\310 \"\313\"\"\"\207\314\315\"\207" [date math-julian-date-beginning-int math-julian-date-beginning zone math-realp math-integerp math-sub math-div calcFunc-tzone (float 864 2) math-add (float 864 2) math-reject-arg datep] 8]) (defalias 'calcFunc-unixtime #[(date &optional zone) "\302!\203\303\304\305\306\"\"\300\307\305\310 \"\311\"\"D\207@\300=\2031\303\312A@\304\"A@\310 \"\"\207\313\314\"\207" [date zone math-realp math-add 719164 math-div (float 864 2) math-sub calcFunc-tzone (float 864 2) math-date-parts math-reject-arg datep] 7]) #@40 No doc yet. See calc manual for now.  (defvar math-tzone-names '(("UTC" 0 0) ("MEGT" -1 "MET" "METDST") ("METDST" -1 -1) ("MET" -1 0) ("MEGZ" -1 "MEZ" "MESZ") ("MEZ" -1 0) ("MESZ" -1 -1) ("WEGT" 0 "WET" "WETDST") ("WETDST" 0 -1) ("WET" 0 0) ("BGT" 0 "GMT" "BST") ("GMT" 0 0) ("BST" 0 -1) ("NGT" (float 35 -1) "NST" "NDT") ("NST" (float 35 -1) 0) ("NDT" (float 35 -1) -1) ("AGT" 4 "AST" "ADT") ("AST" 4 0) ("ADT" 4 -1) ("EGT" 5 "EST" "EDT") ("EST" 5 0) ("EDT" 5 -1) ("CGT" 6 "CST" "CDT") ("CST" 6 0) ("CDT" 6 -1) ("MGT" 7 "MST" "MDT") ("MST" 7 0) ("MDT" 7 -1) ("PGT" 8 "PST" "PDT") ("PST" 8 0) ("PDT" 8 -1) ("YGT" 9 "YST" "YDT") ("YST" 9 0) ("YDT" 9 -1)) (#$ . 29087)) (defvar var-TimeZone nil) #@62 Information about the timezone, retrieved from the calendar. (defvar math-calendar-tzinfo nil (#$ . 29788)) #@233 Get information about the timezone from the calendar. The result should be a list of two items about the current time zone: first, the number of seconds difference from GMT second, the number of seconds offset for daylight savings. (defalias 'math-get-calendar-tzinfo #[nil "\203\207\303\304!\210\305 \210 \306\n@!\307_\nA@\307_D\211)\207" [math-calendar-tzinfo calendar-current-time-zone-cache tzinfo require cal-dst calendar-current-time-zone abs 60] 3 (#$ . 29903)]) (defalias 'calcFunc-tzone #[(&optional zone date) "\203\240\306!\203\307\310\311\"!\207@\312=\203\"\307\310\313\314\"\311\"!\207@\315=\2038\316\317A@ \"\317\3208 \"\"\207@\321=\203N\322\317A@ \"\317\3208 \"\"\207@\323=\203\233\324A@!\226\325\326 \f\"\211\203\210\317\316\nA@\320\n8\250\203y\320\n8\202\202\327 \n@\"\206\202\330\" \"\202\231 \331\232\203\225\317\325 \"\202\231\332\333\"*\207\332\334\"\207\335\336!\203\255\317\335\336! \"\207\337 \211@\340 ! A@_\\)\207" [zone date found name math-tzone-names tzinfo math-realp math-round math-mul 3600 hms math-from-hms deg + math-add calcFunc-tzone 2 - math-sub var symbol-name nil assoc math-daylight-savings-adjust 0 "LOCAL" math-reject-arg "*Unrecognized time zone name" "*Expected a time zone" calc-var-value var-TimeZone math-get-calendar-tzinfo math-cal-daylight-savings-adjust] 7]) (defvar math-daylight-savings-hook 'math-std-daylight-savings) (defalias 'math-daylight-savings-adjust #[(date zone &optional dt) "\204 \306 A@\307\242\300=\203\310A@\202C\203>\311!\203>\312\n \"\211\203:\313\314\315\fA@\316\"\")\202C\317\320\"\210\321! \204O\322!\205[ \n $)\207" [date bump zone math-tzone-names zadj dt calcFunc-now nil 0 math-realp assoc -1 math-sub math-div (float 24 0) math-reject-arg datep math-float math-date-to-dt math-daylight-savings-hook] 6]) #@58 Return -1 if DATE is using daylight saving, 0 otherwise. (defalias 'math-cal-daylight-savings-adjust #[(date) "\304\305!\210\204 \306 \307!\310 8\203\310 8\202.\311 8\203-\310 8\311 8\312\245\\\202.\313\314 A@\315 8 @E!\316\317\n\320_!\321\322#\\\323 !\203O\324\202P\313+\207" [date dt time rounded-abs-date require cal-dst calcFunc-now math-date-to-dt 3 4 60.0 0 calendar-absolute-from-gregorian 2 / round 60 60.0 24.0 dst-in-effect -1] 5 (#$ . 31766)]) (defalias 'calcFunc-dsadj #[(date &optional zone) "\203\242\304=\204\305\306\"\210\202\307\310!\203J\242\304=\205(\311A@!\226\312 \"\211\2047\305\313\"\210\314\n8\250\203D\314\n8\202H\315 \")\207\316 !\207" [zone math-tzone-names zadj date var math-reject-arg "*Time zone variable expected" calc-var-value var-TimeZone symbol-name assoc "*Unrecognized time zone name" 2 math-daylight-savings-adjust math-cal-daylight-savings-adjust] 4]) (defalias 'calcFunc-tzconv #[(date z1 z2) "\303!\203\304\300D \n#A@\207\305\211 \"\n\"\207" [date z1 z2 math-realp calcFunc-tzconv calcFunc-unixtime] 4]) #@402 Standard North American daylight saving algorithm. Before 2007, this uses `math-std-daylight-savings-old', where daylight saving began on the first Sunday of April at 2 a.m., and ended on the last Sunday of October at 2 a.m. As of 2007, this uses `math-std-daylight-savings-new', where daylight saving begins on the second Sunday of March at 2 a.m., and ends on the first Sunday of November at 2 a.m. (defalias 'math-std-daylight-savings #[(date dt zone bump) "@\304W\203\305 \n $\207\306 \n $\207" [dt date zone bump 2007 math-std-daylight-savings-old math-std-daylight-savings-new] 5 (#$ . 32861)]) #@229 Standard North American daylight saving algorithm as of 2007. This implements the rules for the U.S. and Canada. Daylight saving begins on the second Sunday of March at 2 a.m., and ends on the first Sunday of November at 2 a.m. (defalias 'math-std-daylight-savings-new #[(date dt zone bump) "A@\304W\203\n\305\207A@\304U\203B\306 \307\305$\3108\nW\203%\305\202@\3108\nU\203?\3048\304 \\Y\203;\311\202@\305\202@\311)\207A@\312W\203L\311\207A@\312U\203\204\306 \313\305$\3108\nW\203g\311\202\202\3108\nU\203\201\3048\310 \\Y\203}\305\202\202\311\202\202\305)\207\305\207" [dt date sunday bump 3 0 math-prev-weekday-in-month 14 2 -1 11 7] 5 (#$ . 33474)]) #@227 Standard North American daylight saving algorithm before 2007. This implements the rules for the U.S. and Canada. Daylight saving begins on the first Sunday of April at 2 a.m., and ends on the last Sunday of October at 2 a.m. (defalias 'math-std-daylight-savings-old #[(date dt zone bump) "A@\304W\203\n\305\207A@\304U\203B\306 \307\305$\3108\nW\203%\305\202@\3108\nU\203?\3118\311 \\Y\203;\312\202@\305\202@\312)\207A@\313W\203L\312\207A@\313U\203\204\306 \314\305$\3108\nW\203g\312\202\202\3108\nU\203\201\3118\310 \\Y\203}\305\202\202\312\202\202\305)\207\305\207" [dt date sunday bump 4 0 math-prev-weekday-in-month 7 2 3 -1 10 31] 5 (#$ . 34164)]) (defalias 'math-prev-weekday-in-month #[(date dt day wday) "\204\304 8\305 @ A@\"V\203\305 @ A@\"\306\307\n!\304 8\"\306\310\311 \"!A@ \")\207" [day dt date zeroth 2 math-days-in-month math-sub math-floor calcFunc-newweek math-add] 5]) (defalias 'calcFunc-pwday #[(date &optional day weekday) "\242\300=\203 A@\303!\204\304\305\"\210\306 !\203 \307 ! \250\204*\304 \310\"\210 \311U\2032\312 \313W\204> \312V\203C\304 \314\"\210\315\316! \n\206N\311$\207" [date day weekday math-realp math-reject-arg datep math-messy-integerp math-trunc fixnump 0 31 7 range math-prev-weekday-in-month math-date-to-dt] 5]) (defalias 'calcFunc-newweek #[(date &optional weekday) "\242\300=\203 A@\302!\204\303\304\"\210 \204\305\306 !\203&\307 ! \250\2040\303 \310\"\210 \305W\204< \311V\203A\303 \312\"\210\313!\300\314\315\314 \"!\"D\207" [date weekday math-realp math-reject-arg datep 0 math-messy-integerp math-trunc fixnump 6 range math-floor math-sub calcFunc-weekday] 7]) (defalias 'calcFunc-newmonth #[(date &optional day) "\204\303\304!\203\305!\250\204\306\307\"\210\310W\204&\311V\203+\306\312\"\210\313 !\310U\204A\314\n@\nA@\"V\203I\314\n@\nA@\"\n@\315=\203b\nA@\316U\203b\317Y\203b\320Z\301\321\322\n@\nA@\303E!S\")D\207" [day date dt 1 math-messy-integerp math-trunc math-reject-arg fixnump 0 31 range math-date-to-dt math-days-in-month 1752 9 14 11 math-add math-dt-to-date] 6]) (defalias 'calcFunc-newyear #[(date &optional day) "\204\304\305!\203\306!\250\204\307\310\"\210\311 !\312Y\203a\313X\203a\n@\314=\2035\315\202A\316\n@!\203@\313\202A\317\312U\204N V\203P \301\320\321\n@\304\211E!S\")D\202~\322Y\203z\323X\203z\301\321\n@[\304E!D\202~\307\324\")\207" [day date dt max 1 math-messy-integerp math-trunc math-reject-arg fixnump math-date-to-dt 0 366 1752 355 math-leap-year-p 365 math-add math-dt-to-date -12 -1 range] 6]) (defalias 'calcFunc-incmonth #[(date &optional step) "\204\306\307!\203\310!\311!\204\312\313\"\210\314 !\211@\315\nA@S\"\316\f\317\"\320\n8\321\f\322 \317\"\"T\315 \"\323 \f\"^\324\n@!\203]\324 !\204]\321 \306\"\325\n@!\203o\325 !\204o\315 \306\"\301\326 \f\nAAABBB!-D\207" [step date dt year month extra 1 math-messy-integerp math-trunc math-integerp math-reject-arg integerp math-date-to-dt math-add calcFunc-idiv 12 2 math-sub math-mul math-days-in-month math-posp math-negp math-dt-to-date day] 7]) (defalias 'calcFunc-incyear #[(date &optional step) "\302\303 \206\304\305\"\"\207" [date step calcFunc-incmonth math-mul 1 12] 5]) (defalias 'calcFunc-bsub #[(a b) "\242\304=\204\f\305\306\"\210 \242\304=\203J\307A@ A@\"\203%\310\311 \"!\207\312 !\210\313!\313 !\314\315\n@ @\" A\203F\nA\204F\316\202G\317\"*\207\320\310 !\"\207" [a b da db date math-reject-arg datep math-lessp math-neg calcFunc-bsub math-setup-holidays math-to-business-day math-add math-sub 1 0 calcFunc-badd] 4]) (defvar math-holidays-cache nil) (defvar math-holidays-cache-tag t) (defalias 'calcFunc-badd #[(a b) "\242\306=\203 \242\306=\203\307\310\311\"\207\312 \"\207 \242\306=\203\347\211:?\206+ @\313>)\203\277\211:\203S @\314>?\205V @\315=\203M A@\316=\202V\317 !\202V \316=)\203\\ \207\320 !\321\n@\nA\203\260\211:\203\242 @\322=\206\245 @\323=?\205\245 @\324>\203\234 A@\211:\203\225 @\322=\202\230 \316V)\202\245\325 !\202\245 \316V)\203\260\326\327\"\202\261\"\330 !\206\275\312 \"*\207\242\331=\203\342\332\f8\333\334\335\"\336\" \203\334\333 A\"\312 \")\207\307\310\311\"\207\307 \337\"\207" [b a d bb math-holidays-cache hours date math-reject-arg nil "*Invalid combination in date arithmetic" calcFunc-badd (bigpos bigneg frac float) (bigpos bigneg) float 0 math-zerop math-to-business-day math-add bigpos bigneg (frac float) math-posp math-sub 1 math-from-business-day hms 7 math-div math-from-hms deg 24 datep] 6]) (defalias 'calcFunc-holiday #[(a) "\301!A\203 \302\207\303\207" [a math-to-business-day 1 0] 2]) (defalias 'math-to-business-day #[(date &optional need-year) "\242\300=\203 A@\211:?\206 @\306>)\204 \307\310\"\210\311!\312\n\"\313\n!\314\315\203F\f@=\204F\307\300\nD\316\"\210\317!\210@A\211\203f@\nW\203f T\202O\203v\n@U\203v\320)\3218 \n\322\\\323\245S!\324\n\325!\323_#\" ! G_\\ \203\261 @\"W\203\261 A T\202\230 \203\302\" @=\203\302\320+\3238\211#\203\326\312 #@\"#A\"\211\314$\327 $\"\330U*\203\353\314 \325$\327 $\"\330U*\204\312\325\326\325\331\332#A\"\"\")\333\312\n \" \"-B\207" [date a day time dt delta (bigpos bigneg frac float) math-reject-arg datep math-floor math-sub math-date-to-dt 0 nil "*Generated holiday has wrong year" math-setup-holidays t 3 6 7 - 1 math-div math-compare -1 math-mul 86400 math-add holiday need-year math-holidays-cache days weekdays weeks wkday hours b] 8]) (defalias 'math-from-business-day #[(num) "\306!\307 \" \250\204\310\311\312\"\210\313 \210 A@\314 A\211\2030 @ W\2030\fT\202 \f\\*\315 8\316GZ S\\\245S\317 \320_#\314 G_\\>\203r T\211\202zS\211\314V\203\206T\211\202e\316 8\211\203\233\321\322\nA\"@\")\313 !?\205\251\323\321 \n\"D.\207" [num day time math-holidays-cache delta days math-floor math-sub math-reject-arg nil "*Date is outside valid range" math-setup-holidays 0 3 7 - 1 math-add math-mul date weekdays bweek weeks wkday w hours] 6]) (defalias 'math-setup-holidays #[(&optional date) "\306\307!=\204\360\306\307!\310\311\211\211\211\211@A\312A!\204'\313A\314\"\210AA\211A\203\307A@\242\315=\203BA@A@\250\204_A@\242\316=\203V\317A@8\242\315=\204_A@\242\320=\203hA@ B\202'A@\242\321=\203\213A@A@@\236\203\213A@A@@\236A\fB\202'A@\242\316=\2034\317A@8\242\322=\2034\323A@8\242\322=\2034 \203\265\313A@\324\"\210\325A@\326\"\317 8\327BC\330CB\"\331U*\204\344\332\323 8BC\330CB\"\331U*\203\353\313A@\333\"\210\317 8\334\323 8\317 8\"B\211A\211C:\203\"C@\335>?\205&C@\336=\203CA@\327=\202&\337C!\202&C\327=)\203'\313A@\340\"\210\202'A@\242\316=\203i\317A@8\211C:?\206OC@\341>)\203i\323A@8\211C:?\206eC@\341>)\204\200A@\250\203\242A@\342V\203\242A@\343W\203\242\n\203\213\313A@\344\"\210\345A@\346\"\211\347\232\203'\313A@\350\"\210\202'\351A@\352\"\204\264\351A@\353\"\203\275A@ B\202'\313A@\354\"\210\202'\fG\355U\203\323\313\311\356\"\210\331C\331C\311\357\f\360\"\n\206\341\361\311 B \257D\306\307!. \205\346\362 !\363D8\311EFG\364G\365D8\"\332=\204% \242\315=\204\315 D \313 \366\"\210\367\216\370D8\211\203J\311H\370D\233\311\240\210\371\320 AB!\210DAA @\240\210)\317D8\204X\372E\311\202\345F\204s\363D\233G\211B\240\210\373G!\210\372\211E\202\345GF@W\203\252\374\375GF@S#\210\376\377!\210GF@W\203\243F\211@S\240\210\373F@!\210\202\212\372\211E\202\345GFAV\203\341\374\375FATG#\210\376\377!\210GFAV\203\332F\211AT\241\210\373FA!\210\202\301\372\211E\202\345\372E\311-\207" [math-holidays-cache-tag hours limit exprs weekdays days calc-var-value var-Holidays ((sun . 0) (mon . 1) (tue . 2) (wed . 3) (thu . 4) (fri . 5) (sat . 6)) nil math-vectorp math-reject-arg "*Holidays variable must be a vector" date intv 2 vec var hms 3 "*Only one hours interval allowed in Holidays" math-div (hms 24 0 0) 0 math-compare -1 1 "*Hours interval out of range" math-sub (bigpos bigneg) float math-zerop "*Degenerate hours interval" (bigpos bigneg) 1900 2100 "*Only one limit allowed in Holidays" calcFunc-vint (intv 3 1 2737) (vec) "*Limit is out of range" math-expr-contains (var y var-y) (var m var-m) "*Holidays must contain a vector of holidays" 7 "*Too many weekend days" sort < (intv 3 1 2737) calcFunc-year 5 calcFunc-in 4 "*Date is outside valid range" ((byte-code "\204\302\302\207" [done math-holidays-cache-tag t] 1)) 6 math-setup-add-holidays t math-setup-year-holidays message "Computing holidays, %d .. %d" calc-set-command-flag clear-message wdnames h b a math-holidays-cache done limits year math-sh-year] 9]) (defalias 'math-setup-year-holidays #[(math-sh-year) "\3068\211\205=\n\307\310 @!\311 \312\"\2030\313\fT\211\314X\203,\315\310 !!\210\202)\2024\315 !\210+ A\211\204\307)\207" [math-holidays-cache exprs math-sh-year var-y var-m expr 2 nil math-evaluate-expr math-expr-contains (var m var-m) 0 12 math-setup-add-holidays] 4]) (defalias 'math-setup-add-holidays #[(days) "\242\306=\203A\211\205\315\307@!\210\202\242\310=\203H\311\3128!\313 \"\314=\2041\315 \314\"\313 \"\314=\205F\307 !\210\315 \314\"\2021)\207\242\316=\203U\307A@!\207\317=\206\315\250\203\260\320\n\"\211A\206\256\f@\fA@A\203\214A@W\203\214A A\202rAB\241\210 @ AB\241\210 A\211\205\255 \211@S\240\210\202\235*)\207\211:?\206\276@\321>)\203\311\322\316D\323\"\207\322\324\"\207" [days day math-sh-year b math-holidays-cache iprev vec math-setup-add-holidays intv math-ceiling 2 calcFunc-in 1 math-add date 0 math-to-business-day (bigpos bigneg frac float) math-reject-arg "*Invalid holiday value" "*Holiday formula failed to evaluate" prev a] 4]) (defalias 'math-make-sdev #[(x sigma) "\242\303>\203\f\304\305\"\210 \242\306>\203\304 \305\"\210 \211:\203R\n@\307=\206U\n@\310=?\205U\n@\311>\203L\nA@\211:\203E\n@\307=\202H\n\312W)\202U\313\n!\202U\n\312W)\204` \242\314>\203d\315 ! \211:\203\210\n@\316>?\205\213\n@\317=\203\202\nA@\312=\202\213\320\n!\202\213\n\312=)\203\241\211:?\206\233\n@\321>)\203\241\207\322 E\207" [x sigma a (date mod sdev intv vec) math-reject-arg realp (date mod sdev intv vec) bigneg bigpos (frac float) 0 math-negp (cplx polar) math-abs (bigpos bigneg) float math-zerop (bigpos bigneg frac float cplx polar hms) sdev] 4]) (defalias 'calcFunc-sdev #[(x sigma) "\302 \"\207" [x sigma math-make-sdev] 3]) (defalias 'math-normalize-mod #[(a) "\303A@!\303\3048!\305\n!\203%\305 !\203%\306 !\203%\307\n \"\202+\303\310\n E!*\207" [a m n math-normalize 2 math-anglep math-posp math-make-mod calcFunc-makemod] 4]) (defalias 'math-make-mod #[(n m) "\n\205\334\211:?\206 @\305>)\204\306\307\"\207\310!\204&\306\311\"\207\n\211:?\2062 @\305>)\203\222\n\211:\203p @\312=\206s @\313=?\205s @\314>\203j A@\211:\203c @\312=\202f \315W)\202s\316 !\202s \315W)\204\205\n\317 \f\"\320U*\204\215\321\322\n\"E\207\321\nE\207\n@\323>\203\244\324\n@\325\326\nA\"B!\207\n@\327=\203\311\nA@\211:?\206\271 @\305>)\203\311\330\331\nA@\"\332\n8\"\207\n@\333>\203\330\330\331\334\"\n\"\207\306\n\307\"\207" [m calc-previous-modulo n a b (bigpos bigneg frac float hms) math-reject-arg anglep math-posp posp bigneg bigpos (frac float) 0 math-negp math-compare -1 mod math-mod (+ - / vec neg) math-normalize mapcar #[(x) "\302 \"\207" [x m math-make-mod] 3] * math-mul math-make-mod 2 (* ^ var calcFunc-subscr) 1] 6]) (defalias 'calcFunc-makemod #[(n m) "\302 \"\207" [n m math-make-mod] 3]) (defalias 'math-make-intv #[(mask lo hi) "\242\305>\203\f\306\307\"\210 \242\310>\203\306 \307\"\210\242\311= \242\311==\2044\306\242\311=\2030 \2021\312\"\210\211:?\206@\n@\313>)\204K@\311=\203\242 \211:?\206W\n@\313>)\204b @\311=\203\242\314 \"\211\315U\203\f\316U\203w\202\240\317\f F\202\240 \315V\203\233\f\316U\203\223\317\320\211F\202\240\317\f\211F\202\240\317\f F)\207\317\f F\207" [lo hi a cmp mask (cplx polar mod sdev intv vec) math-reject-arg realp (cplx polar mod sdev intv vec) date datep (bigpos bigneg frac float) math-compare 0 3 intv 2] 5]) (defalias 'calcFunc-intv #[(mask lo hi) "\303!\203\n\304!\305!\204\306\307\"\210\310X\204 \306\311\"\210\312 \n#\207" [mask lo hi math-messy-integerp math-trunc natnump math-reject-arg fixnatnump 3 range math-make-intv] 4]) (defalias 'math-sort-intv #[(mask lo hi) " \305 \n\"\306U*\203\307\310\fH #\207\307\f #\207" [hi lo b a mask math-compare -1 math-make-intv [0 2 1 3]] 4]) (defalias 'math-combine-intervals #[(a am b bm c cm d dm) "\306\307 \n\"\211\310U\203\n \202 \311U\203 \f\206 \307  \"\211\312U\2036 \202E\311U\203E\206C\313\f\203N\314\202O\311\203X\310\202Y\311\\ #)\207" [res a c cm am b nil math-compare 1 0 -1 math-make-intv 2 d dm bm] 4]) (defalias 'math-div-mod #[(a b m) "\211:?\206\f@\306>)\205y \211:?\206@\306>)\205y\n\211:?\206,@\306>)\205y\307 \310\n \310=\204a\311 \"\312 \313\f@\"\"\f A*\2029\311 \"\211A\310=\205x\314\313@ \"\n\"-\207" [a b m v3 v1 u3 (bigpos bigneg) 1 0 math-idivmod math-sub math-mul math-mod u1 q t1] 6]) (defalias 'math-mod-intv #[(a b) "\306\307\3108 \"!\306\307\3118 \"!\312\3108\313\n \"\"\312\3118\313 \"\"\n \232\2036\314A@\f #\202]\315\312 \n\"\316\"\203X\317 !\203XA@\320>\203X\321A@\f #\202]\321\310\322 #,\207" [a b q1 q2 m1 m2 math-floor math-div 2 3 math-sub math-mul math-sort-intv math-equal-int 1 math-zerop (0 2) math-make-intv 0] 5]) (defalias 'math-read-angle-brackets #[nil "\306\307!\206G\n O\310\311 \"\203U \312\211\225SO \312\225\313O\312\314\315\316Q!\211\242\317=\203:\202Q\314 !\211\242\317=\203I \202Q\320\321A C#+\202\200\310\322 \"\203}\312\314 !\211\205y \242\317=\203q \202y\320\323\324\f! C#)\202\200\325 !\211;\203\215\326\327\"\210\242\317=\203\235\326\327\3308\"\210 T\331 \210+\207" [math-exp-str last math-exp-pos str calc-hashes-used str2 math-check-for-commas t string-match "\\` *\\([a-zA-Z#][a-zA-Z0-9#]* *,? *\\)*:" 0 nil math-read-expr "[" "]" error append (calcFunc-lambda) "#" (calcFunc-lambda) calc-invent-args math-parse-date throw syntax 2 math-read-token str1 res] 5]) (provide 'calc-forms)