%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-units.elc

;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.

;;; This file contains utf-8 non-ASCII characters,
;;; and so cannot be loaded into Emacs 22 or earlier.
(and (boundp 'emacs-version)
     (< (aref emacs-version (1- (length emacs-version))) ?A)
     (string-lessp emacs-version "23")
     (error "`%s' was compiled for Emacs 23 or later" #$))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\207" [require calc-ext calc-macs] 2)
(defvar math-standard-units '((m nil "*Meter") (in "254*10^(-2) cm" "Inch" nil "2.54 cm") (ft "12 in" "Foot") (yd "3 ft" "Yard") (mi "5280 ft" "Mile") (au "149597870691. m" "Astronomical Unit" nil "149597870691 m (*)") (lyr "c yr" "Light Year") (pc "3.0856775854*10^16 m" "Parsec  (**)" nil "3.0856775854 10^16 m (*)") (nmi "1852 m" "Nautical Mile") (fath "6 ft" "Fathom") (fur "660 ft" "Furlong") (mu "1 um" "Micron") (mil "(1/1000) in" "Mil") (point "(1/72) in" "Point  (PostScript convention)") (Ang "10^(-10) m" "Angstrom") (mfi "mi+ft+in" "Miles + feet + inches") (texpt "(100/7227) in" "Point  (TeX convention) (**)") (texpc "12 texpt" "Pica  (TeX convention) (**)") (texbp "point" "Big point  (TeX convention) (**)") (texdd "(1238/1157) texpt" "Didot point  (TeX convention) (**)") (texcc "12 texdd" "Cicero  (TeX convention) (**)") (texsp "(1/65536) texpt" "Scaled TeX point (TeX convention) (**)") (hect "10000 m^2" "*Hectare") (a "100 m^2" "Are") (acre "(1/640) mi^2" "Acre") (b "10^(-28) m^2" "Barn") (L "10^(-3) m^3" "*Liter") (l "L" "Liter") (gal "4 qt" "US Gallon") (qt "2 pt" "Quart") (pt "2 cup" "Pint (**)") (cup "8 ozfl" "Cup") (ozfl "2 tbsp" "Fluid Ounce") (floz "2 tbsp" "Fluid Ounce") (tbsp "3 tsp" "Tablespoon") (tsp "492892159375*10^(-11) ml" "Teaspoon" nil "4.92892159375 ml") (vol "tsp+tbsp+ozfl+cup+pt+qt+gal" "Gallons + ... + teaspoons" nil "tsp+tbsp+ozfl+cup+pt+qt+gal") (galC "galUK" "Canadian Gallon") (galUK "454609*10^(-5) L" "UK Gallon" nil "4.54609 L") (s nil "*Second") (sec "s" "Second") (min "60 s" "Minute") (hr "60 min" "Hour") (day "24 hr" "Day") (wk "7 day" "Week") (hms "wk+day+hr+min+s" "Hours, minutes, seconds") (yr "36525*10^(-2) day" "Year (Julian)" nil "365.25 day") (Hz "1/s" "Hertz") (mph "mi/hr" "*Miles per hour") (kph "km/hr" "Kilometers per hour") (knot "nmi/hr" "Knot") (c "299792458 m/s" "Speed of light") (ga "980665*10^(-5) m/s^2" "*\"g\" acceleration" nil "9.80665 m / s^2") (g nil "*Gram") (lb "16 oz" "Pound (mass)") (oz "28349523125*10^(-9) g" "Ounce (mass)" nil "28.349523125 g") (ton "2000 lb" "Ton") (tpo "ton+lb+oz" "Tons + pounds + ounces (mass)") (t "1000 kg" "Metric ton") (tonUK "10160469088*10^(-7) kg" "UK ton" nil "1016.0469088 kg") (lbt "12 ozt" "Troy pound") (ozt "311034768*10^(-7) g" "Troy ounce" nil "31.10347680 g") (ct "(2/10) g" "Carat" nil "0.2 g") (u "1.660539040*10^(-27) kg" "Unified atomic mass" nil "1.660539040 10^-27 kg (*)") (N "m kg/s^2" "*Newton") (dyn "10^(-5) N" "Dyne") (gf "ga g" "Gram (force)") (lbf "ga lb" "Pound (force)") (kip "1000 lbf" "Kilopound (force)") (pdl "138254954376*10^(-12) N" "Poundal" nil "0.138254954376 N") (J "N m" "*Joule") (erg "10^(-7) J" "Erg") (cal "41868*10^(-4) J" "International Table Calorie" nil "4.1868 J") (calth "4184*10^(-3) J" "Thermochemical Calorie" nil "4.184 J") (Cal "1000 cal" "Large Calorie") (Btu "105505585262*10^(-8) J" "International Table Btu" nil "1055.05585262 J") (eV "ech V" "Electron volt") (ev "eV" "Electron volt") (therm "105506000 J" "EEC therm") (invcm "h c/cm" "Energy in inverse centimeters") (Kayser "invcm" "Kayser (inverse centimeter energy)") (men "100/invcm" "Inverse energy in meters") (Hzen "h Hz" "Energy in Hertz") (Ken "k K" "Energy in Kelvins") (Wh "W hr" "Watt hour") (Ws "W s" "Watt second") (W "J/s" "*Watt") (hp "550 ft lbf/s" "Horsepower") (hpm "75 m kgf/s" "Metric Horsepower") (K nil "*Degree Kelvin" K) (dK "K" "Degree Kelvin" K) (degK "K" "Degree Kelvin" K) (dC "K" "Degree Celsius" C) (degC "K" "Degree Celsius" C) (dF "(5/9) K" "Degree Fahrenheit" F) (degF "(5/9) K" "Degree Fahrenheit" F) (Pa "N/m^2" "*Pascal") (bar "10^5 Pa" "Bar") (atm "101325 Pa" "Standard atmosphere") (Torr "(1/760) atm" "Torr") (mHg "1000 Torr" "Meter of mercury") (inHg "254*10^(-1) mmHg" "Inch of mercury" nil "25.4 mmHg") (inH2O "2.490889*10^2 Pa" "Inch of water" nil "2.490889 10^2 Pa (*)") (psi "lbf/in^2" "Pounds per square inch") (P "(1/10) Pa s" "*Poise") (St "10^(-4) m^2/s" "Stokes") (A nil "*Ampere") (C "A s" "Coulomb") (Fdy "ech Nav" "Faraday") (e "ech" "Elementary charge") (ech "1.602176634*10^(-19) C" "Elementary charge" nil "1.602176634 10^-19 C") (V "W/A" "Volt") (ohm "V/A" "Ohm") (Ω "ohm" "Ohm") (mho "A/V" "Mho") (S "A/V" "Siemens") (F "C/V" "Farad") (H "Wb/A" "Henry") (T "Wb/m^2" "Tesla") (Gs "10^(-4) T" "Gauss") (Wb "V s" "Weber") (cd nil "*Candela") (sb "10000 cd/m^2" "Stilb") (lm "cd sr" "Lumen") (lx "lm/m^2" "Lux") (ph "10000 lx" "Phot") (fc "lm/ft^2" "Footcandle") (lam "10000 lm/m^2" "Lambert") (flam "(1/pi) cd/ft^2" "Footlambert") (Bq "1/s" "*Becquerel") (Ci "37*10^9 Bq" "Curie") (Gy "J/kg" "Gray") (Sv "Gy" "Sievert") (R "258*10^(-6) C/kg" "Roentgen") (rd "(1/100) Gy" "Rad") (rem "rd" "Rem") (mol nil "*Mole") (rad nil "*Radian") (circ "2 pi rad" "Full circle") (rev "circ" "Full revolution") (deg "circ/360" "Degree") (arcmin "deg/60" "Arc minute") (arcsec "arcmin/60" "Arc second") (grad "circ/400" "Grade") (rpm "rev/min" "Revolutions per minute") (sr nil "*Steradian") (h "6.62607015*10^(-34) J s" "*Planck's constant" nil "6.62607015 10^-34 J s") (hbar "h / (2 pi)" "Planck's constant") (eps0 "ech^2 / (2 alpha h c)" "Permittivity of vacuum") (ε0 "eps0" "Permittivity of vacuum") (mu0 "1 / (eps0 c^2)" "Permeability of vacuum") (μ0 "mu0" "Permeability of vacuum") (G "6.67408*10^(-11) m^3/(kg s^2)" "Gravitational constant" nil "6.67408 10^-11 m^3/(kg s^2) (*)") (Nav "6.02214076*10^(23) / mol" "Avogadro's constant" nil "6.02214076 10^23 / mol") (me "9.10938356*10^(-31) kg" "Electron rest mass" nil "9.10938356 10^-31 kg (*)") (mp "1.672621898*10^(-27) kg" "Proton rest mass" nil "1.672621898 10^-27 kg (*)") (mn "1.674927471*10^(-27) kg" "Neutron rest mass" nil "1.674927471 10^-27 kg (*)") (mmu "1.883531594*10^(-28) kg" "Muon rest mass" nil "1.883531594 10^-28 kg (*)") (mμ "mmu" "Muon rest mass" nil "1.883531594 10^-28 kg (*)") (Ryd "10973731.568508 /m" "Rydberg's constant" nil "10973731.568508 /m (*)") (k "1.380649*10^(-23) J/K" "Boltzmann's constant" nil "1.380649 10^-23 J/K") (sigma "2 pi^5 k^4 / (15 h^3 c^2)" "Stefan-Boltzmann constant") (σ "sigma" "Stefan-Boltzmann constant") (alpha "7.2973525664*10^(-3)" "Fine structure constant" nil "7.2973525664 10^-3 (*)") (α "alpha" "Fine structure constant" nil "7.2973525664 10^-3 (*)") (muB "927.4009994*10^(-26) J/T" "Bohr magneton" nil "927.4009994 10^-26 J/T (*)") (muN "5.050783699*10^(-27) J/T" "Nuclear magneton" nil "5.050783699 10^-27 J/T (*)") (mue "-928.4764620*10^(-26) J/T" "Electron magnetic moment" nil "-928.4764620 10^-26 J/T (*)") (mup "1.4106067873*10^(-26) J/T" "Proton magnetic moment" nil "1.4106067873 10^-26 J/T (*)") (R0 "Nav k" "Molar gas constant") (V0 "22.710947*10^(-3) m^3/mol" "Standard volume of ideal gas" nil "22.710947 10^-3 m^3/mol (*)") (Np nil "*Neper") (dB "(ln(10)/20) Np" "decibel")))
#@212 Additional units table for user-defined units.
Must be formatted like `math-standard-units'.
If you change this, be sure to set `math-units-table' to nil to ensure
that the combined units table will be rebuilt.
(defvar math-additional-units nil (#$ . 7269))
(defvar math-unit-prefixes '((89 (^ 10 24) "Yotta") (90 (^ 10 21) "Zetta") (69 (^ 10 18) "Exa") (80 (^ 10 15) "Peta") (84 (^ 10 12) "Tera") (71 (^ 10 9) "Giga") (77 (^ 10 6) "Mega") (107 (^ 10 3) "Kilo") (75 (^ 10 3) "Kilo") (104 (^ 10 2) "Hecto") (72 (^ 10 2) "Hecto") (68 (^ 10 1) "Deka") (0 (^ 10 0) nil) (100 (^ 10 -1) "Deci") (99 (^ 10 -2) "Centi") (109 (^ 10 -3) "Milli") (117 (^ 10 -6) "Micro") (956 (^ 10 -6) "Micro") (110 (^ 10 -9) "Nano") (112 (^ 10 -12) "Pico") (102 (^ 10 -15) "Femto") (97 (^ 10 -18) "Atto") (122 (^ 10 -21) "zepto") (121 (^ 10 -24) "yocto")))
(defvar math-standard-units-systems '((base nil) (si ((g '(/ (var kg var-kg) 1000)))) (mks ((g '(/ (var kg var-kg) 1000)))) (cgs ((m '(* (var cm var-cm) 100))))))
#@146 Internal units table.
Derived from `math-standard-units' and `math-additional-units'.
Entries are (SYMBOL EXPR DOC-STRING TEMP-TYPE BASE-UNITS).
(defvar math-units-table nil (#$ . 8270))
(defvar math-units-table-buffer-valid nil)
(defalias 'calc-base-units #[0 "\300\301`\"\207" [calc-do #[0 "\301\302\303\304\305\306\307\303!\301\"!#)\207" [calc-autorange-units nil calc-enter-result 1 "bsun" math-simplify-units math-to-standard-units calc-top-n] 7]] 3 nil nil])
(defalias 'calc-quick-units #[0 "\300\301`\"\207" [calc-do #[0 "\302Z\211\303U\203
\304\202\211\305\306!\307\310!\303Y\203 \311X\204$\312\313!\210\211\242\314=\262\2042\312\315!\210GW\204>\312\316\"\210\317\320\"\203c	\203P\3218\"\210\322\310\323\324\"\3258\"#\202u\322\310\323\326\"\327\3308\"!#\207" [last-command-event calc-ensure-consistent-units 48 0 10 calc-var-value var-Units calc-top-n 1 9 error "Bad unit number" vec "No \"quick units\" are defined" "Unit number %d not defined" math-units-in-expr-p nil math-check-unit-consistency calc-enter-result format "cun%d" math-convert-units "*un%d" math-simplify-units math-mul] 12]] 3 nil nil])
#@47 Return the standard units in EXPR.

(fn EXPR)
(defalias 'math-get-standard-units #[257 "\300\301\302\303\"!!\207" [math-simplify-units math-extract-units math-to-standard-units nil] 6 (#$ . 9427)])
#@38 Return the units in EXPR.

(fn EXPR)
(defalias 'math-get-units #[257 "\300\301!!\207" [math-simplify-units math-extract-units] 4 (#$ . 9632)])
#@68 Return EXPR in string form.
If EXPR is nil, return nil.

(fn EXPR)
(defalias 'math-make-unit-string #[257 "\211\205\300\301\"\302\303\304;\203\202\305!#\262\207" [math-compose-expr 0 replace-regexp-in-string " / " "/" math-composition-to-string] 7 (#$ . 9782)])
#@45 A table storing previously converted units.
(defvar math-default-units-table (make-hash-table :test 'equal) (#$ . 10061))
#@72 Get default units to use when converting the units in EXPR.

(fn EXPR)
(defalias 'math-get-default-units #[257 "\301!\302!\303\"@\232\203\304A@!\202\304@!\207" [math-default-units-table math-get-units math-get-standard-units gethash math-make-unit-string] 6 (#$ . 10189)])
#@145 Put the units in EXPR in the default units table.
If COMP or STD is non-nil, put that in the units table instead.

(fn EXPR &optional COMP STD)
(defalias 'math-put-default-units #[769 "\206\211\206\301!\302\203\303!\202\203\202!\304\"\305=?\205H\211\2048\306C#\202H@\232?\205H\306@D#\207" [math-default-units-table math-get-units math-get-standard-units math-simplify-units gethash 1 puthash] 10 (#$ . 10481)])
(defvar calc-allow-units-as-numbers t)
#@38 

(fn &optional OLD-UNITS NEW-UNITS)
(defalias 'calc-convert-units #[512 "\211C\300\301\302\303\304\305\"\306\"\307$`\"\207" [calc-do make-byte-code 0 "\305\306!\307\211\211\211\211\310\311\"\203-\302\312N\203\302\312N@\202\n\205'\313!\306=\211\262\203\201\300\206`\203;\314\315!\202>\314\316!\262\317\232\203P\262\320\262\306\202`\321\322\"\203]\320P\262\323!\310\311\"\204k\324\325!\210\211\242\324=\203y\324\326A@\"\210\327\"\262\210\330!\262\301\242\204\277\301\314\203\237\204\237\316\331Q\202\240\332\203\253\333\334Q\202\254\335P!\240\210\301\242\317\230\203\277\211\203\277\301\240\210\321\322\301\242\"\203\316\301\320\301\242P\240\210\323\301\242!\262\242\324=\203\342\324\326\3368\"\210\203\354\337\"\210\310\311\"\242\340=\205\374A@\f\236\242\341=\204\f\204\f\324\325!\210\205\320\232?\203&\342\343A@\"!\202-\344\n#\204D\345\203;\202<\205B\"\210\346\306\347#\266\202\266\203\207" vconcat vector [calc-allow-units-as-numbers calc-ensure-consistent-units math-standard-units-systems calc-top-n 1 nil math-units-in-expr-p t saved-value math-get-standard-units read-string "(The expression is unitless when simplified) Old Units: " "Old units: " "" "1" string-match "\\` */" math-read-expr error "No units specified" "Bad format in units expression: %s" math-mul math-get-default-units ", new units" "New units" " (default " "): " ": " 2 math-check-unit-consistency var + math-simplify-units math-to-standard-units math-convert-units math-put-default-units calc-enter-result "cvun"] 15] 11 (#$ . 10972) nil])
(defalias 'calc-convert-exact-units #[0 "\300\301`\"\207" [calc-do #[0 "\300\301!\302\303\"\204\304\305!\210\306!\307!\310\311\312\203\"\313\314Q\202#\315P!\211\316\230\2032\2032\262\317!\262\242\304=\203E\304\320\3218\"\210\322\"\210\323\324\325!\326\327\330	E\310\"!\"E\331\301\332#\262\266\204\207" [calc-top-n 1 math-units-in-expr-p t error "No units in expression." math-extract-units math-get-default-units nil read-string "New units" " (default " "): " ": " "" math-read-expr "Bad format in units expression: %s" 2 math-check-unit-consistency * math-mul math-remove-units math-simplify-units math-to-standard-units / calc-enter-result "cvxu"] 13]] 3 nil nil])
#@12 

(fn ARG)
(defalias 'calc-autorange-units #[257 "\300\301\302\303\304\305!\306\"\307$!\207" [calc-do make-byte-code 0 "\302\301\300\303\304$\210\305	\203\306\202\307!\207" vconcat vector [calc-autorange-units calc-change-mode nil t message "Adjusting target unit prefix automatically" "Using target units exactly"] 5] 8 (#$ . 13299) "P"])
#@38 

(fn &optional OLD-UNITS NEW-UNITS)
(defalias 'calc-convert-temperature #[512 "\300\301\302\303\304\305\"\306\"\307$`\"\207" [calc-do make-byte-code 0 "\304\305\306\307\n\"\"\310\311!\305\211\211\211\300\206?\312!\211\2033\211:\203-\313@\314\315\316@!P!E\202=\317\320!\202=\321\322\323	\"\211\262!\262\262\242\317=\203P\317\324\3258\"\210\326\305\"\204]\327\"\262\330!\262\301\206\203\322\203r\323\331Q\202s\332\203~\333\334Q\202\335P\"\262\321\336\230\203\220\202\221!\262\242\317=\203\242\317\324\3258\"\210\337!\210\340\341\342$!!\211\211:\203\323\211@\343=\203\313\211A@\344=\262\202\330\345!\262\202\330\211\344=\262\203\341\346E\262\347\350\311\351#)\262\207" vconcat vector [math-standard-units calc-simplify-mode delq nil mapcar #[257 "\3008\205\211@\207" [3] 3 "\n\n(fn X)"] calc-top-n 1 math-single-units-in-expr-p var intern "var-" symbol-name error "Not a pure temperature expression" math-read-expr completing-read "Old temperature units: " "Bad format in units expression: %s" 2 math-units-in-expr-p math-mul math-get-default-units ", new units" "New temperature units" " (default " "): " ": " "" math-put-default-units calc-normalize math-simplify-units math-convert-temperature float 0 math-zerop * none calc-enter-result "cvtm"] 13] 10 (#$ . 13651) nil])
(defalias 'calc-remove-units #[0 "\300\301`\"\207" [calc-do #[0 "\300\301\302\303\304\305\301!!!#\207" [calc-enter-result 1 "rmun" math-simplify-units math-remove-units calc-top-n] 7]] 3 nil nil])
(defalias 'calc-extract-units #[0 "\300\301`\"\207" [calc-do #[0 "\300\301\302\303\304\305\301!!!#\207" [calc-enter-result 1 "exun" math-simplify-units math-extract-units calc-top-n] 7]] 3 nil nil])
(defalias 'calc-explain-units #[0 "\300\301!\207" [calc-do #[0 "\302\211\303\304\305!\305\"\210\203\306\307\"\203\310\311Q	\2032\203+\312\313	#\202@\312\314	\"\202@\203=\312\315\"\202@\312\316!*\207" [calc-den-units calc-num-units nil calc-explain-units-rec calc-top-n 1 string-match "^[^(].* .*[^)]$" "(" ")" message "%s per %s" "%s" "1 per %s" "No units in expression"] 4]] 2 nil nil])
#@17 

(fn EXPR POW)
(defalias 'calc-explain-units-rec #[514 "\303!\304\203\305!\204\3068\206\307@!\211\310H\311=\203&\312\313\"\262\314\315\"\203a\314\316\"\203[\314\317\"\211\262\203a\312\310#H\320=\203O\321\202P\322\312T\"Q\262\2024\323\324Q\262A@@=\204\217\306\307A@!\310H\2368\314\315\"\203\212@\325>\204\212\321P\202\214\227P\262\326\313\"\204\364\326\327\"\204\364\326\306\"\204\253\326\330\"\203\303\3318\332\232\203\273\333P\262\202\364\211\334P\262\202\364\326\335\"\204\321\326\336\"\203\351\3318\337\232\203\341\340P\262\202\364\211\341P\262\202\364\211\342\343\344!!Q\262\345!\203	\203	\346Q\202\211\211\202\n\203\n\346Q\202\211\211\262\202\202\242\347=\2035\350A@\"\210\350\3068\"\202\202\242\351=\203M\350A@\"\210\350\3068[\"\202\202\242\352>\203]\350A@\"\202\202\242\353=\205\202\3068\211:?\206q\211@\354>\262\205\202\350A@\355\3068\"\"\207" [math-unit-prefixes calc-num-units calc-den-units math-check-unit-name nil math-zerop 2 symbol-name 0 42 substring 1 string-match "[^a-zA-Zα-ωΑ-Ω0-9']" "^[a-zA-Zα-ωΑ-Ω0-9' ()]*$" "[ ()]" 32 "-" "" "(" ")" (mHg gf) math-equal-int -1 -2 4 ((m . 1)) "Square-" "-squared" 3 -3 ((m . 1)) "Cubic-" "-cubed" "^" math-format-number math-abs math-posp " " * calc-explain-units-rec / (neg + -) ^ (frac float) math-mul] 10 (#$ . 15810)])
(defalias 'calc-simplify-units #[0 "\300\301`\"\207" [calc-do #[0 "\301>?\205\302\303\304\305\306\303!!#)\207" [calc-simplify-mode (none num) calc-enter-result 1 "smun" math-simplify-units calc-top-n] 6]] 3 nil nil])
#@10 

(fn N)
(defalias 'calc-view-units-table #[257 "\211\203\302\303\304!\211\203-	\203-\203-\305\306!!\210\307 \310!\210\311\302!\210\310!\262\2020\312\302!\207" [math-units-table-buffer-valid math-units-table nil get-buffer-window "*Units Table*" bury-buffer window-buffer selected-window select-window switch-to-buffer math-build-units-table-buffer] 5 (#$ . 17450) "P"])
#@10 

(fn N)
(defalias 'calc-enter-units-table #[257 "\211\203\301\302\303!\210\304\305\306\307!\"\207" [math-units-table-buffer-valid nil math-build-units-table-buffer t message "%s" substitute-command-keys "Type \\[calc] to return to the Calculator"] 5 (#$ . 17839) "P"])
#@34 

(fn UNAME DESC &optional DISP)
(defalias 'calc-define-unit #[770 "\211C\211\242\203
\211\300\301!\240\210\302\303\304\305\306\307		#\310\"\311$!\210\312 \207" [read-string "Display definition: " calc-do make-byte-code 0 "\305\306!\300\236\211\204\300\307\211\211\211\257\211\262B\307\211A\242\310=\205'A@\300=?\2057\311\306\"?\2057\312\313\"\240\210\211AA\301\314\232?\205D\301\240\210\302\242\205S\211AAAA\302\242\240\207" vconcat vector [math-additional-units math-units-table calc-top-n 1 nil var math-equal-int math-format-flat-expr 0 ""] 7 calc-invalidate-units-table] 13 (#$ . 18118) "SDefine unit name: \nsDescription: \nP"])
#@14 

(fn UNAME)
(defalias 'calc-undefine-unit #[257 "\300\301\302\303\304\305!\306\"\307$!\210\310 \207" [calc-do make-byte-code 0 "\300	\236\211\204\300\n\236\203\304\305\300\"\210\202\304\306\300\"\210\307	\"\310\211\207" vconcat vector [math-additional-units math-standard-units math-units-table error "\"%s\" is a predefined unit name" "Unit name \"%s\" not found" delq nil] 4 calc-invalidate-units-table] 8 (#$ . 18781) "SUndefine unit name: "])
(defalias 'calc-invalidate-units-table #[0 "\302\303\304!\211\205r\211q\210\212eb\210\305\306!\205\307\310c)*\207" [math-units-table inhibit-read-only nil get-buffer "*Units Table*" looking-at "Calculator Units Table" t "(Obsolete) "] 3])
#@14 

(fn UNAME)
(defalias 'calc-get-unit-definition #[257 "\300\301\302\303\304\305!\306\"\307$!\207" [calc-do make-byte-code 0 "\302 \210\300	\236\211\204\303\304\300\"\210\3058\211;\203'\306\307\"\203,\310\311\"\262\202,\312\300!\262A@\203A\313\314\315A@#\210\316\317\"\202T\313\314\315\320\300\321\322\312\300!P!E#\210\316\323\"\262\207" vconcat vector [math-units-table math-build-units-table error "Unit name \"%s\" not found" 2 string-match "^\\*" substring 1 symbol-name calc-enter-result 0 "ugdf" message "Derived unit: %s" var intern "var-" "Base unit: %s"] 11] 8 (#$ . 19491) "SGet definition for unit: "])
(defalias 'calc-permanent-units #[0 "\300\301!\207" [calc-do #[0 "\302\303\304!!q\210eb\210\305\306\302\307#\203.\310 \210`\262\305\311\302\307#\203.\310 \210\312y\210\211`|\210\2027db\210\313c\210\314u\210\315\316 \317\261\210	\203\215\302\320c\210	\211\203\205\211@\321\322@!\323A@\211\262\203r;\203h\324!\202s\324\325\326\"!\202s\327\323\324\3308!\331\261\210A\266\202\202G\210\332c\266\202\220\333c\210\334c\210\335 \207" [calc-settings-file math-additional-units nil find-file-noselect substitute-in-file-name search-forward ";;; Custom units stored by Calc" t beginning-of-line "\n;;; End of custom units" 1 "\n\n" -1 ";;; Custom units stored by Calc on " current-time-string "\n" "(setq math-additional-units '(\n" "  (" symbol-name " " prin1-to-string math-format-flat-expr 0 "nil" 2 ")\n" "))\n" ";;; (no custom units defined)\n" ";;; End of custom units\n" save-buffer] 12]] 2 nil nil])
(defalias 'math-build-units-table #[0 "\206,\305	\n\"\306\307\"\310\311\312!\210\310\306\313\"\262\211\314\315\"\210)\311\316!\210\211\211)\266\202\207" [math-units-table math-additional-units math-standard-units math-cu-unit-list math-units-table-buffer-valid append mapcar car nil message "Building units table..." #[257 "\211@A@\205/A@;\203,\300A@!\211\242\301=\203&\301\302@\3038#\202'\211\262\202/A@\3038\3048A@?\205A@\305BC\3068\257\207" [math-read-plain-expr error "Format error in definition of %s in units table: %s" 2 3 1 4] 8 "\n\n(fn X)"] mapc math-find-base-units "Building units table...done"] 5])
#@14 

(fn ENTRY)
(defalias 'math-find-base-units #[257 "\3028\303=\203\304\305@\"\210\3028\206a\306\302\233\303\240\210\307A@\310\"\210	@A\311=\2034	A\211\202&	\211A\203S\211A@A\311=\203L\211AA\241\210\2025\211A\262\2025\210\312	\313\"\302\233	\240\210	*\207" [math-fbu-entry math-fbu-base 4 boom error "Circular definition involving unit %s" nil math-find-base-units-rec 1 0 sort math-compare-unit-names] 5 (#$ . 21696)])
#@12 

(fn A B)
(defalias 'math-compare-unit-names #[514 "\211@@>A>\207" [math-cu-unit-list] 5 (#$ . 22143)])
#@17 

(fn EXPR POW)
(defalias 'math-find-base-units-rec #[514 "\302!\211\203;\303!\211\2056\211@\211A_@\236\211\203&\211A\\\241\210\202-@BB\266A\266\202\202\n\262\202\333\211:?\206F\211@\304>\262\206\333@\305=\203g\3068\250\203g\307A@\3068_\"\202\333@\310=\203~\307A@\"\210\307\3068\"\202\333@\311=\203\226\307A@\"\210\307\3068[\"\202\333@\312=\203\246\307A@\"\202\333@\313=\203\266\307A@\"\202\333@\314=\203\320A@\315=\206\333\316\317A@	@#\202\333\320\232\206\333\316\321	@\"\207" [math-fbu-base math-fbu-entry math-check-unit-name math-find-base-units (frac float cplx polar hms) ^ 2 math-find-base-units-rec * / neg + var pi error "Unknown name %s in defining expression for unit %s" (calcFunc-ln 10) "Malformed defining expression for unit %s"] 10 (#$ . 22256)])
#@23 

(fn EXPR SUB-EXPRS)
(defalias 'math-units-in-expr-p #[514 ":\2058@\300=\203\301!\207@\302=\203\303A@\"\207\211\204)@\304>\2058\303A@\"\2068\303\3058\"\207" [var math-check-unit-name neg math-units-in-expr-p (* / ^) 2] 5 (#$ . 23090)])
#@13 

(fn EXPR)
(defalias 'math-only-units-in-expr-p #[257 "\211:\205C\211@\300=\203\301!\207\211@\302>\203%\303A@!\205C\303\3048!\207\211@\305=\205C\303A@!\205C\3048\211:?\206A\211@\306>\262\207" [var math-check-unit-name (* /) math-only-units-in-expr-p 2 ^ (frac float)] 4 (#$ . 23352)])
#@13 

(fn EXPR)
(defalias 'math-single-units-in-expr-p #[257 "\211\211:?\206\211@\300>\262\203\301\207\211@\302=\203\303!\207\211@\304=\203*\305A@!\207\211@\306=\203M\305A@!\305\3078!\203G\211\203G\310\202L\206L\211\207\211@\311=\203e\312\3078\301\"\203_\310\207\305A@!\207\310\207" [(frac float cplx polar hms) nil var math-check-unit-name neg math-single-units-in-expr-p * 2 wrong / math-units-in-expr-p] 5 (#$ . 23658)])
#@73 Non-nil if EXPR and NEWUNITS have consistent units.

(fn EXPR NEWUNITS)
(defalias 'math-consistent-units-p #[514 "\211\242\301=\203\211A@\236\206$\302\303\304E\305\"!\211:?\206\"\211@\306>\262\207" [math-standard-units-systems var math-get-units math-to-standard-units / nil (frac float cplx polar)] 7 (#$ . 24107)])
#@80 Give an error if EXPR and UNITS do not have consistent units.

(fn EXPR UNITS)
(defalias 'math-check-unit-consistency #[514 "\300\"?\205\301\302\303!\303\304!!#\207" [math-consistent-units-p error "New units (%s) are inconsistent with current units (%s)" math-format-value math-get-units] 8 (#$ . 24438)])
#@10 

(fn V)
(defalias 'math-check-unit-name #[257 "\211\242\302=\205\\\211A@\206\303 \236\206\\\304A@!\211G\305V\205Z\211\306H	\236\205Z\307\310\305\"!\236\206Z\211\306H\311=\205Z\211G\312V\205Z\211\305H\313=\205Z\211\314H\315=\205Z\307\310\312\"!\236\262\207" [math-units-table math-unit-prefixes var math-build-units-table symbol-name 1 0 intern substring 77 3 101 2 103] 6 (#$ . 24757)])
#@28 

(fn EXPR WHICH-STANDARD)
(defalias 'math-to-standard-units #[514 "\211\301!)\207" [math-which-standard math-to-standard-rec] 4 (#$ . 25169)])
#@13 

(fn EXPR)
(defalias 'math-to-standard-rec #[257 "\211\242\302=\203k\303!A@\203^A@\203!\304A@!\262\202A@\236\211\2031\211A@\262\202@\302@\305\306\307@!P!E\262\210\203Z\211@=\204Z\310\307!\311H	\236A@E\262\202j\211\312=\203i\313 \202j\207\211\211:?\206v\211@\314>\262\204\213\211\242\315=\203\214\211A@\242\302=\203\214\207\211@\316\304A\"B\207" [math-which-standard math-unit-prefixes var math-check-unit-name math-to-standard-rec intern "var-" symbol-name * 0 pi math-pi (frac float cplx polar hms date mod var) calcFunc-subscr mapcar] 10 (#$ . 25321)])
#@40 

(fn EXPR UNITS ULIST &optional PURE)
(defalias 'math-apply-units #[1027 "\301!\262\203m\302\303\211:?\206\211@\304>\262\204\305\306!\210A\203Z\307@A@\"\262\310S\311!)!\262\312\313@@\"\"\262\314\313@A@\"\"\262A\262\202\312\313\307	@A@\"@@\"\"\207\211\203s\207\301\315E!\207" [calc-internal-prec math-simplify-units 0 nil (frac float cplx polar) error "Incompatible units" math-div math-floor math-normalize math-add math-mul math-sub *] 12 (#$ . 25920)])
(defvar math-decompose-units-cache nil)
#@14 

(fn UNITS)
(defalias 'math-decompose-units #[257 "\303!\211\203\211A@\242\304=\203\211A@\262\210\305!\262\211\242\304=\205y\211	E\211\n@\232\204u\306\211\242\304=\203G\307\3108!B\262\211A@\262\202/\307!B\262\262\211A\211\262\203l\310@8\310@8\232\204Q\311\312!\210\202Q\313\314\"B\266\nA\262\207" [calc-internal-prec calc-prefer-frac math-decompose-units-cache math-check-unit-name + calcFunc-expand nil math-decompose-unit-part 2 error "Inconsistent units in sum" sort #[514 "A@A@\300\"\301U\266\202?\207" [math-compare -1] 7 "\n\n(fn X Y)"]] 8 (#$ . 26467)])
#@13 

(fn UNIT)
(defalias 'math-decompose-unit-part #[257 "\211\300\301\302\303\"!\304\"B\207" [math-is-multiple math-simplify-units math-to-standard-units nil t] 7 (#$ . 27073)])
#@18 

(fn EXPR UNIT)
(defalias 'math-find-compatible-unit #[514 "\301!\211\205\f\302\303\")\207" [math-fcu-u math-check-unit-name math-find-compatible-unit-rec 1] 6 (#$ . 27256)])
#@17 

(fn EXPR POW)
(defalias 'math-find-compatible-unit-rec #[514 "\242\301=\203\302A@\"\206h\302\3038\"\207\242\304=\203/\302A@\"\206h\302\3038[\"\207\242\305=\203=\302A@\"\207\242\306=\203V\3038\250\203V\302A@\3038_\"\207\307!\3108\3108\232\205fB\262\207" [math-fcu-u * math-find-compatible-unit-rec 2 / neg ^ math-check-unit-name 4] 7 (#$ . 27442)])
#@38 

(fn EXPR NEW-UNITS &optional PURE)
(defalias 'math-convert-units #[770 "\242\305=\203A@\306 \236\211A@\242\307=\203\211A@\262\210\310\311\\?\205*\312\"\313\211\211\203a\314\315\211\314\316	\317@A\"\"!\317A\"\"\314\320\317\316@\"A\"\313\"!\"!\202\234\321!\211\203o\311\n@8\262\242\307=\203{\314!\262\322\323\"\203\215\324!*\202\234\325\320\326E\313\"\n$*\262)!\207" [calc-internal-prec math-combining-units math-cu-unit-list math-cu-pure math-cu-new-units var math-build-units-table + math-normalize 2 math-find-compatible-unit nil math-simplify-units math-mul math-div math-pow math-to-standard-units math-decompose-units math-units-in-expr-p t math-convert-units-rec math-apply-units /] 14 (#$ . 27831)])
#@13 

(fn EXPR)
(defalias 'math-convert-units-rec #[257 "\303\304\"\203\305\306\307E\304\"	\n$\207\211\211:?\206\211@\310>\262\203%\207\211@\311\312A\"B\207" [math-cu-new-units math-cu-unit-list math-cu-pure math-units-in-expr-p nil math-apply-units math-to-standard-units / (frac float cplx polar hms date mod var) mapcar math-convert-units-rec] 6 (#$ . 28601)])
#@36 

(fn EXPR OLD NEW &optional PURE)
(defalias 'math-convert-temperature #[1027 "\300!\203 \211\203A@@\232\203\301!\202!\302\303!\202!\211\301!\211:\203/\3048\2043\302\305!\210:\203>\3048\204B\302\306!\210@\307\310\311\312\313!P!EE\262\210\3048\3048=\204\304\3048\314=\203\204\315\316E\262\3048\317=\203\304\320\321\322E\323E\262\202\304\3048\324=\203\253\3048\317=\203\241\320\321\325E\323E\262\202\304\320\326E\262\202\304\321\315\323E\327E\262\3048\314=\203\304\320\330E\262\203\315\202\323\321E\207" [math-single-units-in-expr-p math-check-unit-name error "Inconsistent temperature units" 3 "Not a valid temperature unit" "Not a pure temperature expression" / var intern "var-" symbol-name K - (/ 27315 100) F + * (/ 9 5) 32 C (/ 9 5) (/ 27315 100) (/ 5 9) (/ 27315 100)] 16 (#$ . 28978)])
#@10 

(fn A)
(defalias 'math-simplify-units #[257 "\302\303\304!*\207" [calc-matrix-mode math-simplifying-units t scalar math-simplify] 3 (#$ . 29846)])
(byte-code "\300\301\302\"\210\303\304\305\304\305N\306C\244#\210\303\307\305\307\305N\310C\244#\210\303\311\305\311\305N\312C\244#\207" [defalias calcFunc-usimplify math-simplify-units put + math-simplify #[257 "\205G\301A@\302\"\205G\303A@!\304\305\306\3078E\302\"!\301\302\"\203-\310\311\"\210\202E\312\313\314A@!@\315=\203A\316!\202B\"E\266\202\207" [math-simplifying-units math-units-in-expr-p nil math-extract-units math-simplify math-to-standard-units / 2 calc-record-why #1="*Inconsistent units" * math-add math-remove-units - math-neg] 8 "\n\n(fn EXPR)"] - #[257 "\205G\301A@\302\"\205G\303A@!\304\305\306\3078E\302\"!\301\302\"\203-\310\311\"\210\202E\312\313\314A@!@\315=\203A\316!\202B\"E\266\202\207" [math-simplifying-units math-units-in-expr-p nil math-extract-units math-simplify math-to-standard-units / 2 calc-record-why #1# * math-add math-remove-units - math-neg] 8 "\n\n(fn EXPR)"] * #[257 "\300!\207" [math-simplify-units-prod] 3 "\n\n(fn EXPR)"]] 5)
#@13 

(fn EXPR)
(defalias 'math-simplify-units-prod #[257 "\205V	\205V\211A@\211:?\206\211@\305>\262\205V\306A@!\307!AA\211@@\310=\2032\311\2023\312\313\242\310=\203CA\262@\262\242\314=\203`\3158\250\203`\3158_\262A\262@\262\316!\211\262\205T\250\205T\317W\204\205@\320=\203\200\311\202\201\321Y\205T\317\317W\203\222\322\n!\202\223\n\211\313\211@A@=\204\263\315\323\nA@!\317H\n\236A@8_\262	\\\262\n\203@@\324>\204@@\325=\203\324@\320=\203	\315@A@8_\211\262W\204\326@@\317=\203\365@\202\327@@!\323@!P!\262@@\317U\204\211A@\236\203A\262\202\271\205RU?\205R=\2039	\330	!\321_\\W\205RA\313\331
A@Z\")\240\210\240\210\266\205\266\206\207" [math-simplifying-units calc-autorange-units math-unit-prefixes math-units-table calc-prefer-frac (frac float) math-float calcFunc-xpon * 1 -1 nil ^ 2 math-check-unit-name 0 m 3 reverse symbol-name (100 68 104 72) 99 math-build-var-name char-to-string math-abs calcFunc-scf] 17 (#$ . 31016)])
(byte-code "\300\301\302\301\302N\303C\244#\207" [put / math-simplify #[257 "\205\231\211A\303\304\3058\242\306=\203\3058A\202AA\262\211@\211:?\206+\211@\307>\262\203EA\310A@\304\311\312@\")\"\240\210\211\312\240\210@\211\262\242\306=\203`\313AAA\"\210\211AA\262\202E\313AA\"\210	\303=\203\212\304\314\315\304\"!\211\211:?\206\200\211@\316>\262\203\210\211\262)\210\242\317=\203\225\320!\210)\266\203\207" [math-simplifying-units math-try-cancel-units calc-prefer-frac 0 nil 2 * (frac float) math-mul math-div 1 math-simplify-units-divisor math-simplify math-to-standard-units (frac float cplx polar) / math-simplify-units-prod] 10 "\n\n(fn EXPR)"]] 5)
#@14 

(fn NP DP)
(defalias 'math-simplify-units-divisor #[514 "@\300\211@\211\262\242\301=\203/\302A@\"\211\262\203'\211\262\240\210A\303\240\210AA\262\202\302\"\211\262\205C\211\262\240\210\303\240\207" [nil * math-simplify-units-quotient 1] 8 (#$ . 32754)])
#@12 

(fn N D)
(defalias 'math-simplify-units-quotient #[514 "\301\211\242\302=\203\3038\250\203\3038\262A@\262\242\302=\2032\3038\250\2032\3038\262A@\262\304!\304!\205\262\211\205\262\3058\3058\232\203q=\203q\301=\203b\306\307E\310\"\202\262\302\306\307E\310\"E\202\262\3058\262\3058\262\211\205\260\211@\211\203\250\211@@@=\203\241A	_@A	_Z\\A\266\202\202\203\210A\266\202\202|\262\266\202\207" [math-try-cancel-units 1 ^ 2 math-check-unit-name 4 math-to-standard-units / nil] 14 (#$ . 33040)])
(byte-code "\300\301\302\301\302N\303C\244#\210\300\304\302\304\302N\305C\244#\210\300\306\302\306\302N\307C\244#\210\300\310\302\310\302N\311C\244#\210\300\312\302\312\302N\313C\244#\210\300\314\302\314\302N\315C\244#\210\300\316\302\316\302N\317C\244#\210\300\320\302\320\302N\321C\244#\210\300\322\302\322\302N\323C\244#\210\300\324\302\324\302N\325C\244#\210\300\326\302\326\302N\327C\244#\210\300\330\302\330\302N\331C\244#\207" [put ^ math-simplify #[257 "\205A\3018\211:?\206\211@\302>\262\205A\211A@\242\303>\2039\211A@@\304A@A@\3018E\304\301A@8\3018EE\207\305A@\3018\"\207" [math-simplifying-units 2 (frac float) (* /) ^ math-simplify-units-pow] 7 "\n\n(fn EXPR)"] calcFunc-sqrt #[257 "\205'\211A@\242\301>\203!\211A@@\302A@A@D\302\303A@8DE\207\304A@\305\"\207" [math-simplifying-units (* /) calcFunc-sqrt 2 math-simplify-units-pow (frac 1 2)] 6 "\n\n(fn EXPR)"] calcFunc-floor #[257 "\205Q\211G\301U\205Q\302A@!\203\211A@\207\211A@\242\303>\205Q\302A@A@!\2044\302\301A@8!\205Q\211A@@@A@A@AABB@\301A@8AABBE\207" [math-simplifying-units 2 math-only-units-in-expr-p #1=(* /)] 6 "\n\n(fn EXPR)"] calcFunc-ceil #[257 "\205Q\211G\301U\205Q\302A@!\203\211A@\207\211A@\242\303>\205Q\302A@A@!\2044\302\301A@8!\205Q\211A@@@A@A@AABB@\301A@8AABBE\207" [math-simplifying-units 2 math-only-units-in-expr-p #1#] 6 "\n\n(fn EXPR)"] calcFunc-round #[257 "\205Q\211G\301U\205Q\302A@!\203\211A@\207\211A@\242\303>\205Q\302A@A@!\2044\302\301A@8!\205Q\211A@@@A@A@AABB@\301A@8AABBE\207" [math-simplifying-units 2 math-only-units-in-expr-p #1#] 6 "\n\n(fn EXPR)"] calcFunc-rounde #[257 "\205Q\211G\301U\205Q\302A@!\203\211A@\207\211A@\242\303>\205Q\302A@A@!\2044\302\301A@8!\205Q\211A@@@A@A@AABB@\301A@8AABBE\207" [math-simplifying-units 2 math-only-units-in-expr-p #1#] 6 "\n\n(fn EXPR)"] calcFunc-roundu #[257 "\205Q\211G\301U\205Q\302A@!\203\211A@\207\211A@\242\303>\205Q\302A@A@!\2044\302\301A@8!\205Q\211A@@@A@A@AABB@\301A@8AABBE\207" [math-simplifying-units 2 math-only-units-in-expr-p #1#] 6 "\n\n(fn EXPR)"] calcFunc-trunc #[257 "\205Q\211G\301U\205Q\302A@!\203\211A@\207\211A@\242\303>\205Q\302A@A@!\2044\302\301A@8!\205Q\211A@@@A@A@AABB@\301A@8AABBE\207" [math-simplifying-units 2 math-only-units-in-expr-p #1#] 6 "\n\n(fn EXPR)"] calcFunc-float #[257 "\205Q\211G\301U\205Q\302A@!\203\211A@\207\211A@\242\303>\205Q\302A@A@!\2044\302\301A@8!\205Q\211A@@@A@A@AABB@\301A@8AABBE\207" [math-simplifying-units 2 math-only-units-in-expr-p #1#] 6 "\n\n(fn EXPR)"] calcFunc-frac #[257 "\205Q\211G\301U\205Q\302A@!\203\211A@\207\211A@\242\303>\205Q\302A@A@!\2044\302\301A@8!\205Q\211A@@@A@A@AABB@\301A@8AABBE\207" [math-simplifying-units 2 math-only-units-in-expr-p #1#] 6 "\n\n(fn EXPR)"] calcFunc-abs #[257 "\205Q\211G\301U\205Q\302A@!\203\211A@\207\211A@\242\303>\205Q\302A@A@!\2044\302\301A@8!\205Q\211A@@@A@A@AABB@\301A@8AABBE\207" [math-simplifying-units 2 math-only-units-in-expr-p #1#] 6 "\n\n(fn EXPR)"] calcFunc-clean #[257 "\205Q\211G\301U\205Q\302A@!\203\211A@\207\211A@\242\303>\205Q\302A@A@!\2044\302\301A@8!\205Q\211A@@@A@A@AABB@\301A@8AABBE\207" [math-simplifying-units 2 math-only-units-in-expr-p #1#] 6 "\n\n(fn EXPR)"]] 5)
#@14 

(fn A POW)
(defalias 'math-simplify-units-pow #[514 "\242\300=\203.\301A@!\203.\3028\211:?\206\211@\303>\262\203.\300A@\304\3028\"E\207\301!\305!\211\242\306=\205>\3028\205U\211\205U\307\"\205U\300\310\311\"E\207" [^ math-check-unit-name 2 (frac float) math-mul math-to-simple-fraction frac math-units-are-multiple math-to-standard-units nil] 9 (#$ . 36922)])
#@12 

(fn U N)
(defalias 'math-units-are-multiple #[514 "\3008\262\203@A\246\301U\203A\262\202?\207" [4 0] 4 (#$ . 37316)])
(byte-code "\300\301\302\301\302N\303C\244#\210\300\304\302\304\302N\305C\244#\210\300\306\302\306\302N\307C\244#\210\300\310\302\310\302N\311C\244#\210\300\312\302\312\302N\313C\244#\210\300\314\302\314\302N\315C\244#\207" [put calcFunc-sin math-simplify #[257 "\205M\302A@\303\"\205M\304\305\306A@\303\"!!\307\211\242\310=\205J\211A@\211:?\206-\211@\311>\262\205J\3128\242\313=\205J\3128A@\307=\205J\314A@D)\262\207" [math-simplifying-units calc-angle-mode math-units-in-expr-p nil math-simplify-units math-evaluate-expr math-to-standard-units rad * #1=(frac float) 2 var calcFunc-sin] 6 "\n\n(fn EXPR)"] calcFunc-cos #[257 "\205M\302A@\303\"\205M\304\305\306A@\303\"!!\307\211\242\310=\205J\211A@\211:?\206-\211@\311>\262\205J\3128\242\313=\205J\3128A@\307=\205J\314A@D)\262\207" [math-simplifying-units calc-angle-mode math-units-in-expr-p nil math-simplify-units math-evaluate-expr math-to-standard-units rad * #1# 2 var calcFunc-cos] 6 "\n\n(fn EXPR)"] calcFunc-tan #[257 "\205M\302A@\303\"\205M\304\305\306A@\303\"!!\307\211\242\310=\205J\211A@\211:?\206-\211@\311>\262\205J\3128\242\313=\205J\3128A@\307=\205J\314A@D)\262\207" [math-simplifying-units calc-angle-mode math-units-in-expr-p nil math-simplify-units math-evaluate-expr math-to-standard-units rad * #1# 2 var calcFunc-tan] 6 "\n\n(fn EXPR)"] calcFunc-sec #[257 "\205M\302A@\303\"\205M\304\305\306A@\303\"!!\307\211\242\310=\205J\211A@\211:?\206-\211@\311>\262\205J\3128\242\313=\205J\3128A@\307=\205J\314A@D)\262\207" [math-simplifying-units calc-angle-mode math-units-in-expr-p nil math-simplify-units math-evaluate-expr math-to-standard-units rad * #1# 2 var calcFunc-sec] 6 "\n\n(fn EXPR)"] calcFunc-csc #[257 "\205M\302A@\303\"\205M\304\305\306A@\303\"!!\307\211\242\310=\205J\211A@\211:?\206-\211@\311>\262\205J\3128\242\313=\205J\3128A@\307=\205J\314A@D)\262\207" [math-simplifying-units calc-angle-mode math-units-in-expr-p nil math-simplify-units math-evaluate-expr math-to-standard-units rad * #1# 2 var calcFunc-csc] 6 "\n\n(fn EXPR)"] calcFunc-cot #[257 "\205M\302A@\303\"\205M\304\305\306A@\303\"!!\307\211\242\310=\205J\211A@\211:?\206-\211@\311>\262\205J\3128\242\313=\205J\3128A@\307=\205J\314A@D)\262\207" [math-simplifying-units calc-angle-mode math-units-in-expr-p nil math-simplify-units math-evaluate-expr math-to-standard-units rad * #1# 2 var calcFunc-cot] 6 "\n\n(fn EXPR)"]] 5)
#@13 

(fn EXPR)
(defalias 'math-remove-units #[257 "\300!\203\301\207\211\211:?\206\211@\302>\262\203\207\211@\303\304A\"B\207" [math-check-unit-name 1 (frac float cplx polar hms date mod var) mapcar math-remove-units] 5 (#$ . 39923)])
#@13 

(fn EXPR)
(defalias 'math-extract-units #[257 "\211\242\300>\203\211@\301\302A\"B\207\211\242\303=\203\302A@!\207\211\242\304=\203/\304\302A@!\3058E\207\306!\2036\207\307\207" [(* /) mapcar math-extract-units neg ^ 2 math-check-unit-name 1] 5 (#$ . 40170)])
#@21 

(fn ENTER-BUFFER)
(defalias 'math-build-units-table-buffer #[257 "\203	\203\306\307!\204\273\310\307!\311 \n\312=?\205\n\313\314\315\314\316\314\211\211\21189	\212\317\320!\210q\210\321:\322 \210\323c\210\324c\210\325c\210\n\211\203'\211@\3268\262\211@\327=\203e\321\262\205n\211@;\236\262\203\223G\330V\203\223\331H\332=\203\223\f=\204\215\333c\210\334\330\"\262\335c\210\203\235\336c\210\337@!c\210\203\252\340c\210\3418\203\275\315j\210\337\3418!c\210\202\307\204\307\315j\210\342c\210\343j\210\203\321\336c\210\3448\203\337\3448c\210\202\366\211A@\203\360\345A@\346\"c\210\202\366\337@!c\210\203\375\340c\210\347j\210\335c\210\203\nc\210\203\350c\210\202\211A@\204\351c\210\333c\210A\266\202\202P\210\352c\210<\262\n\203\211\n@\262\335\353@!\261\210A@A@A@\232\203`\335\353\fA\211\262@@!\354\261\210\202c\355c\210\356\357\326A@8!\261\210\360j\210\354\3268\333\261\210\nA\211\262\f@@\331=\204y\202/\361c\210\362\363!c\210)\364 \210\317\365!\210)\321p\fq\210eb\210\211q\266\f\203\264\366\f!\202\270\367\f!.\207\211\203\305\366\306\307!!\207\367\306\307!!\207" [math-units-table math-units-table-buffer-valid calc-language calc-point-char calc-twos-complement-mode calc-number-radix get-buffer "*Units Table*" get-buffer-create math-build-units-table big (float 0) nil 10 "." message "Formatting units table..." t erase-buffer "Calculator Units Table:\n\n" "(All definitions are exact unless marked with an asterisk (*).)\n\n" "Unit    Type  Definition                  Description\n\n" 2 m 1 0 42 "\n" substring " " "(" symbol-name ")" 3 "U" 14 5 math-format-value 80 41 " (redefined above)" " (base unit)" "\n\nUnit Prefix Table:\n\n" char-to-string "   " "     " "10^" int-to-string 15 "\n\n" format-message "(**) When in TeX or LaTeX display mode, the TeX specific unit\nnames will not use the `tex' prefix; the unit name for a\nTeX point will be `pt' instead of `texpt', for example.\nTo avoid conflicts, the unit names for pint and parsec will\nbe `pint' and `parsec' instead of `pt' and `pc'." special-mode "Formatting units table...done" pop-to-buffer display-buffer calc-group-digits calc-float-format inhibit-read-only math-additional-units math-unit-prefixes] 18 (#$ . 40447)])
(defvar math-logunits '((var dB var-dB) (var Np var-Np)))
#@108 Evaluate f(args) unless in symbolic mode.
In symbolic mode, return the list (fn args).

(fn FN &rest ARGS)
(defalias 'math-conditional-apply #[385 "\203B\207\301\"\207" [calc-symbolic-mode apply] 5 (#$ . 42818)])
#@92 Evaluate a^b unless in symbolic mode.
In symbolic mode, return the list (^ a b).

(fn A B)
(defalias 'math-conditional-pow #[514 "\203	\301E\207\302\"\207" [calc-symbolic-mode ^ math-pow] 5 (#$ . 43044)])
#@13 

(fn EXPR)
(defalias 'math-extract-logunits #[257 "\211\242\301>\203\211@\302\303A\"B\207\211\242\304=\203\"\304\303A@!\3058E\207\211\235\203)\207\306\207" [math-logunits (* /) mapcar math-extract-logunits ^ 2 1] 5 (#$ . 43261)])
#@22 

(fn A B NEG POWER)
(defalias 'math-logunits-add #[1028 "\300\301!!\211\242\302=\204\303\304\"\202\335\305!\300\306!!\300\307\310E\311\"!\312\311\"\2034\303\313\311\"\202\333\203M\314\"\204F\315\"\203M\303\316\311\"\202\333\317\320\232\203\230\203\\\321\202]\322\317\323\324\203}\325\326\321\327	\"\"\326\321\327\n\"\"\"\202\221\330\326\321\327	\"\"\326\321\327\n\"\"\"\"\"\262\202\331\203\240\331\202\241\332\327\323\333\n\203\300\325\323\334\317\"\"\323\334\317\"\"\"\202\324\330\323\334\317\"\"\323\334\317\"\"\"\"\"\262\"\266\203\207" [math-simplify math-extract-logunits var calc-record-why "*Improper logarithmic unit" math-extract-units math-remove-units math-to-standard-units / nil math-units-in-expr-p "*Inconsistent units" math-lessp math-equal "*Improper coefficients" math-mul (var dB var-dB) 10 20 math-conditional-apply calcFunc-log10 math-sub math-conditional-pow math-div math-add 2 1 calcFunc-ln calcFunc-exp] 21 (#$ . 43506)])
#@12 

(fn A B)
(defalias 'calcFunc-lufadd #[514 "\300\301\211$\207" [math-logunits-add nil] 7 (#$ . 44531)])
#@12 

(fn A B)
(defalias 'calcFunc-lupadd #[514 "\300\301\302$\207" [math-logunits-add nil t] 7 (#$ . 44644)])
#@12 

(fn A B)
(defalias 'calcFunc-lufsub #[514 "\300\301\302$\207" [math-logunits-add t nil] 7 (#$ . 44759)])
#@12 

(fn A B)
(defalias 'calcFunc-lupsub #[514 "\300\301\211$\207" [math-logunits-add t] 7 (#$ . 44874)])
#@12 

(fn ARG)
(defalias 'calc-lu-plus #[257 "\300\301\302\303\304\305!\306\"\307$`\"\207" [calc-do make-byte-code 0 "\301 \203\302 \203\303\304\305\300#\207\303\304\306\300#\207\302 \203!\303\307\310\300#\207\303\307\311\300#\207" vconcat vector [calc-is-inverse calc-is-hyperbolic calc-binary-op "lu-" calcFunc-lufsub calcFunc-lupsub "lu+" calcFunc-lufadd calcFunc-lupadd] 4] 8 (#$ . 44985) "P"])
#@12 

(fn ARG)
(defalias 'calc-lu-minus #[257 "\300\301\302\303\304\305!\306\"\307$`\"\207" [calc-do make-byte-code 0 "\301 \203\302 \203\303\304\305\300#\207\303\304\306\300#\207\302 \203!\303\307\310\300#\207\303\307\311\300#\207" vconcat vector [calc-is-inverse calc-is-hyperbolic calc-binary-op "lu+" calcFunc-lufadd calcFunc-lupadd "lu-" calcFunc-lufsub calcFunc-lupsub] 4] 8 (#$ . 45393) "P"])
#@18 

(fn A B POWER)
(defalias 'math-logunits-mul #[771 "\300\211\211\211\301\302!!\211\262\2036\242\303=\2036\301\304!!\305=\2036\301\306!!\262\304!\262\262\202l\301\302!!\211\262\203i\242\303=\203i\301\304!!\305=\203i\301\306!!\262\304!\262\262\202l\300\262\203\256\307\232\203\222\301\310\311\310	\203\204\312\202\205\313\314\315\"\"\"\"!\202\262\301\310\311\316\314\317\"\n\203\245\320\202\246\305\"\"\"!\202\262\321\322\300\"\207" [nil math-simplify math-extract-logunits var math-extract-units 1 math-remove-units (var dB var-dB) math-mul math-add 10 20 math-conditional-apply calcFunc-log10 math-div calcFunc-ln 2 calc-record-why "*Improper units"] 16 (#$ . 45802)])
#@18 

(fn A B POWER)
(defalias 'math-logunits-divide #[771 "\300\301!!\211\242\302=\204\303\304\"\202g\305\306\"\203!\303\307\"\202g\310!\300\311!!\312\232\203L\300\313\314\313\203>\315\202?\316\317\320\f\"\"\"\"!\202e\300\313\314\321\317\322\"	\203_\323\202`\324\"\"\"!\266\202\207" [math-simplify math-extract-logunits var calc-record-why "*Improper logarithmic unit" math-units-in-expr-p nil "*Improper units quantity" math-extract-units math-remove-units (var dB var-dB) math-mul math-sub 10 20 math-conditional-apply calcFunc-log10 math-div calcFunc-ln 2 1] 15 (#$ . 46536)])
#@12 

(fn A B)
(defalias 'calcFunc-lufmul #[514 "\300\301#\207" [math-logunits-mul nil] 6 (#$ . 47148)])
#@12 

(fn A B)
(defalias 'calcFunc-lupmul #[514 "\300\301#\207" [math-logunits-mul t] 6 (#$ . 47257)])
#@12 

(fn ARG)
(defalias 'calc-lu-times #[257 "\300\301\302\303\304\305!\306\"\307$`\"\207" [calc-do make-byte-code 0 "\301 \203\302 \203\303\304\305\300#\207\303\304\306\300#\207\302 \203!\303\307\310\300#\207\303\307\311\300#\207" vconcat vector [calc-is-inverse calc-is-hyperbolic calc-binary-op "lu/" calcFunc-lufdiv calcFunc-lupdiv "lu*" calcFunc-lufmul calcFunc-lupmul] 4] 8 (#$ . 47364) "P"])
#@12 

(fn A B)
(defalias 'calcFunc-lufdiv #[514 "\300\301#\207" [math-logunits-divide nil] 6 (#$ . 47773)])
#@12 

(fn A B)
(defalias 'calcFunc-lupdiv #[514 "\300\301#\207" [math-logunits-divide t] 6 (#$ . 47885)])
#@12 

(fn ARG)
(defalias 'calc-lu-divide #[257 "\300\301\302\303\304\305!\306\"\307$`\"\207" [calc-do make-byte-code 0 "\301 \203\302 \203\303\304\305\300#\207\303\304\306\300#\207\302 \203!\303\307\310\300#\207\303\307\311\300#\207" vconcat vector [calc-is-inverse calc-is-hyperbolic calc-binary-op "lu*" calcFunc-lufmul calcFunc-lupmul "lu/" calcFunc-lufdiv calcFunc-lupdiv] 4] 8 (#$ . 47995) "P"])
#@22 

(fn VAL REF POWER)
(defalias 'math-logunits-quant #[771 "\300\301!!\300\302!!\211\242\303=\204\304\305\"\202]\300\306\"!\300\306\"!\307\310\232\203D\307\311\312\306\203=\312\202>\313\"\"\"\202Y\307\314\315	\203V\307\316\"\202W\"\"\"\266\202\207" [math-simplify math-extract-units math-extract-logunits var calc-record-why "*Improper logarithmic unit" math-div math-mul (var dB var-dB) math-conditional-pow 10 20 math-conditional-apply calcFunc-exp 2] 15 (#$ . 48405)])
#@26 

(fn VAL &optional REF)
(defalias 'calcFunc-lufquant #[513 "\211\204	\301!\262\302\303#\207" [calc-lu-field-reference math-read-expr math-logunits-quant nil] 6 (#$ . 48913)])
#@26 

(fn VAL &optional REF)
(defalias 'calcFunc-lupquant #[513 "\211\204	\301!\262\302\303#\207" [calc-lu-power-reference math-read-expr math-logunits-quant t] 6 (#$ . 49100)])
#@12 

(fn ARG)
(defalias 'calc-lu-quant #[257 "\300\301\302\303\304\305!\306\"\307$`\"\207" [calc-do make-byte-code 0 "\301 \203\302 \203\303\304\305\300#\207\306\304\305\300#\207\302 \203!\303\307\310\300#\207\306\307\310\300#\207" vconcat vector [calc-is-hyperbolic calc-is-option calc-binary-op "lupq" calcFunc-lufquant calc-unary-op "lufq" calcFunc-lupquant] 4] 8 (#$ . 49285) "P"])
#@72 Compute the value of VAL in decibels or nepers.

(fn VAL REF DB POWER)
(defalias 'math-logunits-level #[1028 "\300\301\"!\300\302!!\303\304!!\305\203,\305\211\203 \306\202!\307\310\311\"\"\312\"\202@\305\301\310\313\"\203<\314\202=\315\"\316\"\"\207" [math-simplify-units math-div math-remove-units math-simplify math-extract-units math-mul 10 20 math-conditional-apply calcFunc-log10 (var dB var-dB) calcFunc-ln 2 1 (var Np var-Np)] 14 (#$ . 49681)])
#@26 

(fn VAL &optional REF)
(defalias 'calcFunc-dbfield #[513 "\211\204	\301!\262\302\303\304$\207" [calc-lu-field-reference math-read-expr math-logunits-level t nil] 7 (#$ . 50159)])
#@26 

(fn VAL &optional REF)
(defalias 'calcFunc-dbpower #[513 "\211\204	\301!\262\302\303\211$\207" [calc-lu-power-reference math-read-expr math-logunits-level t] 7 (#$ . 50351)])
#@26 

(fn VAL &optional REF)
(defalias 'calcFunc-npfield #[513 "\211\204	\301!\262\302\303\211$\207" [calc-lu-field-reference math-read-expr math-logunits-level nil] 7 (#$ . 50539)])
#@26 

(fn VAL &optional REF)
(defalias 'calcFunc-nppower #[513 "\211\204	\301!\262\302\303\304$\207" [calc-lu-power-reference math-read-expr math-logunits-level nil t] 7 (#$ . 50729)])
#@12 

(fn ARG)
(defalias 'calc-db #[257 "\300\301\302\303\304\305!\306\"\307$`\"\207" [calc-do make-byte-code 0 "\301 \203\302 \203\303\304\305\300#\207\306\304\305\300#\207\302 \203!\303\304\307\300#\207\306\304\307\300#\207" vconcat vector [calc-is-hyperbolic calc-is-option calc-binary-op "ludb" calcFunc-dbfield calc-unary-op calcFunc-dbpower] 4] 8 (#$ . 50921) "P"])
#@12 

(fn ARG)
(defalias 'calc-np #[257 "\300\301\302\303\304\305!\306\"\307$`\"\207" [calc-do make-byte-code 0 "\301 \203\302 \203\303\304\305\300#\207\306\304\305\300#\207\302 \203!\303\304\307\300#\207\306\304\307\300#\207" vconcat vector [calc-is-hyperbolic calc-is-option calc-binary-op "lunp" calcFunc-npfield calc-unary-op calcFunc-nppower] 4] 8 (#$ . 51302) "P"])
#@86 Round NUM to an integer N if NUM is within calc-note-threshold cents of N.

(fn NUM)
(defalias 'math-midi-round #[257 "\301!\302\303\"!\304\305\306!\307\"\"\310W\203\202\207" [calc-note-threshold math-round math-abs math-sub math-compare math-div math-read-expr 100 0] 8 (#$ . 51683)])
#@59 An alist of notes with their number of semitones above C.
(defconst math-notes '(((var C var-C) . 0) ((var Csharp var-Csharp) . 1) ((var Dflat var-Dflat) . 1) ((var D var-D) . 2) ((var Dsharp var-Dsharp) . 3) ((var E var-E) . 4) ((var F var-F) . 5) ((var Fsharp var-Fsharp) . 6) ((var Gflat var-Gflat) . 6) ((var G var-G) . 7) ((var Gsharp var-Gsharp) . 8) ((var A var-A) . 9) ((var Asharp var-Asharp) . 10) ((var Bflat var-Bflat) . 10) ((var B var-B) . 11)) (#$ . 51986))
#@110 Non-nil if FREQ is a positive number times the unit Hz.
If non-nil, return the coefficient of Hz.

(fn FREQ)
(defalias 'math-freqp #[257 "\300\301\302\"!\211\211:\203+\211@\303>\203#\211A@\211\250\205\211\304V\266\202\2020\305!\262\2020\211\304V\262\2054\211\207" [math-simplify-units math-div (var Hz var-Hz) (frac float) 0 math-posp] 6 (#$ . 52466)])
#@82 Non-nil if NUM is a possible MIDI note number.
If non-nil, return NUM.

(fn NUM)
(defalias 'math-midip #[257 "\211\211:?\206\211@\300>\262\205\211\207" [(frac float cplx polar)] 4 (#$ . 52836)])
#@145 Non-nil if NUM is a scientific pitch note (note + cents).
If non-nil, return a list consisting of the note and the cents coefficient.

(fn SPN)
(defalias 'math-spnp #[257 "\301\211\211\211\242\302=\203A@\262\3038\262\202\262\301\262\242\304=\203^\305A@\"\203^\3038\250\203^\211\262\203^\203X\306\307\310\"!\211\262\211:?\206S\211@\311>\262\203^D\202\233\242\304=\205\233\305A@\"\205\233\3038\250\205\233\211\262\205\233\203\230\306\307\312\"!\211\262\211:?\206\223\211@\311>\262\205\233D\207" [math-notes nil + 2 calcFunc-subscr assoc math-simplify math-div (var cents var-cents) (frac float cplx polar) (var cents var-cents)] 9 (#$ . 53043)])
#@66 Return the midi note number corresponding to FREQ Hz.

(fn FREQ)
(defalias 'math-freq-to-midi #[257 "\300\301\302\303\304\305\306\"\307\"\"\"\310!\207" [math-add 69 math-mul 12 calcFunc-log math-div 440 2 math-midi-round] 9 (#$ . 53744)])
#@56 Return the MIDI number corresponding to SPN.

(fn SPN)
(defalias 'math-spn-to-midi #[257 "\301@A@\"A\302\303@8\304\"A@\302\305\306\"\"\203'\302\307\310\"\"\202(\211\207" [math-notes assoc math-add 2 1 math-mul 12 math-div 100] 10 (#$ . 53992)])
#@84 Return the scientific pitch notation corresponding to midi number MIDI.

(fn MIDI)
(defalias 'math-midi-to-spn #[257 "\301\211\302!\203\262\301\262\202\303!\262\304\305\306\"\"\262\211:\203D\211@\307>\203<\211A@\211\250\2057\211\310W\266\202\202I\311!\262\202I\211\310W\262\203t\312\313!\314\"\211A\310U\203b\313@!\310B\202o\306\313@!\315\"\306\314A\"B\262\202x\312\314\"\306@\315\"\316A\"@\203\225\317\320E\321\322EE\202\231\320E\266\203\207" [math-notes nil math-integerp math-floor math-mul 100 math-sub (frac float) 0 math-negp math-idivmod math-neg 12 1 rassoc + calcFunc-subscr * (var cents var-cents)] 11 (#$ . 54254)])
#@75 Return the scientific pitch notation corresponding to FREQ Hz.

(fn FREQ)
(defalias 'math-freq-to-spn #[257 "\301\302\\\303\304!!)!\207" [calc-internal-prec math-normalize 3 math-midi-to-spn math-freq-to-midi] 5 (#$ . 54931)])
#@68 Return the frequency of the note with midi number MIDI.

(fn MIDI)
(defalias 'math-midi-to-freq #[257 "\300\301\302\303\304\305\306\307\"\310\"\"\"\311E\207" [* math-mul 440 math-pow 2 math-div math-sub 69 12 (var Hz var-Hz)] 10 (#$ . 55167)])
#@80 Return the frequency of the note with scientific pitch notation SPN.

(fn SPN)
(defalias 'math-spn-to-freq #[257 "\300\301!!\207" [math-midi-to-freq math-spn-to-midi] 4 (#$ . 55419)])
#@70 Return EXPR written as scientific pitch notation + cents.

(fn EXPR)
(defalias 'calcFunc-spn #[257 "\300\301!\211\262\203\302!\202-\303!\211\262\203\304!\202-\305!\203)\202-\306\307\"\207" [nil math-freqp math-freq-to-spn math-midip math-midi-to-spn math-spnp math-reject-arg "*Improper expression"] 5 (#$ . 55610)])
#@50 Return EXPR written as a MIDI number.

(fn EXPR)
(defalias 'calcFunc-midi #[257 "\300\301!\211\262\203\302!\202-\303!\211\262\203\304!\202-\305!\203)\202-\306\307\"\207" [nil math-freqp math-freq-to-midi math-spnp math-spn-to-midi math-midip math-reject-arg "*Improper expression"] 5 (#$ . 55950)])
#@56 Return the frequency corresponding to EXPR.

(fn EXPR)
(defalias 'calcFunc-freq #[257 "\300\301!\211\262\203\302!\202-\303!\211\262\203\304!\202-\305!\203)\202-\306\307\"\207" [nil math-midip math-midi-to-freq math-spnp math-spn-to-freq math-freqp math-reject-arg "*Improper expression"] 5 (#$ . 56272)])
#@78 Return the frequency corresponding to the expression on the stack.

(fn ARG)
(defalias 'calc-freq #[257 "\300\301\302\303\304\305!\306\"\307$`\"\207" [calc-do make-byte-code 0 "\301\302\303\300#\207" vconcat vector [calc-unary-op "freq" calcFunc-freq] 4] 8 (#$ . 56600) "P"])
#@80 Return the MIDI number corresponding to the expression on the stack.

(fn ARG)
(defalias 'calc-midi #[257 "\300\301\302\303\304\305!\306\"\307$`\"\207" [calc-do make-byte-code 0 "\301\302\303\300#\207" vconcat vector [calc-unary-op "midi" calcFunc-midi] 4] 8 (#$ . 56884) "P"])
#@94 Return the scientific pitch notation corresponding to the expression on the stack.

(fn ARG)
(defalias 'calc-spn #[257 "\300\301\302\303\304\305!\306\"\307$`\"\207" [calc-do make-byte-code 0 "\301\302\303\300#\207" vconcat vector [calc-unary-op "spn" calcFunc-spn] 4] 8 (#$ . 57170) "P"])
(provide 'calc-units)

Zerion Mini Shell 1.0