%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/calc/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/calc/calc-forms.elc

;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; 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\211\303#\304\305\306\307\310\3118A@@F\310\312\305\211FE#)\207" [time decode-time nil integer calc-enter-result 0 "time" mod hms 2 24] 9]] 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#)\266\203\203\312\311\313\"\203\314!\n8\311\315\"\204*\316\317!\210\203L\320!\211\321Y\203L\322X\203L\323\n!\211\203L\n\233\240\210\307\311\324\"\204\202\311\325\"\203\202\311\326\327\330\331\"!\326Q\"\203\202\332\321\211\224#\333\332\321\224\321\225#\334\332\321\225\"\260)\307\211\211\211\211\211\211./0123\307\311\335\"\211\203\247
\336I\210)\311\337\"\2110\203\2110\321V\203\304\332\3210#3B30T/0H\340U\203\3601\203\333\316\341!\2103\203\35232\2442\3073\3101\202\2000H\342U\2031\204\316\343!\2103\2033\2372B2\3073\3071\202\200\311\344\"\203$/T//GW\203D/H\226/SH\226U\203D/T\211/\202&\345\3320/#!\211.\346>\204l.\347=\203f3\204f2\203l\316\350.\"\210.\351>\203y\3523B3.3B3\332/\"\202\250\353\232\204\2253B33\203\2611\203\2523\2372B2\202\26132\2442\354\3552\237\310#.\207" [fmt inhibit-changing-match-data calc-standard-date-formats arg case-fold-search temp "\\`\\s-*\\'" nil t string-match "1" "\\` *\\([0-9]\\|10\\|11\\) *\\'" string-to-number "[a-zA-Z]" error "Bad date format specifier" prefix-numeric-value 0 11 copy-sequence "<.*>" "\\`[^hHspPT]*\\([^ac-gi-lnoqrt-zAC-GI-OQRU-Z]*\\(bs\\|bm\\|bh\\|BS\\|BH\\|[hHmpPsST]\\)+[^ac-gi-lnoqrt-zAC-GI-OQRU-Z]*\\)[^hHspPT]*\\'" "[^ac-gi-lnoqrt-zAC-GI-OQRT-Z]*" regexp-quote math-match-substring 1 substring "<" ">" ":[BS]S" 67 "[<>a-zA-Z]" 60 "Nested <'s not allowed" 62 "Misplaced > in format" "\\`[^a-zA-Z]*[bBZI][a-zA-Z]" intern (Y YY BY YYY YYYY ZYYY IYYY Iww w 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 bs SS BS C N n J j U b T) X "Bad format code: %s" (bb BB bbb BBB bbbb BBBB) b "" calc-change-mode calc-date-format 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) "\305A@!\305\3068!	\307Z\310]\305\3108!)\311\f!\204=\f\312U\203+\311!\204=\f\312U\203\216\312U\203\216\311\n!\203\216\313\n!\203M\314\n\315\"\314\316\"\313!\203]\314\315\"\314\f\316\"\315\n\317\"\320U\266\202\204t\314\n\321\"\314\320\"\315\317\"\320U\266\202\204\334\314\321\"\314\f\320\"\202\334\311\n!\203\236\314\n\321\"\314\320\"\311!\203\256\314\321\"\314\f\320\"\n\321\317\"\320U\266\202\204\305\314\n\315\"\314\316\"\321\317\"\320U\266\202\204\334\314\315\"\314\f\316\"\n\242\322=\203\365\323\nA@!\306\n8\\\306	ZX\203\365\312\324\f\nF+\207" [a calc-internal-prec s m h math-normalize 2 4 3 math-negp 0 math-posp math-add -60 1 math-compare -1 60 float math-numdigs hms] 5])
(defalias 'math-to-hms #[(a &optional ang) "\242\306=\203	\207\242\307=\203\310\311A@!\311\3128!\"\207\211:?\206(\211@\313>\262\2041\314D\207\315!\203@\316\311\316!	\"!\207	\206J\n?\205J\317=\203X\311\320\321 \"\322\"\207\242\323>\203a\207\324\325\326\"\327\320\f\330\"!\331
\330\"\306@A\332\f\325
\330\"\"F+!\207" [a ang math-simplifying-units calc-angle-mode b hm hms sdev math-make-sdev math-to-hms 2 (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 hmd] 9])
(defalias 'calcFunc-hms #[(h &optional m s) "\211:?\206\211@\303>\262\204\304\305\"\210	\204\306	\211:?\206&\211@\303>\262\2040\304	\305\"\210\n\2046\306\n\211:?\206A\211@\303>\262\204K\304\n\305\"\210	\306\307\"\310U\266\202\204\212	\311\307\"\310U\266\202\203\212\n\306\307\"\310U\266\202\204\212\n\311\307\"\310U\266\202\203\212\312\313!\314\306	\nF\"\207\313\312\312\315	\206\224\306\311\"\315\n\206\234\306\316\"\"\"\317\"\207" [h m s (frac float) math-reject-arg realp 0 math-compare -1 60 math-add math-to-hms hms math-div 3600 deg] 8])
(defalias 'math-from-hms #[(a &optional ang) "\242\304=\204F\211:?\206\211@\305>\262\203\207\242\306=\203/\307\310A@	\"\310\3118	\"\"\207	\2069\n?\2059\312=\203B\313D\207\314D\207\315!\203U\316\310\316!	\"!\207	\206_\n?\205_\312=\203m\317\310\320\"\321 \"\207\322\323\322\323\3248\325\"\3118\"\326\"A@\"\207" [a ang math-simplifying-units calc-angle-mode hms (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] 6])
#@136 Return the day (YEAR MONTH DAY) in the Gregorian calendar.
DATE is the number of days since December 31, -1 in the Gregorian calendar.
(defalias 'math-date-to-gregorian-dt #[(date) "\305\306\307\310\n\211\311\312\"\313U\266\202\203\314\202\315\"\316\n!\203$\317\202%\314\"\306\n\320\305\211#\211\312\"\313U\266\202\203D\310\313\"\202)\321=\203L\313\322\n\f\"T\323!\203\\\324\202]\325\n\fHY\203lT\202^\n\fSHZT	E,\207" [month day date year temp 1 nil math-quotient math-add 711859 math-compare -1 365 -108 math-negp 366 math-absolute-from-gregorian-dt 0 math-sub 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]] 8 (#$ . 9349)])
#@133 Return the day (YEAR MONTH DAY) in the Julian calendar.
DATE is the number of days since December 31, -1 in the Gregorian calendar.
(defalias 'math-date-to-julian-dt #[(date) "\305\306\307\310\n\211\311\312\"\313U\266\202\203\314\202\315\"\316\n!\203$\317\202%\320\"\306\n\321\305\211#\211\312\"\313U\266\202\203D\310\313\"\202)\322=\203L\313\323\n\f\"T\324\325\"\203]\326\202^\327\n\fHY\203mT\202_\n\fSHZT	E,\207" [month day date year temp 1 nil math-quotient math-add 711859 math-compare -1 367 -106 math-negp 366 365 math-absolute-from-julian-dt 0 math-sub math-leap-year-p t [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]] 8 (#$ . 10086)])
#@170 Return the day and time of VALUE.
The integer part of VALUE is the number of days since Dec 31, -1
in the Gregorian calendar and the remaining part determines the time.
(defalias 'math-date-to-dt #[(value) "\242\302=\203A@\211:?\206\211@\306>\262\204 \307\310\"\210\311!\211@	A@\f\203K\312\f8\206:\313\314\f\"\315\"\316U\266\202\203K\317\n!\202N\320\n!\321!\203Y
\202m\322
\323\245\324\245\324\246\325\324\246\326	8\"E\",\207" [value parts date time calc-gregorian-switch dt (frac float) math-reject-arg datep math-date-parts 3 apply math-absolute-from-gregorian-dt math-compare -1 math-date-to-julian-dt math-date-to-gregorian-dt math-integerp append 3600 60 math-add 2] 9 (#$ . 10825)])
#@50 Return the ISO8601 date (year week day) of DATE.
(defalias 'math-date-to-iso-dt #[(date) "\306!\204\n\307!\310\311\312\"!@\313	\211\314\315\316\313\317\"\211\317\211#\"\314Y\2030\nT\202\n*\"\211\313\320\311\316\f\317\211#\"\321\"@\317\"\322\321\"\211\314U\203S\321\202T
)E*\207" [date approx sum y year day Math-integerp math-floor math-date-to-gregorian-dt math-sub 3 math-add 0 math-compare math-absolute-from-iso-dt 1 math-idivmod 7 calcFunc-mod] 10 (#$ . 11549)])
(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\203y\314\315	!\316\314\3138\317_\3208\321_\\\322\3238\324\"\"\325\"\"\202z	)\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-dt 3 math-add math-float math-div 3600 4 60 time-convert 5 integer (float 864 2)] 8])
(defalias 'math-iso-dt-to-date #[(dt) "\302@A@\3038#\3048\203,\305\306	!\307\305\3048\310_\3118\312_\\\3138\"\314\"\"\202-	)\207" [dt date math-absolute-from-iso-dt 2 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])
#@172 Non-nil if YEAR is a leap year.
If JULIAN is non-nil, then use the criterion for leap years
in the Julian calendar, otherwise use the criterion in the
Gregorian calendar.
(defalias 'math-leap-year-p #[(year &optional julian) "\203\302	!\203\303\304	!\305\"\306U\207\303	\305\"\307U\207\302	!\203%\310\311	\"\303	\312\"\211\305\246\307U\203;	\313\246\307U?\206>	\307U\207" [julian year math-negp math-imod math-neg 4 1 0 math-sub -1 400 100] 4 (#$ . 13113)])
(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])
#@181 Return the number of days of the year up to YEAR MONTH DAY.
The count includes the given date.
If JULIAN is non-nil, use the Julian calendar, otherwise
use the Gregorian calendar.
(defalias 'math-day-in-year #[(year month day &optional julian) "\305	S_\\	\306V\203!\n\307\310	_\\\311\245Z\312\f\"\203!\nT\n)\207" [day month day-of-year year julian 31 2 23 4 10 math-leap-year-p] 4 (#$ . 13756)])
#@96 Return the number of days of the year up to YEAR MONTH DAY.
The count includes the given date.
(defalias 'math-day-number #[(year month day) "\2033	@=\203\304	\n#\304	\305\211#ZT\207	@\306\"\307U\266\202\203-\310	\n\311$\207\310	\n#\207\310	\n#\207" [calc-gregorian-switch year month day math-absolute-from-dt 1 math-compare -1 math-day-in-year t] 5 (#$ . 14165)])
#@80 Non-nil if DT1 occurs before DT2.
A DT is a list of the form (YEAR MONTH DAY).
(defalias 'math-dt-before-p #[(dt1 dt2) "@	@\302\"\303U\266\202\2062@	@\232\2052A@	A@W\2062A@	A@U\2052\3048\304	8W\207" [dt1 dt2 math-compare -1 2] 5 (#$ . 14549)])
#@159 Return the DATE of the day given by the Gregorian day YEAR MONTH DAY.
Recall that DATE is the number of days since December 31, -1
in the Gregorian calendar.
(defalias 'math-absolute-from-gregorian-dt #[(year month day) "\305U\203\306\305V\203\202T\211S\307\n\310_\311\n\312\"\311\n\313\"[\311\n\314\"\315\f#%*\207" [year y y1 month day 0 -1 + 365 floor 4 100 400 math-day-in-year] 10 (#$ . 14811)])
#@156 Return the DATE of the day given by the Julian day YEAR MONTH DAY.
Recall that DATE is the number of days since December 31, -1
in the Gregorian calendar.
(defalias 'math-absolute-from-julian-dt #[(year month day) "\304=\203\305\306\307\"\306\310\311\n\312$\310\313\314	\"\315!\203'\316	\317\"\2021\306\314\316\306\320\"\317\"\"\"\"\321\")\207" [year yearm1 month day 0 -1 math-sub 1 math-add math-day-in-year t math-mul 365 math-posp math-quotient 4 3 2] 11 (#$ . 15233)])
#@68 Return the DATE of the day given by the iso8601 day YEAR WEEK DAY.
(defalias 'math-absolute-from-iso-dt #[(year week day) "\305\306\307#\310	\311\310	\306\"\312\"A\"\313\211\nS\312_\"\f\314U\203$\315\202&\fS\"*\207" [year janfour prevmon week day math-absolute-from-gregorian-dt 1 4 math-sub math-idivmod 7 math-add 0 6] 6 (#$ . 15725)])
#@149 Return the DATE of the day given by the day YEAR MONTH DAY.
Recall that DATE is the number of days since December 31, -1
in the Gregorian calendar.
(defalias 'math-absolute-from-dt #[(year month day) "\203\304	\nE\"\203\305	\n#\207\306	\n#\207" [calc-gregorian-switch year month day math-dt-before-p math-absolute-from-julian-dt math-absolute-from-gregorian-dt] 4 (#$ . 16076)])
(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=\203A@	\nE\307\f\"A\206j\310\211\310\211\311\310\211\310\211\310\211\310\211\310\211\310\211\312\313\314\315\n\"\"B\fB\311\f\233\211\203f
\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 math-fd-iso-dt 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-isoyear math-fd-isoweek math-fd-isoweekday math-fd-bc-flag fmt] 6])
#@116 The beginning of the Julian date calendar,
as measured in the number of days before December 31, 1 BC (Gregorian).
(defconst math-julian-date-beginning '(float 17214245 -1) (#$ . 17630))
#@124 The beginning of the Julian date calendar,
as measured in the integer number of days before December 31, 1 BC (Gregorian).
(defconst math-julian-date-beginning-int 1721425 (#$ . 17824))
(defalias 'math-format-date-part #[(x) ";\203\207<\203\306	!\203\307\207\310\311\312\313\"\"\207\314\267\202\325\307\207\315	!\207\315\316	!!\207\315\317	\n\"!\207\315\317\316	!\"!\207\315\320	\321\"A@!\207\f\204\\\322	!\211@\fA@@\323\f8A\324\267\202\323
\211:\203\207\211@\325>\203\211A@\211\250\205z\211\326W\266\202\202\214\327!\262\202\214\211\326W\262B\330
!C\331C!\203\264C\332W\203\264B\203\252\333\202\253\307\334\335C\"P\202\303B\203\275\333\202\276\336\315C!P*\207\337\334\340@\"P\207\334\341A\"\207\342\207D\204 \343	!\211D@EDA@F\323D8G\344\316	!\345\"H\346D8I\347D8J\350D8K\351L>\203 \327E!\203 \352E!E\353M\354>\203iE\250\203PE\355V\203PE\356W\203P\334\357\267\202I\340\202J\360\202J\341E\361\246\"\207\331E!\203dE\361W\203d\334\362E\"\207\315E!\207\363\267\202\266\315E!\207\331E!\203\210E\361W\203\210\334\362E\"\207\315E!\207E\211:\203\263\211@\325>\203\253\211A@\211\250\205\246\211\326W\266\202\202\270\327!\262\202\270\211\326W\262\203\303\317E\364\"\202\305E\211N\211:\203\354\211@\325>\203\344\211A@\211\250\205\337\211\326W\266\202\202\361\327!\262\202\361\211\326W\262B\330N!C\331C!\203C\332W\203B\203\333\202\307\334\335C\"P\202)B\203#\333\202$\336\315C!P+\207\307\207M?\205K\365\207M?\205K\366\207M?\205K\367\207M?\205K\370\207M?\205K\371\207M?\205K\372\207M\205K\373\207M\205K\374\207M\205K\375\207M\205K\376\207M\205K\377\207M\205K\201U\207\201V\207\334\341F\"\207\334\340F\"\207\334\360F\"\207FSO8\227\207FSO8\207FSO8\226\207FSP8\207FSP8\226\207\334\341G\"\207\334\340G\"\207\334\360G\"\207\334\341H\"\207HQ8\227\207HQ8\207HQ8\226\207HR8\207HR8\226\207\334\341\201WEFG#\"\207\334\201X\201WEFG#\"\207\334\201Y\201WEFG#\"\207I\205K\334\341I\"\207I\205K\334\340I\"\207I\205K\334\360I\"\207I\205K\334\341I\201Z\\\201[\246T\"\207I\205K\334\340I\201Z\\\201[\246T\"\207I\205K\334\360I\201Z\\\201[\246T\"\207I\205KI\201[W\203\233\201\\\207\201]\207I\205KI\201[W\203\261\201^\207\201_\207I\205KI\201[W\203\307\201`\207\201a\207I\205KI\201[W\203\335\201b\207\201c\207I\205KI\201[W\203\363\201d\207\201e\207I\205KI\201[W\203	\201f\207\201g\207J\205K\334\341J\"\207J\205K\334\340J\"\207J\205K\334\360J\"\207K\205K\201hK!?\205K\201i\207K\205K\201j>\205T\201hK!?\205KK\250\203t\334\201k\267\202o\340\202p\360\202p\341K\"\207K\201l\201m\"\201nU\266\202\203\240\201o\267\202\234\201p\202\241\201q\202\241\307\202\241\307\201r\201[SZ\326^DT\315K!)P\207D\204\343	!\211D@EDA@F\323D8G\344\316	!\345\"H\346D8I\347D8J\350D8K\351L>\203\327E!\203\352E!E\353M\354>\205KE\250\2033E\355V\2033E\356W\2033\334\201s\267\202,\340\202-\360\202-\341E\361\246\"\207\331E!\203GE\361W\203G\334\362E\"\207\315E!\207" [x math-fd-date math-julian-date-beginning math-julian-date-beginning-int math-fd-iso-dt math-fd-isoyear math-integerp "" apply concat mapcar math-format-date-part #s(hash-table size 9 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (X 34 N 36 n 40 J 46 j 53 U 62 IYYY 71 Iww 71 w 71)) math-format-number math-floor math-add math-date-parts 719164 math-date-to-iso-dt 2 #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (IYYY 98 Iww 197 w 205)) (frac float) 0 math-negp calcFunc-abs natnump 10000 "-" format "%04d" "+" "W" "%02d" "%d" nil math-date-to-dt math-mod 7 3 4 5 b math-neg t (Y YY BY) 1940 2040 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (YY 321 BYY 325)) "%2d" 100 "+%d" #s(hash-table size 58 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (YYY 367 YYYY 372 ZYYY 397 b 555 aa 557 AA 565 aaa 573 AAA 581 aaaa 589 AAAA 597 bb 605 BB 612 bbb 619 BBB 626 bbbb 633 BBBB 640 T 649 M 653 MM 659 BM 665 mmm 671 Mmm 679 MMM 686 Mmmm 694 MMMM 701 D 709 DD 715 BD 721 W 727 www 733 Www 740 WWW 746 Wwww 753 WWWW 759 d 766 ddd 780 bdd 796 h 812 hh 823 bh 834 H 845 HH 865 BH 885 p 905 P 927 pp 949 PP 971 pppp 993 PPPP 1015 m 1037 mm 1048 bm 1059 C 1070 s 1089 ss 1089 bs 1089 SS 1089 BS 1089)) 1 "ad" "AD" "ad " "AD " "a.d." "A.D." "bc" "BC" " bc" " BC" "b.c." math-fd-isoweek math-fd-isoweekday neg pyear math-fd-dt math-fd-year 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 year math-short-month-names math-long-month-names math-short-weekday-names math-long-weekday-names calc-internal-prec calc-float-format "B.C." "T" math-day-number "%03d" "%3d" 11 12 "a" "p" "A" "P" "am" "pm" "AM" "PM" "a.m." "p.m." "A.M." "P.M." math-zerop ":" (SS BS) #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (ss 1127 SS 1127 bs 1131 BS 1131)) 10 math-compare -1 #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (ss 1168 SS 1168 bs 1174 BS 1174)) "0" " " fix #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (YY 1316 BYY 1320))] 7])
(defalias 'math-parse-date #[(math-pd-str) "\3062\355\307\310\"\206\354\307\311\"\206\354\312\313\"\203\314!\206\354\312\315\"\2031\316\317\320\321\"!D\206\354\310\311\211\211\211\211\211\211\211\211\211\211\211\211?@ABCDEFG\312\322\"\204d\312\323\"\203;\320\324\"H\325\320\321\"!B\320\326\"A\320\327\"@\330\331\211\224#\330\331\225\"PA\332\232\203\230\331A\202\236\325A!A@\332\232\203\253\331@\202\261\317@!@H\332\232\203\334B\333V\204\324B\333U\203:A\331U\204:@\331=\204:\334\306\335\"\210\202:H\331H\226\211H\336>\203B\337U\203A\331U\203@\331=\203H\340=\203:\331B\202:\334\306\341\"\210\202:B\331U\204!B\337V\203&\334\306\335\"\210H\342UB\337U=\203:B\337\\\333\246B)\312\343\"\203O\344!\211\321\224\345I\210\202;\312\346\"\203\270\347I!E\347J!CE\204m\347K!EC\204w\347L!\210B\204\227\347\350!\211\203\227	\321U\203\216\337\202\217\331B\331\211A@\347\351!\204\246\347\352!\203\246\310?\312\353\"\203\270\334\306\354\355\320\331\"\"\"\210\312\356\"\203\334\330\331\211\224#\330\331\225\"P\211\203\334\312\357	\"\203\334	\202\270\312\360\"\204\352\312\361\"\203\320\321\"F\330\331\321\224#\330\321\225\"P\317F!F\310\331\312\362	#\2035\203\334\306\363\"\210\325\320\331\"!\f\204'\311
\204/\f\311\331\225\202\364F\203?\321\202@\331E\203I\321\202J\331D\203S\321\202T\331
\203\\\321\202]\331\f\203e\321\202f\331\203n\321\202o\331&\211\365V\203\200\334\306\363\"\210\202\243	\326W\204\221F\203\231	\326U\203\231\334\306\366\"\210\202\243	\326U\203\243\367 FF\204\363
\203\304
\370V\204\270
\321W\203\304
F\f\311\202\363\f\203\336\f\370V\204\324\f\321W\203\336\fF\311\202\363\203\363\370V\204\356\321W\203\363F\311F\2031
\203
\337V\203
D\f\311\2021\f\203\"\f\337V\203\"\fD\311\2021\2031\337V\2031D\311F\203FD\203FE\204\315
E\202\315F\203VE\203V
D\202\315M\211\203\251	@9\203\242	@\371>\203yF\204\242
F\f\202\242	@\372>\203\217E\204\242
E\f\202\242	@\373>\203\242D\204\242
D\f	A\211\204]E\204\265
E\fD\204\301
D\fF\204\315
F\f?\203\332\374\375F!!F\376F\nEDBA@&.0\207" [math-pd-str temp bigyear c b a syntax math-parse-standard-date t nil string-match "W[0-9][0-9]" math-parse-iso-date "\\`[^-+/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 substring 0 "" 24 throw "Hour value is out of range" (78 77) 12 77 "Time must be 12:00:00 in this context" 65 "[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])
(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\241\f\313W\204q\f\324V\204q\f\324U\203v
\313U\204v \313=\204v\314\315\325\"\210
\313W\204\202
\326V\203\207\314\315\327\"\210\330 !\204\234 \331\332\"\333U\266\202\204\241\314\315\334\"\210\335\336\337	\nE\f\205\261\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" 24 "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] 7])
(defalias 'math-parse-iso-date-validate #[(isoyear isoweek isoweekday hour minute second) "\306W\204\f\307V\203\310\311\312\"\210	\306W\204	\313V\203\"\310\311\314\"\210\n\203r\n\315W\204D\n\316V\204D\n\316U\203I\315U\204I\f\315=\204I\310\311\317\"\210\315W\204U\320V\203Z\310\311\321\"\210\322\f!\204m\f\323\324\"\325U\266\202\204r\310\311\326\"\210\327\330\331
	E\n\205\201\n\fE\"!D\207" [isoweek isoweekday hour minute second isoyear 1 53 throw syntax "Week value is out of range" 7 "Weekday value is out of range" 0 24 "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-iso-dt-to-date append] 7])
(defalias 'math-parse-date-word #[(names &optional front) "\304	\203$\305	@\306\232\203\307\202\310	@!\n\"\204$	AT\202	\205J\2033\311\224\311U\205J\312\n\311\211\224#\203A\313\202B\314\312\n\311\225\"Q)\207" [n names math-pd-str front 1 string-match "Sep" "Sept?" regexp-quote 0 substring "" " "] 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\211\211\211@ABCDEFGHIJKLMJ\203.L\203.J@IJA\206NG\307G\211J\211J@\211H:\203aH@HI<\203}N\2034I\2034JGI\211J\202%I;\203\250IGOGX\203(I\310O\311IG#\232\203(\310OIG\"\211O\202%I\312\267\202]\2024\313\314O\"\203(\315O\311\"K\310O\311\225\"O\316\317K!!K\320KI\321>\203\337\311\202\364I\322=\204\355\323K!\203\362P\202\364Q\"K\324K8\206\377\f\325K8\206\326K8\206\nK@CKA@B\327K8\211A\202%\313\330O\"\203(\315O\311\"K\310O\311\225\"O\316\331\332\333\317K!\334\"\"!K\324K8\325K8\326K8K@CKA@B\327K8\211A\202%\335R\306\"\211B\202%\335S\306\"\211B\202%\335T\306\"\202%\335U\306\"\202%\313\336O\"\203\265\f\337U\203\250\311\202\251\f\310O\340\"\211O\202%\313\341O\"\203(\f\337U\203\307\337\202\314\f\337\\\342\246\310O\340\"\211O\202%\313\343O\"\203\370\f\337U\203\352\311\202\353\f\310O\311\225\"\211O\202%\313\344O\"\203(\f\337U\203\n\337\202\f\337\\\342\246\310O\311\225\"\211O\202%H\345>\203:I\346>\2032\313\347O\"\202?\313\350O\"\202?\313\330O\"\203(\315O\311\"CI\351=\206VO\311H\352>@\310O\311\225\"O\317C!\211C\203(I\353=\2034C\311=\2034\320C\340\"C\306\211@\202%\2024\313\330O\"\203(\354\315O\311\"!F\310O\311\225\"\211O\202%\313\355O\"\203(\354\315O\340\"!E\310O\324\"\211O\202%\2024O\311H\356=\2034\310O\340\"\211O\202%\2024\313\357O\"\203(\310O\311\225\"\211O\202%\313\360O\"\203(\310O\311\225\"\211O\202%\313\361O\"\203(\310O\311\225\"O\306\211\202%H\362>\203)\313\363O\"\202.\313\364O\"\203(\315O\311\"\310O\311\225\"O\317\n!\211\202%\313\365O\"\2034\310O\340\"\211O\202%\2024I\366>\203\202H\367>\203\202I\370=\203z\313\371O\"\202\207\313\347O\"\202\207\313\372O\"\203(\354\315O\311\"!K\310O\311\225\"O\202\241\202(I\373\267\202\343K\311Y\203(K\374W\202%K\211D\202%K\211\202%K\211B\202%K\211A\202%K\211\202%K\211\202%I\366>\203H\367>\203I\370=\203\313\371O\"\202
\313\347O\"\202
\313\372O\"\203$\354\315O\311\"!K\310O\311\225\"O\202(\307\2044\307L\2024
\203GB\203AA\203A\307\202G\340\211BAL\205\304O\375\232\205\304F\203g\376FED\f\n&\202\304B\205\304A\205\304\f\204}\204}\n\203\205\f\205\304\205\304C\204\216\377 C\n\204\224\311	\203\244\201V\201WC!!C\201XC@BA\f\n&A
\203\302\331A
S\"AA.\207" [calc-date-format bc-flag second minute hour yearday t nil substring 0 #s(hash-table size 50 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (X 175 n 178 N 178 j 178 J 178 U 295 mmm 368 Mmm 368 MMM 368 Mmmm 379 MMMM 379 www 390 Www 390 WWW 390 Wwww 398 WWWW 398 p 406 P 406 pp 472 PP 472 pppp 472 PPPP 472 Y 540 YY 540 BY 540 YYY 540 YYYY 540 ZYYY 540 IYYY 649 Iww 678 b 706 T 709 aa 732 AA 732 aaaa 732 AAAA 732 aaa 752 AAA 752 bb 772 BB 772 bbb 772 BBB 772 bbbb 772 BBBB 772 s 794 ss 794 bs 794 SS 794 BS 794 C 839)) 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 "\\`[-+]?[0-9]+" math-add 719164 math-div (float 864 2) math-parse-date-word "\\`a" 12 1 "\\`p" 24 "\\`am\\|a\\.m\\." "\\`pm\\|p\\.m\\." (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) ZYYY string-to-number "W\\([0-9][0-9]\\)" 84 "\\` *\\(ad\\|a\\.d\\.\\)" "\\` *ad *" "\\` *\\(bc\\|b\\.c\\.\\)" (YY YYYY MM DD hh HH mm) "\\` *[0-9][0-9]\\(\\.[0-9]+\\)?" "\\` *[0-9][0-9]?\\(\\.[0-9]+\\)?" "\\`:[0-9][0-9]" (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]+" #s(hash-table size 20 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (W 936 w 950 d 958 ddd 958 bdd 958 M 965 MM 965 BM 965 D 973 DD 973 BD 973 h 981 hh 981 bh 981 H 981 HH 981 BH 981 m 988 mm 988 bm 988)) 7 "" math-parse-iso-date-validate math-this-year bigyear day month year isoweekday isoweek isoyear 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 math-neg math-abs math-parse-date-validate] 20])
#@55 Parse MATH-PD-STR as an ISO week date, or return nil.
(defalias 'math-parse-iso-date #[(math-pd-str) "\306\307\211\211\211\211\211\310\311\"\203R\312\313\314\"!\313\315\"\313\316\"\317\320\211\224#	\321\232\203?\320\202C\312	!\321\232\203N\320\202R\322!\310\323\"\205{\312\313\314\"!\312\313\315\"!\312\313\316\"!\324
\f\n	&.\207" [second minute hour isoweekday isoweek isoyear t nil string-match "T[^0-9]*\\([0-9][0-9]\\)[^0-9]*\\([0-9][0-9]\\)?[^0-9]*\\([0-9][0-9]\\(\\.[0-9]+\\)?\\)?" string-to-number math-match-substring 1 2 3 substring 0 "" math-read-number "\\(-?[0-9]*\\)[^0-9]*W\\([0-9][0-9]\\)[^0-9]*\\([0-9]\\)[^0-9]*\\'" math-parse-iso-date-validate case-fold-search math-pd-str] 7 (#$ . 33168)])
(defalias 'calcFunc-now #[(&optional zone) "\303\304\211\305#\301\306\3078\3108\3118\3128A@@\257!)D\n\2036\313	\314\315\316\304	\"\316\n	\"\"\317\"\"\2027	)\207" [now date zone decode-time nil integer math-dt-to-date 5 4 3 2 math-add math-div math-sub calcFunc-tzone (float 864 2)] 8])
(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=\203A@\211:?\206\211@\301>\262\204 \302\303\"\210\304\305!\306\"\207" [date (frac float) math-reject-arg datep math-mod math-floor 7] 3])
(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=\203A@\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\232\f\211:?\206\220\211@\315>\262\204\232\310\f\316\"\210\203\347\306
!\203\250\307
!
\203\267\317
!\204\267\310
\320\"\210	\203\335\n\203\324\305\321
	\n\206\312\322\f\206\317\322\257!D\207\305\321
	E!D\207\305\321\323 
E!D\207
\211:?\206\362\211@\315>\262\203\373\305
D\207
@\305=\203
A@\207\310
\324\"\207" [month day hour minute second date math-messy-integerp math-trunc math-reject-arg fixnump hms 3 2 (frac float) realp math-integerp integerp math-dt-to-date 0 math-this-year datep] 8])
(defalias 'calcFunc-julian #[(date &optional zone) "\211:?\206\211@\304>\262\203/\300\305!\203\306	\"\202-\306\n\"\306\307\310\"\311\"\"D\207@\300=\203R\312A@\305A@!\203F	\202P\312\n\307\310\"\313\"\"\"\207\314\315\"\207" [date math-julian-date-beginning-int math-julian-date-beginning zone (frac float) 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) "\211:?\206\211@\302>\262\203%\303\304\305\306\"\"\300\307\305\310	\"\311\"\"D\207@\300=\203;\303\312A@\304\"A@\310	\"\"\207\313\314\"\207" [date zone (frac float) math-add 719163 math-div (float 864 2) math-sub calcFunc-tzone (float 864 2) math-date-parts math-reject-arg datep] 7])
#@39 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)) (#$ . 36958))
(defvar var-TimeZone nil)
#@62 Information about the timezone, retrieved from the calendar.
(defvar math-calendar-tzinfo nil (#$ . 37658))
#@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\302\303!\210\304 \305	@[_\305	A@_D\211)\207" [math-calendar-tzinfo tzinfo require cal-dst calendar-current-time-zone 60] 3 (#$ . 37773)])
(defalias 'calcFunc-tzone #[(&optional zone date) "\203\252\211:?\206\211@\306>\262\203\307\310\311\"!\207@\312=\203,\307\310\313\314\"\311\"!\207@\315=\203B\316\317A@	\"\317\3208	\"\"\207@\321=\203X\322\317A@	\"\317\3208	\"\"\207@\323=\203\245\324A@!\226\325\326\f\"\211\203\222\317\316\nA@\320\n8\250\203\203\320\n8\202\214\327	\n@\"\206\214\330\"	\"\202\243\331\232\203\237\317\325	\"\202\243\332\333\"*\207\332\334\"\207\335\336!\203\267\317\335\336!	\"\207\337 \211@\340	!
A@_\\)\207" [zone date found name math-tzone-names tzinfo (frac float) 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@\202M\203H\211:?\206*\211@\311>\262\203H\312\n\"\211\203D\313\314\315\fA@\316\"\")\202M\317\320\"\210\321!
\204Y\322!\205e
\n	$)\207" [date bump zone math-tzone-names zadj dt calcFunc-now nil 0 (frac float) 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\320\n_!\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 (#$ . 39638)])
(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) "\211:?\206\211@\303>\262\203\304\300D	\n#A@\207\305\211	\"\n\"\207" [date z1 z2 (frac float) 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 (#$ . 40757)])
#@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 (#$ . 41370)])
#@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 (#$ . 42060)])
(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=\203A@\211:?\206\211@\303>\262\204 \304\305\"\210\306	!\203*\307	!	\250\2044\304	\310\"\210	\311U\203<\312	\313W\204H	\312V\203M\304	\314\"\210\315\316!	\n\206X\311$\207" [date day weekday (frac float) 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=\203A@\211:?\206\211@\302>\262\204 \303\304\"\210	\204&\305\306	!\2030\307	!	\250\204:\303	\310\"\210	\305W\204F	\311V\203K\303	\312\"\210\313!\300\314\315\314	\"!\"D\207" [date weekday (frac float) 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\306\307!\203\310!\250\204\311\312\"\210\313W\204&\314V\203+\311\315\"\210\316	!\317\n@\nA@\"\f\205J\316\320\321\f8\206G\322\323\f\"\306\"!\313U\204WV\203]S\202`S\f\2031\324\n@\nA@\306E\f\"\203\236\324
\n@\nA@\306E\"\203\236\301\325\f@\fA@\326\f8\\V\203\223\202\230\326\f8\\E!D\202?\n@\f@=\203\361\nA@\fA@U\203\361\326
8\\\326\f8W\203\313\301\325\n@\nA@TE!D\202?\326\f8\326
8Z\\\301\325\n@\nA@V\203\350\202\352E!)D\202?\n@
@=\203 \nA@
A@U\203 \301\325\n@\nA@\326
8Y\203\326
8\202TE!D\202?\301\327\325\n@\nA@\306E!\"D\202?\301\327\325\n@\nA@\306E!\"D+\207" [day date dt dim calc-gregorian-switch julian 1 math-messy-integerp math-trunc math-reject-arg fixnump 0 31 range math-date-to-dt math-days-in-month math-sub 3 apply math-absolute-from-gregorian-dt math-dt-before-p math-dt-to-date 2 math-add tm] 7])
(defalias 'calcFunc-newyear #[(date &optional day) "\242\300=\203A@	\204\306\307	!\203\310	!	\250\204%\311	\312\"\210\313!\2057\3148\2067\315\316\"\205@\317\f\306\"\205H\313
!	\320Y\203	\321X\203\322\n@!\203a\321\202b\323	\320U\204q	V\203t\203\367\324\n@\306\211E\"\203\242\324\n@\306\211E\"\203\242\300\325\326\f	S\"\327@\330\331E!\"D\202\n@@=\203\347@@\332\"\333U\266\202\203\316\300\325\326\327\n@\306\211E!	S\"
\"D\202\300\325\326\327\n@\306\211E!	S\"\327\n@\330\331E!\"D\202\300\326\327\n@\306\211E!	S\"D\202\300\326\327\n@\306\211E!	S\"D)\202H	\334Y\203D	\333X\203D\2037\324\n@	[\306E\"\2037\324\n@	[\306E\"\2037\300\fD\202H\300\327\n@	[\306E!D\202H\311	\335\",\207" [date day dt calc-gregorian-switch gregbeg julianend 1 math-messy-integerp math-trunc math-reject-arg fixnump math-date-to-dt 3 apply math-absolute-from-gregorian-dt math-sub 0 366 math-leap-year-p 365 math-dt-before-p math-min math-add math-dt-to-date 12 31 math-compare -1 -12 range julian max] 7])
(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\317\211:?\206*\211@\313>\262\203\247\211:\203N\211@\314=\203F\211A@\315=\262\202S\316!\262\202S\211\315=\262\203X	\207\317	!\320\n@\nA\203\230\211:\203\211\211@\321>\203\201\211A@\211\250\205|\211\315V\266\202\202\216\322!\262\202\216\211\315V\262\203\230\323\324\"\202\231\"\325!\206\245\312	\"*\207\242\326=\203\312\327\f8\330\331\332\"\333\"
\203\304\330
A\"\312	\")\207\307\310\311\"\207\307	\334\"\207" [b a d bb math-holidays-cache hours date math-reject-arg nil "*Invalid combination in date arithmetic" calcFunc-badd (frac float) float 0 math-zerop math-to-business-day math-add (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=\203A@\211:?\206\211@\306>\262\204 \307\310\"\210\311!\312	\"\313	!\314\315\203E@=\204E\307\300	D\316\"\210\317!\210@A\211\203e@	W\203e\fT\202N\203t	@U\203t\320)\3218	\322\\\323\245S \324	\325 \323_#!\f G_\\\203\257@!W\203\257A\fT\202\226\203\277!@=\203\277\320+\3238\211\"\203\377\326\312\n\"@\"\"A\"\211\314\327\"\330U\266\202\203\345\314\n\325\327\"\330U\266\202\204\377\312\325\326\325\331\332\"A\"\"\")\333\312	\f\"\n\"
-B\207" [date day time dt delta holiday (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 need-year math-holidays-cache days weekdays weeks wkday hours] 8])
(defalias 'math-from-business-day #[(num) "\306!\307	\"	\250\204\310\311\312\"\210\313 \210A@\314
A\211\2030
@	W\2030\fT\202	\f\\*\3158\316GZ	S\\\245S\317	\320_#\314	G_\\>\203r	T\211\202zS\211\314V\203\206T\211\202e\3168\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\307\306\307!\310\311\211\211\211\211>\211?\211\242\312=\262\204*\313?\314\"\210?A\211?\203\236?@\242\315=\203E?@A@\250\204b?@\242\316=\203Y\317?@8\242\315=\204b?@\242\312=\203k?@
B\202*?@\242\320=\203\216?@A@>\236\203\216?@A@>\236A\fB\202*?@\242\316=\203#\317?@8\242\321=\203#\322?@8\242\321=\203#	\203\270\313?@\323\"\210\324?@\325\"\317	8\326\327\"\330U\266\202\204\335\331\322	8\327\"\330U\266\202\203\344\313?@\332\"\210\317	8\333\322	8\317	8\"B\211A\211:\203\211@\334=\203	\211A@\326=\262\202\335!\262\202\211\326=\262\203*\313?@\336\"\210\202*?@\242\316=\203@\337\317?@8!\203@\337\322?@8!\204W?@\250\203y?@\340V\203y?@\341W\203y\n\203b\313?@\342\"\210\343?@\344\"\211\345\232\203*\313?@\346\"\210\202*\347?@\350\"\204\213\347?@\351\"\203\224?@B\202*\313?@\352\"\210\202*\fG\353U\203\252\313\311\354\"\210\330C\330C\311\355\f\356\"\n\206\270\357\311
B	\257@\306\307!.
\205\275\360
!\361@8\311ABC\362C\363@8\"\331=\204\374
\242\315=\204\366\315
D
\313
\364\"\210\365\216\366@8\211\203!\311D\366@\233\311\240\210\367\312
AB!\210@AA
@\240\210)\317@8\204/\370A\311\202\274B\204J\361@\233C\211B\240\210\371C!\210\370\211A\202\274CB@W\203\201\372\373CB@S#\210\374\375!\210CB@W\203zB\211@S\240\210\371B@!\210\202a\370\211A\202\274CBAV\203\270\372\373BATC#\210\374\375!\210CBAV\203\261B\211AT\241\210\371BA!\210\202\230\370\211A\202\274\370A\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 vec math-reject-arg "*Holidays variable must be a vector" date intv 2 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 float math-zerop "*Degenerate hours interval" Math-integerp 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" #[nil "\206\302\211\207" [done math-holidays-cache-tag t] 2] 6 math-setup-add-holidays t math-setup-year-holidays message "Computing holidays, %d .. %d" calc-set-command-flag clear-message wdnames h 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\313\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\313\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\273\211@\321>\262\203\307\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 (frac float) math-reject-arg "*Invalid holiday value" "*Holiday formula failed to evaluate" prev] 4])
(defalias 'math-make-sdev #[(x sigma) "\242\302>\203\f\303\304\"\210	\242\305>\203\303	\304\"\210	\211:\203=\211@\306>\2035\211A@\211\250\2050\211\307W\266\202\202B\310!\262\202B\211\307W\262\204L	\242\311>\203P\312	!	\211:\203o\211@\313=\203g\211A@\307=\262\202t\314!\262\202t\211\307=\262\203\211\211:?\206\202\211@\315>\262\203\211\207\316	E\207" [x sigma (date mod sdev intv vec) math-reject-arg realp (date mod sdev intv vec) (frac float) 0 math-negp (cplx polar) math-abs float math-zerop (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!\211\211:?\206\211@\305>\262\2039	\211:?\206'\211@\305>\262\2039\306	!\2039\307\n	\"\202?\303\310\n	E!*\207" [a m n math-normalize 2 (frac float hms) math-posp math-make-mod calcFunc-makemod] 5])
(defalias 'math-make-mod #[(n m) "\n\205\307\211:?\206\211@\303>\262\204\304\305\"\207\306!\204&\304\307\"\207\n\211:?\2061\211@\303>\262\203}\n\211:\203[\211@\310>\203S\211A@\211\250\205N\211\311W\266\202\202`\312!\262\202`\211\311W\262\204p\n\313\"\314U\266\202\204x\315\316\n\"E\207\315\nE\207\n@\317>\203\217\320\n@\321\322\nA\"B!\207\n@\323=\203\264\nA@\211:?\206\243\211@\303>\262\203\264\324\325\nA@\"\326\n8\"\207\n@\327>\203\303\324\325\330\"\n\"\207\304\n\305\"\207" [m calc-previous-modulo n (frac float hms) math-reject-arg anglep math-posp posp (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] 5])
(defalias 'calcFunc-makemod #[(n m) "\302	\"\207" [n m math-make-mod] 3])
(defalias 'math-make-intv #[(mask lo hi) "\242\304>\203\f\305\306\"\210	\242\307>\203\305	\306\"\210\242\310=	\242\310==\2044\305\242\310=\2030	\2021\311\"\210\211:?\206?\211@\312>\262\204K@\310=\203\242	\211:?\206V\211@\312>\262\204b	@\310=\203\242\313	\"\211\314U\203\315U\203w\202\240\316	F\202\240\n\314V\203\233\315U\203\223\316\317\211F\202\240\316\211F\202\240\316	F)\207\316	F\207" [lo hi cmp mask (cplx polar mod sdev intv vec) math-reject-arg realp (cplx polar mod sdev intv vec) date datep (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) "	\303\"\304U\266\202\203\305\306\nH	#\207\305\n	#\207" [hi lo mask math-compare -1 math-make-intv [0 2 1 3]] 5])
(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) "\306!\205[\306	!\205[\306\n!\205[\307	\310\n
\310=\204C\311
\"\312
\313\f@\"\"\f
A*\202\311
\"\211A\310=\205Z\314\313@
\"\n\"-\207" [a b m v3 v1 u3 Math-integerp 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\310\n	#\311\312\"\203W\310\313\211\225S#\310\313\225\"\313\314\315\316Q!\211\242\317=\203<\202S\314
!\211\242\317=\203K
\202S\320\321A
C#+\202\202\311\322\"\203\313\314!\211\205{\242\317=\203s\202{\320\323\324\f!C#)\202\202\325!\211;\203\217\326\327\"\210\242\317=\203\237\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 substring string-match "\\` *\\([a-zA-Z#][a-zA-Z0-9#]* *,? *\\)*:" 0 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)

Zerion Mini Shell 1.0