home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / calc-2.02d-bin.lha / lib / emacs / site-lisp / calc-units.elc < prev    next >
Emacs Compiled Lisp  |  1996-10-12  |  37.6 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: Emacs Compiled Lisp (other/emacsCompiledLisp).
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
1% dexvert Emacs Compiled Lisp (other/emacsCompiledLisp) magic Unsupported
1% dexvert Combustion 2 Particle Library (other/combustion2ParticleLibrary) ext Unsupported
100% file Emacs v18 byte-compiled Lisp data default
99% file data default
100% gt2 Kopftext: '(require (quote calc-ext)) default (weak)
100% detectItEasy Format: plain text[LF] default (weak)
100% xdgMime text/x-emacs-lisp default (weak)



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 0a 28 72 65 71 75 69 72 | 65 20 28 71 75 6f 74 65 |.(requir|e (quote|
|00000010| 20 63 61 6c 63 2d 65 78 | 74 29 29 0a 0a 28 64 65 | calc-ex|t))..(de|
|00000020| 66 75 6e 20 63 61 6c 63 | 2d 4e 65 65 64 2d 63 61 |fun calc|-Need-ca|
|00000030| 6c 63 2d 75 6e 69 74 73 | 20 6e 69 6c 20 28 62 79 |lc-units| nil (by|
|00000040| 74 65 2d 63 6f 64 65 20 | 22 c0 87 22 20 5b 6e 69 |te-code |".." [ni|
|00000050| 6c 5d 20 31 29 29 0a 0a | 28 64 65 66 75 6e 20 63 |l] 1))..|(defun c|
|00000060| 61 6c 63 2d 62 61 73 65 | 2d 75 6e 69 74 73 20 6e |alc-base|-units n|
|00000070| 69 6c 20 28 69 6e 74 65 | 72 61 63 74 69 76 65 29 |il (inte|ractive)|
|00000080| 20 28 62 79 74 65 2d 63 | 6f 64 65 20 22 c0 88 c1 | (byte-c|ode "...|
|00000090| c2 c3 5c 22 87 22 20 5b | 6e 69 6c 20 63 61 6c 63 |..\"." [|nil calc|
|000000a0| 2d 64 6f 20 28 6c 61 6d | 62 64 61 20 6e 69 6c 20 |-do (lam|bda nil |
|000000b0| 28 62 79 74 65 2d 63 6f | 64 65 20 22 c1 18 c2 c3 |(byte-co|de "....|
|000000c0| c4 c5 c6 c7 c3 21 c1 5c | 22 21 23 29 87 22 20 5b |.....!.\|"!#)." [|
|000000d0| 63 61 6c 63 2d 61 75 74 | 6f 72 61 6e 67 65 2d 75 |calc-aut|orange-u|
|000000e0| 6e 69 74 73 20 6e 69 6c | 20 63 61 6c 63 2d 65 6e |nits nil| calc-en|
|000000f0| 74 65 72 2d 72 65 73 75 | 6c 74 20 31 20 22 62 73 |ter-resu|lt 1 "bs|
|00000100| 75 6e 22 20 6d 61 74 68 | 2d 73 69 6d 70 6c 69 66 |un" math|-simplif|
|00000110| 79 2d 75 6e 69 74 73 20 | 6d 61 74 68 2d 74 6f 2d |y-units |math-to-|
|00000120| 73 74 61 6e 64 61 72 64 | 2d 75 6e 69 74 73 20 63 |standard|-units c|
|00000130| 61 6c 63 2d 74 6f 70 2d | 6e 5d 20 38 29 29 20 31 |alc-top-|n] 8)) 1|
|00000140| 31 37 5d 20 33 29 29 0a | 0a 28 64 65 66 75 6e 20 |17] 3)).|.(defun |
|00000150| 63 61 6c 63 2d 71 75 69 | 63 6b 2d 75 6e 69 74 73 |calc-qui|ck-units|
|00000160| 20 6e 69 6c 20 28 69 6e | 74 65 72 61 63 74 69 76 | nil (in|teractiv|
|00000170| 65 29 20 28 62 79 74 65 | 2d 63 6f 64 65 20 22 c0 |e) (byte|-code ".|
|00000180| 88 c1 c2 c3 5c 22 87 22 | 20 5b 6e 69 6c 20 63 61 |....\"."| [nil ca|
|00000190| 6c 63 2d 64 6f 20 28 6c | 61 6d 62 64 61 20 6e 69 |lc-do (l|ambda ni|
|000001a0| 6c 20 28 62 79 74 65 2d | 63 6f 64 65 20 22 09 c6 |l (byte-|code "..|
|000001b0| 5a 18 08 c7 55 83 0e 00 | c8 82 0f 00 08 1a c9 ca |Z...U...|........|
|000001c0| 21 1b cb cc 21 1c 08 c7 | 59 85 21 00 08 cd 58 86 |!...!...|Y.!...X.|
|000001d0| 27 00 ce cf 21 88 d0 0b | 21 86 31 00 ce d1 21 88 |'...!...|!.1...!.|
|000001e0| 0a 0b 47 57 86 3d 00 ce | d2 0a 5c 22 88 d3 0c c5 |..GW.=..|..\"....|
|000001f0| 5c 22 83 55 00 d4 cc d5 | d6 08 5c 22 d7 0c 0a 0b |\".U....|..\"....|
|00000200| 38 5c 22 23 82 64 00 d4 | cc d5 d8 08 5c 22 d9 da |8\"#.d..|....\"..|
|00000210| 0c 0a 0b 38 5c 22 21 23 | 2c 87 22 20 5b 6e 75 6d |...8\"!#|,." [num|
|00000220| 20 6c 61 73 74 2d 63 6f | 6d 6d 61 6e 64 2d 63 68 | last-co|mmand-ch|
|00000230| 61 72 20 70 6f 73 20 75 | 6e 69 74 73 20 65 78 70 |ar pos u|nits exp|
|00000240| 72 20 6e 69 6c 20 34 38 | 20 30 20 31 30 20 63 61 |r nil 48| 0 10 ca|
|00000250| 6c 63 2d 76 61 72 2d 76 | 61 6c 75 65 20 76 61 72 |lc-var-v|alue var|
|00000260| 2d 55 6e 69 74 73 20 63 | 61 6c 63 2d 74 6f 70 2d |-Units c|alc-top-|
|00000270| 6e 20 31 20 39 20 65 72 | 72 6f 72 20 22 42 61 64 |n 1 9 er|ror "Bad|
|00000280| 20 75 6e 69 74 20 6e 75 | 6d 62 65 72 22 20 6d 61 | unit nu|mber" ma|
|00000290| 74 68 2d 76 65 63 74 6f | 72 70 20 22 4e 6f 20 5c |th-vecto|rp "No \|
|000002a0| 22 71 75 69 63 6b 20 75 | 6e 69 74 73 5c 22 20 61 |"quick u|nits\" a|
|000002b0| 72 65 20 64 65 66 69 6e | 65 64 22 20 22 55 6e 69 |re defin|ed" "Uni|
|000002c0| 74 20 6e 75 6d 62 65 72 | 20 25 64 20 6e 6f 74 20 |t number| %d not |
|000002d0| 64 65 66 69 6e 65 64 22 | 20 6d 61 74 68 2d 75 6e |defined"| math-un|
|000002e0| 69 74 73 2d 69 6e 2d 65 | 78 70 72 2d 70 20 63 61 |its-in-e|xpr-p ca|
|000002f0| 6c 63 2d 65 6e 74 65 72 | 2d 72 65 73 75 6c 74 20 |lc-enter|-result |
|00000300| 66 6f 72 6d 61 74 20 22 | 63 75 6e 25 64 22 20 6d |format "|cun%d" m|
|00000310| 61 74 68 2d 63 6f 6e 76 | 65 72 74 2d 75 6e 69 74 |ath-conv|ert-unit|
|00000320| 73 20 22 2a 75 6e 25 64 | 22 20 6d 61 74 68 2d 73 |s "*un%d|" math-s|
|00000330| 69 6d 70 6c 69 66 79 2d | 75 6e 69 74 73 20 6d 61 |implify-|units ma|
|00000340| 74 68 2d 6d 75 6c 5d 20 | 31 39 29 29 20 33 35 38 |th-mul] |19)) 358|
|00000350| 5d 20 33 29 29 0a 0a 28 | 64 65 66 75 6e 20 63 61 |] 3))..(|defun ca|
|00000360| 6c 63 2d 63 6f 6e 76 65 | 72 74 2d 75 6e 69 74 73 |lc-conve|rt-units|
|00000370| 20 28 26 6f 70 74 69 6f | 6e 61 6c 20 6f 6c 64 2d | (&optio|nal old-|
|00000380| 75 6e 69 74 73 20 6e 65 | 77 2d 75 6e 69 74 73 29 |units ne|w-units)|
|00000390| 20 28 69 6e 74 65 72 61 | 63 74 69 76 65 29 20 28 | (intera|ctive) (|
|000003a0| 62 79 74 65 2d 63 6f 64 | 65 20 22 c0 88 c1 c2 c3 |byte-cod|e ".....|
|000003b0| 5c 22 87 22 20 5b 6e 69 | 6c 20 63 61 6c 63 2d 64 |\"." [ni|l calc-d|
|000003c0| 6f 20 28 6c 61 6d 62 64 | 61 20 6e 69 6c 20 28 62 |o (lambd|a nil (b|
|000003d0| 79 74 65 2d 63 6f 64 65 | 20 22 cb cc 21 c2 c2 1b |yte-code| "..!...|
|000003e0| 19 18 cd 08 c4 5c 22 86 | 50 00 0e 06 86 39 00 ce |.....\".|P....9..|
|000003f0| cf 21 89 11 88 d0 09 d1 | 5c 22 83 29 00 d2 89 11 |.!......|\".)....|
|00000400| 88 cc 82 39 00 d3 d4 09 | 5c 22 85 35 00 d2 09 50 |...9....|\".5...P|
|00000410| 89 11 88 d5 09 21 1d d6 | 0d 21 d7 3d 85 48 00 d7 |.....!..|.!.=.H..|
|00000420| d8 cc 0d 38 5c 22 88 d9 | 08 0d 5c 22 89 10 29 88 |...8\"..|..\"..).|
|00000430| 0e 07 86 67 00 ce 09 83 | 62 00 cf 09 da 51 82 63 |...g....|b....Q.c|
|00000440| 00 db 21 89 16 07 88 d3 | d4 0e 07 5c 22 85 77 00 |..!.....|...\".w.|
|00000450| d2 0e 07 50 89 16 07 88 | d5 0e 07 21 89 16 08 88 |...P....|...!....|
|00000460| d6 0e 08 21 d7 3d 85 90 | 00 d7 d8 dc 0e 08 38 5c |...!.=..|......8\|
|00000470| 22 88 cd 0e 08 c4 5c 22 | d6 0e 08 21 dd 3d 85 a7 |".....\"|...!.=..|
|00000480| 00 de cc 0e 08 38 0e 0a | 5c 22 1e 09 1b 0e 09 83 |.....8..|\"......|
|00000490| bf 00 df cc e0 e1 e2 08 | cc 0e 09 38 5c 22 21 23 |........|...8\"!#|
|000004a0| 82 d9 00 0b 86 c6 00 d7 | e3 21 88 df cc e0 e4 08 |........|.!......|
|000004b0| 0e 08 09 85 d7 00 d0 09 | d2 5c 22 3f 23 23 2a 2b |........|.\"?##*+|
|000004c0| 87 22 20 5b 65 78 70 72 | 20 75 6f 6c 64 6e 61 6d |." [expr| uoldnam|
|000004d0| 65 20 6e 69 6c 20 75 6e | 65 77 20 74 20 75 6f 6c |e nil un|ew t uol|
|000004e0| 64 20 6f 6c 64 2d 75 6e | 69 74 73 20 6e 65 77 2d |d old-un|its new-|
|000004f0| 75 6e 69 74 73 20 75 6e | 69 74 73 20 73 74 64 20 |units un|its std |
|00000500| 6d 61 74 68 2d 73 74 61 | 6e 64 61 72 64 2d 75 6e |math-sta|ndard-un|
|00000510| 69 74 73 2d 73 79 73 74 | 65 6d 73 20 63 61 6c 63 |its-syst|ems calc|
|00000520| 2d 74 6f 70 2d 6e 20 31 | 20 6d 61 74 68 2d 75 6e |-top-n 1| math-un|
|00000530| 69 74 73 2d 69 6e 2d 65 | 78 70 72 2d 70 20 72 65 |its-in-e|xpr-p re|
|00000540| 61 64 2d 73 74 72 69 6e | 67 20 22 4f 6c 64 20 75 |ad-strin|g "Old u|
|00000550| 6e 69 74 73 3a 20 22 20 | 65 71 75 61 6c 20 22 22 |nits: " |equal ""|
|00000560| 20 22 31 22 20 73 74 72 | 69 6e 67 2d 6d 61 74 63 | "1" str|ing-matc|
|00000570| 68 20 22 5c 5c 60 20 2a | 2f 22 20 6d 61 74 68 2d |h "\\` *|/" math-|
|00000580| 72 65 61 64 2d 65 78 70 | 72 20 63 61 72 2d 73 61 |read-exp|r car-sa|
|00000590| 66 65 20 65 72 72 6f 72 | 20 22 42 61 64 20 66 6f |fe error| "Bad fo|
|000005a0| 72 6d 61 74 20 69 6e 20 | 75 6e 69 74 73 20 65 78 |rmat in |units ex|
|000005b0| 70 72 65 73 73 69 6f 6e | 3a 20 25 73 22 20 6d 61 |pression|: %s" ma|
|000005c0| 74 68 2d 6d 75 6c 20 22 | 2c 20 6e 65 77 20 75 6e |th-mul "|, new un|
|000005d0| 69 74 73 3a 20 22 20 22 | 4e 65 77 20 75 6e 69 74 |its: " "|New unit|
|000005e0| 73 3a 20 22 20 32 20 76 | 61 72 20 61 73 73 71 20 |s: " 2 v|ar assq |
|000005f0| 63 61 6c 63 2d 65 6e 74 | 65 72 2d 72 65 73 75 6c |calc-ent|er-resul|
|00000600| 74 20 22 63 76 75 6e 22 | 20 6d 61 74 68 2d 73 69 |t "cvun"| math-si|
|00000610| 6d 70 6c 69 66 79 2d 75 | 6e 69 74 73 20 6d 61 74 |mplify-u|nits mat|
|00000620| 68 2d 74 6f 2d 73 74 61 | 6e 64 61 72 64 2d 75 6e |h-to-sta|ndard-un|
|00000630| 69 74 73 20 22 4e 6f 20 | 75 6e 69 74 73 20 73 70 |its "No |units sp|
|00000640| 65 63 69 66 69 65 64 22 | 20 6d 61 74 68 2d 63 6f |ecified"| math-co|
|00000650| 6e 76 65 72 74 2d 75 6e | 69 74 73 5d 20 33 30 29 |nvert-un|its] 30)|
|00000660| 29 20 38 38 34 5d 20 33 | 29 29 0a 0a 28 64 65 66 |) 884] 3|))..(def|
|00000670| 75 6e 20 63 61 6c 63 2d | 61 75 74 6f 72 61 6e 67 |un calc-|autorang|
|00000680| 65 2d 75 6e 69 74 73 20 | 28 61 72 67 29 20 28 69 |e-units |(arg) (i|
|00000690| 6e 74 65 72 61 63 74 69 | 76 65 20 22 50 22 29 20 |nteracti|ve "P") |
|000006a0| 28 62 79 74 65 2d 63 6f | 64 65 20 22 c0 88 c1 c2 |(byte-co|de "....|
|000006b0| 21 87 22 20 5b 6e 69 6c | 20 63 61 6c 63 2d 64 6f |!." [nil| calc-do|
|000006c0| 20 28 6c 61 6d 62 64 61 | 20 6e 69 6c 20 28 62 79 | (lambda| nil (by|
|000006d0| 74 65 2d 63 6f 64 65 20 | 22 c4 c3 08 c1 c2 24 88 |te-code |".....$.|
|000006e0| c5 0b 83 10 00 c6 82 11 | 00 c7 21 87 22 20 5b 61 |........|..!." [a|
|000006f0| 72 67 20 6e 69 6c 20 74 | 20 63 61 6c 63 2d 61 75 |rg nil t| calc-au|
|00000700| 74 6f 72 61 6e 67 65 2d | 75 6e 69 74 73 20 63 61 |torange-|units ca|
|00000710| 6c 63 2d 63 68 61 6e 67 | 65 2d 6d 6f 64 65 20 6d |lc-chang|e-mode m|
|00000720| 65 73 73 61 67 65 20 22 | 41 64 6a 75 73 74 69 6e |essage "|Adjustin|
|00000730| 67 20 74 61 72 67 65 74 | 20 75 6e 69 74 20 70 72 |g target| unit pr|
|00000740| 65 66 69 78 20 61 75 74 | 6f 6d 61 74 69 63 61 6c |efix aut|omatical|
|00000750| 6c 79 2e 22 20 22 55 73 | 69 6e 67 20 74 61 72 67 |ly." "Us|ing targ|
|00000760| 65 74 20 75 6e 69 74 73 | 20 65 78 61 63 74 6c 79 |et units| exactly|
|00000770| 2e 22 5d 20 35 29 29 5d | 20 32 29 29 0a 0a 28 64 |."] 5))]| 2))..(d|
|00000780| 65 66 75 6e 20 63 61 6c | 63 2d 63 6f 6e 76 65 72 |efun cal|c-conver|
|00000790| 74 2d 74 65 6d 70 65 72 | 61 74 75 72 65 20 28 26 |t-temper|ature (&|
|000007a0| 6f 70 74 69 6f 6e 61 6c | 20 6f 6c 64 2d 75 6e 69 |optional| old-uni|
|000007b0| 74 73 20 6e 65 77 2d 75 | 6e 69 74 73 29 20 28 69 |ts new-u|nits) (i|
|000007c0| 6e 74 65 72 61 63 74 69 | 76 65 29 20 28 62 79 74 |nteracti|ve) (byt|
|000007d0| 65 2d 63 6f 64 65 20 22 | c0 88 c1 c2 c3 5c 22 87 |e-code "|.....\".|
|000007e0| 22 20 5b 6e 69 6c 20 63 | 61 6c 63 2d 64 6f 20 28 |" [nil c|alc-do (|
|000007f0| 6c 61 6d 62 64 61 20 6e | 69 6c 20 28 62 79 74 65 |lambda n|il (byte|
|00000800| 2d 63 6f 64 65 20 22 c8 | c9 21 c2 c2 c2 1c 1b 19 |-code ".|.!......|
|00000810| 18 0d 86 3d 00 ca 08 21 | 1e 06 0e 06 83 35 00 0e |...=...!|.....5..|
|00000820| 06 3a 83 2f 00 cb 0e 06 | 40 cc cd ce 0e 06 40 21 |.:./....|@.....@!|
|00000830| 50 21 45 82 32 00 cf d0 | 21 82 3c 00 d1 d2 d3 21 |P!E.2...|!.<....!|
|00000840| 89 13 21 29 89 11 88 d4 | 09 21 cf 3d 85 4e 00 cf |..!)....|.!.=.N..|
|00000850| d5 d6 09 38 5c 22 88 d7 | 08 c2 5c 22 86 5c 5c 00 |...8\"..|..\".\\.|
|00000860| d8 08 09 5c 22 89 10 88 | 0e 07 86 72 00 d1 d2 0b |...\"...|...r....|
|00000870| 83 6f 00 d3 0b d9 51 82 | 70 00 da 21 21 89 14 88 |.o....Q.|p..!!...|
|00000880| d4 0c 21 cf 3d 85 83 00 | cf d5 d6 0c 38 5c 22 88 |..!.=...|....8\".|
|00000890| db c9 dc dd de 08 09 0c | 0b 24 21 23 2c 87 22 20 |........|.$!#,." |
|000008a0| 5b 65 78 70 72 20 75 6f | 6c 64 20 6e 69 6c 20 75 |[expr uo|ld nil u|
|000008b0| 6f 6c 64 6e 61 6d 65 20 | 75 6e 65 77 20 6f 6c 64 |oldname |unew old|
|000008c0| 2d 75 6e 69 74 73 20 75 | 6e 69 74 73 20 6e 65 77 |-units u|nits new|
|000008d0| 2d 75 6e 69 74 73 20 63 | 61 6c 63 2d 74 6f 70 2d |-units c|alc-top-|
|000008e0| 6e 20 31 20 6d 61 74 68 | 2d 73 69 6e 67 6c 65 2d |n 1 math|-single-|
|000008f0| 75 6e 69 74 73 2d 69 6e | 2d 65 78 70 72 2d 70 20 |units-in|-expr-p |
|00000900| 76 61 72 20 69 6e 74 65 | 72 6e 20 22 76 61 72 2d |var inte|rn "var-|
|00000910| 22 20 73 79 6d 62 6f 6c | 2d 6e 61 6d 65 20 65 72 |" symbol|-name er|
|00000920| 72 6f 72 20 22 4e 6f 74 | 20 61 20 70 75 72 65 20 |ror "Not| a pure |
|00000930| 74 65 6d 70 65 72 61 74 | 75 72 65 20 65 78 70 72 |temperat|ure expr|
|00000940| 65 73 73 69 6f 6e 22 20 | 6d 61 74 68 2d 72 65 61 |ession" |math-rea|
|00000950| 64 2d 65 78 70 72 20 72 | 65 61 64 2d 73 74 72 69 |d-expr r|ead-stri|
|00000960| 6e 67 20 22 4f 6c 64 20 | 74 65 6d 70 65 72 61 74 |ng "Old |temperat|
|00000970| 75 72 65 20 75 6e 69 74 | 73 3a 20 22 20 63 61 72 |ure unit|s: " car|
|00000980| 2d 73 61 66 65 20 22 42 | 61 64 20 66 6f 72 6d 61 |-safe "B|ad forma|
|00000990| 74 20 69 6e 20 75 6e 69 | 74 73 20 65 78 70 72 65 |t in uni|ts expre|
|000009a0| 73 73 69 6f 6e 3a 20 25 | 73 22 20 32 20 6d 61 74 |ssion: %|s" 2 mat|
|000009b0| 68 2d 75 6e 69 74 73 2d | 69 6e 2d 65 78 70 72 2d |h-units-|in-expr-|
|000009c0| 70 20 6d 61 74 68 2d 6d | 75 6c 20 22 2c 20 6e 65 |p math-m|ul ", ne|
|000009d0| 77 20 75 6e 69 74 73 3a | 20 22 20 22 4e 65 77 20 |w units:| " "New |
|000009e0| 74 65 6d 70 65 72 61 74 | 75 72 65 20 75 6e 69 74 |temperat|ure unit|
|000009f0| 73 3a 20 22 20 63 61 6c | 63 2d 65 6e 74 65 72 2d |s: " cal|c-enter-|
|00000a00| 72 65 73 75 6c 74 20 22 | 63 76 74 6d 22 20 6d 61 |result "|cvtm" ma|
|00000a10| 74 68 2d 73 69 6d 70 6c | 69 66 79 2d 75 6e 69 74 |th-simpl|ify-unit|
|00000a20| 73 20 6d 61 74 68 2d 63 | 6f 6e 76 65 72 74 2d 74 |s math-c|onvert-t|
|00000a30| 65 6d 70 65 72 61 74 75 | 72 65 5d 20 32 34 29 29 |emperatu|re] 24))|
|00000a40| 20 31 39 34 37 5d 20 33 | 29 29 0a 0a 28 64 65 66 | 1947] 3|))..(def|
|00000a50| 75 6e 20 63 61 6c 63 2d | 72 65 6d 6f 76 65 2d 75 |un calc-|remove-u|
|00000a60| 6e 69 74 73 20 6e 69 6c | 20 28 69 6e 74 65 72 61 |nits nil| (intera|
|00000a70| 63 74 69 76 65 29 20 28 | 62 79 74 65 2d 63 6f 64 |ctive) (|byte-cod|
|00000a80| 65 20 22 c0 88 c1 c2 c3 | 5c 22 87 22 20 5b 6e 69 |e ".....|\"." [ni|
|00000a90| 6c 20 63 61 6c 63 2d 64 | 6f 20 28 6c 61 6d 62 64 |l calc-d|o (lambd|
|00000aa0| 61 20 6e 69 6c 20 28 62 | 79 74 65 2d 63 6f 64 65 |a nil (b|yte-code|
|00000ab0| 20 22 c0 c1 c2 c3 c4 c5 | c1 21 21 21 23 87 22 20 | "......|.!!!#." |
|00000ac0| 5b 63 61 6c 63 2d 65 6e | 74 65 72 2d 72 65 73 75 |[calc-en|ter-resu|
|00000ad0| 6c 74 20 31 20 22 72 6d | 75 6e 22 20 6d 61 74 68 |lt 1 "rm|un" math|
|00000ae0| 2d 73 69 6d 70 6c 69 66 | 79 2d 75 6e 69 74 73 20 |-simplif|y-units |
|00000af0| 6d 61 74 68 2d 72 65 6d | 6f 76 65 2d 75 6e 69 74 |math-rem|ove-unit|
|00000b00| 73 20 63 61 6c 63 2d 74 | 6f 70 2d 6e 5d 20 37 29 |s calc-t|op-n] 7)|
|00000b10| 29 20 32 36 36 35 5d 20 | 33 29 29 0a 0a 28 64 65 |) 2665] |3))..(de|
|00000b20| 66 75 6e 20 63 61 6c 63 | 2d 65 78 74 72 61 63 74 |fun calc|-extract|
|00000b30| 2d 75 6e 69 74 73 20 6e | 69 6c 20 28 69 6e 74 65 |-units n|il (inte|
|00000b40| 72 61 63 74 69 76 65 29 | 20 28 62 79 74 65 2d 63 |ractive)| (byte-c|
|00000b50| 6f 64 65 20 22 c0 88 c1 | c2 c3 5c 22 87 22 20 5b |ode "...|..\"." [|
|00000b60| 6e 69 6c 20 63 61 6c 63 | 2d 64 6f 20 28 6c 61 6d |nil calc|-do (lam|
|00000b70| 62 64 61 20 6e 69 6c 20 | 28 62 79 74 65 2d 63 6f |bda nil |(byte-co|
|00000b80| 64 65 20 22 c0 c1 c2 c3 | c4 c5 c1 21 21 21 23 87 |de "....|...!!!#.|
|00000b90| 22 20 5b 63 61 6c 63 2d | 65 6e 74 65 72 2d 72 65 |" [calc-|enter-re|
|00000ba0| 73 75 6c 74 20 31 20 22 | 72 6d 75 6e 22 20 6d 61 |sult 1 "|rmun" ma|
|00000bb0| 74 68 2d 73 69 6d 70 6c | 69 66 79 2d 75 6e 69 74 |th-simpl|ify-unit|
|00000bc0| 73 20 6d 61 74 68 2d 65 | 78 74 72 61 63 74 2d 75 |s math-e|xtract-u|
|00000bd0| 6e 69 74 73 20 63 61 6c | 63 2d 74 6f 70 2d 6e 5d |nits cal|c-top-n]|
|00000be0| 20 37 29 29 20 32 38 37 | 34 5d 20 33 29 29 0a 0a | 7)) 287|4] 3))..|
|00000bf0| 28 64 65 66 75 6e 20 63 | 61 6c 63 2d 65 78 70 6c |(defun c|alc-expl|
|00000c00| 61 69 6e 2d 75 6e 69 74 | 73 20 6e 69 6c 20 28 69 |ain-unit|s nil (i|
|00000c10| 6e 74 65 72 61 63 74 69 | 76 65 29 20 28 62 79 74 |nteracti|ve) (byt|
|00000c20| 65 2d 63 6f 64 65 20 22 | c0 88 c1 c2 21 87 22 20 |e-code "|....!." |
|00000c30| 5b 6e 69 6c 20 63 61 6c | 63 2d 64 6f 20 28 6c 61 |[nil cal|c-do (la|
|00000c40| 6d 62 64 61 20 6e 69 6c | 20 28 62 79 74 65 2d 63 |mbda nil| (byte-c|
|00000c50| 6f 64 65 20 22 c1 c1 1a | 18 c3 c4 c5 21 c5 5c 22 |ode "...|....!.\"|
|00000c60| 88 0a 85 1c 00 c6 c7 0a | 5c 22 85 1c 00 c8 0a c9 |........|\"......|
|00000c70| 51 89 12 88 08 83 34 00 | 0a 83 2d 00 ca cb 08 0a |Q.....4.|..-.....|
|00000c80| 23 82 31 00 ca cc 08 5c | 22 82 42 00 0a 83 3f 00 |#.1....\|".B...?.|
|00000c90| ca cd 0a 5c 22 82 42 00 | ca ce 21 2a 87 22 20 5b |...\".B.|..!*." [|
|00000ca0| 6e 75 6d 2d 75 6e 69 74 | 73 20 6e 69 6c 20 64 65 |num-unit|s nil de|
|00000cb0| 6e 2d 75 6e 69 74 73 20 | 63 61 6c 63 2d 65 78 70 |n-units |calc-exp|
|00000cc0| 6c 61 69 6e 2d 75 6e 69 | 74 73 2d 72 65 63 20 63 |lain-uni|ts-rec c|
|00000cd0| 61 6c 63 2d 74 6f 70 2d | 6e 20 31 20 73 74 72 69 |alc-top-|n 1 stri|
|00000ce0| 6e 67 2d 6d 61 74 63 68 | 20 22 5e 5b 5e 28 5d 2e |ng-match| "^[^(].|
|00000cf0| 2a 20 2e 2a 5b 5e 29 5d | 24 22 20 22 28 22 20 22 |* .*[^)]|$" "(" "|
|00000d00| 29 22 20 6d 65 73 73 61 | 67 65 20 22 25 73 20 70 |)" messa|ge "%s p|
|00000d10| 65 72 20 25 73 22 20 22 | 25 73 22 20 22 31 20 70 |er %s" "|%s" "1 p|
|00000d20| 65 72 20 25 73 22 20 22 | 4e 6f 20 75 6e 69 74 73 |er %s" "|No units|
|00000d30| 20 69 6e 20 65 78 70 72 | 65 73 73 69 6f 6e 22 5d | in expr|ession"]|
|00000d40| 20 38 29 29 5d 20 32 29 | 29 0a 0a 28 64 65 66 75 | 8))] 2)|)..(defu|
|00000d50| 6e 20 63 61 6c 63 2d 65 | 78 70 6c 61 69 6e 2d 75 |n calc-e|xplain-u|
|00000d60| 6e 69 74 73 2d 72 65 63 | 20 28 65 78 70 72 20 70 |nits-rec| (expr p|
|00000d70| 6f 77 29 20 28 62 79 74 | 65 2d 63 6f 64 65 20 22 |ow) (byt|e-code "|
|00000d80| c9 09 21 ca 1a 18 08 85 | 0e 00 cb 0b 21 3f 83 30 |..!.....|....!?.0|
|00000d90| 01 cc 08 38 86 1b 00 cd | 08 40 21 1c 0c ce 48 cf |...8....|.@!...H.|
|00000da0| 3d 85 2a 00 0c d0 ca 4f | 89 14 88 d1 d2 0c 5c 22 |=.*....O|......\"|
|00000db0| 85 68 00 d1 d3 0c 5c 22 | 83 62 00 d1 d4 0c 5c 22 |.h....\"|.b....\"|
|00000dc0| 89 12 85 5f 00 0c ce 0a | 4f 0c 0a 48 d5 3d 83 52 |..._....|O..H.=.R|
|00000dd0| 00 d6 82 53 00 d7 0c 0a | 54 ca 4f 51 89 14 88 82 |...S....|T.OQ....|
|00000de0| 39 00 82 68 00 d8 0c d9 | 51 89 14 88 d0 09 38 08 |9..h....|Q.....8.|
|00000df0| 40 3d 86 99 00 cc da cd | d0 09 38 21 ce 48 0d 5c |@=......|..8!.H.\|
|00000e00| 22 38 d1 d2 0c 5c 22 85 | 8a 00 08 40 db 3e 3f 83 |"8...\".|...@.>?.|
|00000e10| 93 00 d6 0c 50 82 96 00 | dc 0c 21 50 89 14 88 dd |....P...|..!P....|
|00000e20| 0b d0 5c 22 86 a5 00 dd | 0b de 5c 22 86 00 01 dd |..\"....|..\"....|
|00000e30| 0b cc 5c 22 86 b3 00 dd | 0b df 5c 22 83 cf 00 e0 |..\"....|..\"....|
|00000e40| e1 08 38 e2 5c 22 83 c7 | 00 e3 0c 50 89 14 82 cc |..8.\"..|...P....|
|00000e50| 00 0c e4 50 89 14 82 00 | 01 dd 0b e5 5c 22 86 da |...P....|....\"..|
|00000e60| 00 dd 0b e6 5c 22 83 f6 | 00 e0 e1 08 38 e7 5c 22 |....\"..|....8.\"|
|00000e70| 83 ee 00 e8 0c 50 89 14 | 82 f3 00 0c e9 50 89 14 |.....P..|.....P..|
|00000e80| 82 00 01 0c ea eb ec 0b | 21 21 51 89 14 88 ed 0b |........|!!Q.....|
|00000e90| 21 83 1b 01 0e 07 83 14 | 01 0e 07 ee 0c 51 82 15 |!.......|.....Q..|
|00000ea0| 01 0c 89 16 07 82 2c 01 | 0e 08 83 28 01 0e 08 ee |......,.|...(....|
|00000eb0| 0c 51 82 29 01 0c 89 16 | 08 29 82 8d 01 ef 09 21 |.Q.)....|.).....!|
|00000ec0| f0 3d 83 48 01 f1 d0 09 | 38 0b 5c 22 88 f1 cc 09 |.=.H....|8.\"....|
|00000ed0| 38 0b 5c 22 82 8d 01 ef | 09 21 f2 3d 83 61 01 f1 |8.\"....|.!.=.a..|
|00000ee0| d0 09 38 0b 5c 22 88 f1 | cc 09 38 0b 5b 5c 22 82 |..8.\"..|..8.[\".|
|00000ef0| 8d 01 ef 09 21 f3 3e 83 | 72 01 f1 d0 09 38 0b 5c |....!.>.|r....8.\|
|00000f00| 22 82 8d 01 ef 09 21 f4 | 3d 85 7f 01 f5 cc 09 38 |".....!.|=......8|
|00000f10| 21 85 8d 01 f1 d0 09 38 | f6 0b cc 09 38 5c 22 5c |!......8|....8\"\|
|00000f20| 22 2a 87 22 20 5b 75 20 | 65 78 70 72 20 70 6f 73 |"*." [u |expr pos|
|00000f30| 20 70 6f 77 20 6e 61 6d | 65 20 6d 61 74 68 2d 75 | pow nam|e math-u|
|00000f40| 6e 69 74 2d 70 72 65 66 | 69 78 65 73 20 74 20 6e |nit-pref|ixes t n|
|00000f50| 75 6d 2d 75 6e 69 74 73 | 20 64 65 6e 2d 75 6e 69 |um-units| den-uni|
|00000f60| 74 73 20 6d 61 74 68 2d | 63 68 65 63 6b 2d 75 6e |ts math-|check-un|
|00000f70| 69 74 2d 6e 61 6d 65 20 | 6e 69 6c 20 6d 61 74 68 |it-name |nil math|
|00000f80| 2d 7a 65 72 6f 70 20 32 | 20 73 79 6d 62 6f 6c 2d |-zerop 2| symbol-|
|00000f90| 6e 61 6d 65 20 30 20 34 | 32 20 31 20 73 74 72 69 |name 0 4|2 1 stri|
|00000fa0| 6e 67 2d 6d 61 74 63 68 | 20 22 5b 5e 61 2d 7a 41 |ng-match| "[^a-zA|
|00000fb0| 2d 5a 30 2d 39 27 5d 22 | 20 22 5e 5b 61 2d 7a 41 |-Z0-9']"| "^[a-zA|
|00000fc0| 2d 5a 30 2d 39 27 20 28 | 29 5d 2a 24 22 20 22 5b |-Z0-9' (|)]*$" "[|
|00000fd0| 20 28 29 5d 22 20 33 32 | 20 22 2d 22 20 22 22 20 | ()]" 32| "-" "" |
|00000fe0| 22 28 22 20 22 29 22 20 | 61 73 73 71 20 28 6d 48 |"(" ")" |assq (mH|
|00000ff0| 67 20 67 66 29 20 64 6f | 77 6e 63 61 73 65 20 6d |g gf) do|wncase m|
|00001000| 61 74 68 2d 65 71 75 61 | 6c 2d 69 6e 74 20 2d 31 |ath-equa|l-int -1|
|00001010| 20 2d 32 20 65 71 75 61 | 6c 20 34 20 28 28 6d 20 | -2 equa|l 4 ((m |
|00001020| 2e 20 31 29 29 20 22 53 | 71 75 61 72 65 2d 22 20 |. 1)) "S|quare-" |
|00001030| 22 2d 73 71 75 61 72 65 | 64 22 20 33 20 2d 33 20 |"-square|d" 3 -3 |
|00001040| 28 28 6d 20 2e 20 31 29 | 29 20 22 43 75 62 69 63 |((m . 1)|) "Cubic|
|00001050| 2d 22 20 22 2d 63 75 62 | 65 64 22 20 22 5e 22 20 |-" "-cub|ed" "^" |
|00001060| 6d 61 74 68 2d 66 6f 72 | 6d 61 74 2d 6e 75 6d 62 |math-for|mat-numb|
|00001070| 65 72 20 6d 61 74 68 2d | 61 62 73 20 6d 61 74 68 |er math-|abs math|
|00001080| 2d 70 6f 73 70 20 22 20 | 22 20 63 61 72 2d 73 61 |-posp " |" car-sa|
|00001090| 66 65 20 2a 20 63 61 6c | 63 2d 65 78 70 6c 61 69 |fe * cal|c-explai|
|000010a0| 6e 2d 75 6e 69 74 73 2d | 72 65 63 20 2f 20 28 6e |n-units-|rec / (n|
|000010b0| 65 67 20 2b 20 2d 29 20 | 5e 20 6d 61 74 68 2d 72 |eg + -) |^ math-r|
|000010c0| 65 61 6c 70 20 6d 61 74 | 68 2d 6d 75 6c 5d 20 33 |ealp mat|h-mul] 3|
|000010d0| 37 29 29 0a 0a 28 64 65 | 66 75 6e 20 63 61 6c 63 |7))..(de|fun calc|
|000010e0| 2d 73 69 6d 70 6c 69 66 | 79 2d 75 6e 69 74 73 20 |-simplif|y-units |
|000010f0| 6e 69 6c 20 28 69 6e 74 | 65 72 61 63 74 69 76 65 |nil (int|eractive|
|00001100| 29 20 28 62 79 74 65 2d | 63 6f 64 65 20 22 c0 88 |) (byte-|code "..|
|00001110| c1 c2 c3 5c 22 87 22 20 | 5b 6e 69 6c 20 63 61 6c |...\"." |[nil cal|
|00001120| 63 2d 64 6f 20 28 6c 61 | 6d 62 64 61 20 6e 69 6c |c-do (la|mbda nil|
|00001130| 20 28 62 79 74 65 2d 63 | 6f 64 65 20 22 08 c1 3e | (byte-c|ode "..>|
|00001140| 3f 85 08 00 08 18 c2 c3 | c4 c5 c6 c3 21 21 23 29 |?.......|....!!#)|
|00001150| 87 22 20 5b 63 61 6c 63 | 2d 73 69 6d 70 6c 69 66 |." [calc|-simplif|
|00001160| 79 2d 6d 6f 64 65 20 28 | 6e 6f 6e 65 20 6e 75 6d |y-mode (|none num|
|00001170| 29 20 63 61 6c 63 2d 65 | 6e 74 65 72 2d 72 65 73 |) calc-e|nter-res|
|00001180| 75 6c 74 20 31 20 22 73 | 6d 75 6e 22 20 6d 61 74 |ult 1 "s|mun" mat|
|00001190| 68 2d 73 69 6d 70 6c 69 | 66 79 2d 75 6e 69 74 73 |h-simpli|fy-units|
|000011a0| 20 63 61 6c 63 2d 74 6f | 70 2d 6e 5d 20 36 29 29 | calc-to|p-n] 6))|
|000011b0| 20 34 33 33 38 5d 20 33 | 29 29 0a 0a 28 64 65 66 | 4338] 3|))..(def|
|000011c0| 75 6e 20 63 61 6c 63 2d | 76 69 65 77 2d 75 6e 69 |un calc-|view-uni|
|000011d0| 74 73 2d 74 61 62 6c 65 | 20 28 6e 29 20 28 69 6e |ts-table| (n) (in|
|000011e0| 74 65 72 61 63 74 69 76 | 65 20 22 50 22 29 20 28 |teractiv|e "P") (|
|000011f0| 62 79 74 65 2d 63 6f 64 | 65 20 22 c2 88 08 85 09 |byte-cod|e ".....|
|00001200| 00 c2 89 11 88 c6 c7 21 | 1b 0b 85 17 00 0c 85 17 |.......!|........|
|00001210| 00 09 83 32 00 c8 c9 0b | 21 21 88 ca 20 1d cb 0b |...2....|!!.. ...|
|00001220| 21 88 cc c2 21 88 cb 0d | 21 29 82 35 00 cd c2 21 |!...!...|!).5...!|
|00001230| 29 87 22 20 5b 6e 20 6d | 61 74 68 2d 75 6e 69 74 |)." [n m|ath-unit|
|00001240| 73 2d 74 61 62 6c 65 2d | 62 75 66 66 65 72 2d 76 |s-table-|buffer-v|
|00001250| 61 6c 69 64 20 6e 69 6c | 20 77 69 6e 20 6d 61 74 |alid nil| win mat|
|00001260| 68 2d 75 6e 69 74 73 2d | 74 61 62 6c 65 20 63 75 |h-units-|table cu|
|00001270| 72 77 69 6e 20 67 65 74 | 2d 62 75 66 66 65 72 2d |rwin get|-buffer-|
|00001280| 77 69 6e 64 6f 77 20 22 | 2a 55 6e 69 74 73 20 54 |window "|*Units T|
|00001290| 61 62 6c 65 2a 22 20 62 | 75 72 79 2d 62 75 66 66 |able*" b|ury-buff|
|000012a0| 65 72 20 77 69 6e 64 6f | 77 2d 62 75 66 66 65 72 |er windo|w-buffer|
|000012b0| 20 73 65 6c 65 63 74 65 | 64 2d 77 69 6e 64 6f 77 | selecte|d-window|
|000012c0| 20 73 65 6c 65 63 74 2d | 77 69 6e 64 6f 77 20 73 | select-|window s|
|000012d0| 77 69 74 63 68 2d 74 6f | 2d 62 75 66 66 65 72 20 |witch-to|-buffer |
|000012e0| 6d 61 74 68 2d 62 75 69 | 6c 64 2d 75 6e 69 74 73 |math-bui|ld-units|
|000012f0| 2d 74 61 62 6c 65 2d 62 | 75 66 66 65 72 5d 20 39 |-table-b|uffer] 9|
|00001300| 29 29 0a 0a 28 64 65 66 | 75 6e 20 63 61 6c 63 2d |))..(def|un calc-|
|00001310| 65 6e 74 65 72 2d 75 6e | 69 74 73 2d 74 61 62 6c |enter-un|its-tabl|
|00001320| 65 20 28 6e 29 20 28 69 | 6e 74 65 72 61 63 74 69 |e (n) (i|nteracti|
|00001330| 76 65 20 22 50 22 29 20 | 28 62 79 74 65 2d 63 6f |ve "P") |(byte-co|
|00001340| 64 65 20 22 c2 88 08 85 | 09 00 c2 89 11 88 c4 c3 |de "....|........|
|00001350| 21 88 c5 c6 c7 21 21 87 | 22 20 5b 6e 20 6d 61 74 |!....!!.|" [n mat|
|00001360| 68 2d 75 6e 69 74 73 2d | 74 61 62 6c 65 2d 62 75 |h-units-|table-bu|
|00001370| 66 66 65 72 2d 76 61 6c | 69 64 20 6e 69 6c 20 74 |ffer-val|id nil t|
|00001380| 20 6d 61 74 68 2d 62 75 | 69 6c 64 2d 75 6e 69 74 | math-bu|ild-unit|
|00001390| 73 2d 74 61 62 6c 65 2d | 62 75 66 66 65 72 20 6d |s-table-|buffer m|
|000013a0| 65 73 73 61 67 65 20 73 | 75 62 73 74 69 74 75 74 |essage s|ubstitut|
|000013b0| 65 2d 63 6f 6d 6d 61 6e | 64 2d 6b 65 79 73 20 22 |e-comman|d-keys "|
|000013c0| 54 79 70 65 20 5c 5c 5b | 63 61 6c 63 5d 20 74 6f |Type \\[|calc] to|
|000013d0| 20 72 65 74 75 72 6e 20 | 74 6f 20 74 68 65 20 43 | return |to the C|
|000013e0| 61 6c 63 75 6c 61 74 6f | 72 2e 22 5d 20 34 29 29 |alculato|r."] 4))|
|000013f0| 0a 0a 28 64 65 66 75 6e | 20 63 61 6c 63 2d 64 65 |..(defun| calc-de|
|00001400| 66 69 6e 65 2d 75 6e 69 | 74 20 28 75 6e 61 6d 65 |fine-uni|t (uname|
|00001410| 20 64 65 73 63 29 20 28 | 69 6e 74 65 72 61 63 74 | desc) (|interact|
|00001420| 69 76 65 20 22 53 44 65 | 66 69 6e 65 20 75 6e 69 |ive "SDe|fine uni|
|00001430| 74 20 6e 61 6d 65 3a 20 | 0a 73 44 65 73 63 72 69 |t name: |.sDescri|
|00001440| 70 74 69 6f 6e 3a 20 22 | 29 20 28 62 79 74 65 2d |ption: "|) (byte-|
|00001450| 63 6f 64 65 20 22 c0 88 | c1 c2 21 88 c3 20 87 22 |code "..|..!.. ."|
|00001460| 20 5b 6e 69 6c 20 63 61 | 6c 63 2d 64 6f 20 28 6c | [nil ca|lc-do (l|
|00001470| 61 6d 62 64 61 20 6e 69 | 6c 20 28 62 79 74 65 2d |ambda ni|l (byte-|
|00001480| 63 6f 64 65 20 22 c7 c8 | 21 c9 0a 0b 5c 22 19 18 |code "..|!...\"..|
|00001490| 09 86 19 00 0a c4 c4 45 | 89 11 0b 42 13 c4 89 15 |.......E|...B....|
|000014a0| 88 ca 09 41 cb 08 21 cc | 3d 85 2a 00 c8 08 38 0a |...A..!.|=.*...8.|
|000014b0| 3d 3f 85 3a 00 cd 08 c8 | 5c 22 3f 85 3a 00 ce 08 |=?.:....|\"?.:...|
|000014c0| cf 5c 22 5c 22 88 ca 09 | 41 41 d0 0e 06 d1 5c 22 |.\"\"...|AA....\"|
|000014d0| 3f 85 4b 00 0e 06 5c 22 | 2a 87 22 20 5b 66 6f 72 |?.K...\"|*." [for|
|000014e0| 6d 20 75 6e 69 74 20 75 | 6e 61 6d 65 20 6d 61 74 |m unit u|name mat|
|000014f0| 68 2d 61 64 64 69 74 69 | 6f 6e 61 6c 2d 75 6e 69 |h-additi|onal-uni|
|00001500| 74 73 20 6e 69 6c 20 6d | 61 74 68 2d 75 6e 69 74 |ts nil m|ath-unit|
|00001510| 73 2d 74 61 62 6c 65 20 | 64 65 73 63 20 63 61 6c |s-table |desc cal|
|00001520| 63 2d 74 6f 70 2d 6e 20 | 31 20 61 73 73 71 20 73 |c-top-n |1 assq s|
|00001530| 65 74 63 61 72 20 63 61 | 72 2d 73 61 66 65 20 76 |etcar ca|r-safe v|
|00001540| 61 72 20 6d 61 74 68 2d | 65 71 75 61 6c 2d 69 6e |ar math-|equal-in|
|00001550| 74 20 6d 61 74 68 2d 66 | 6f 72 6d 61 74 2d 66 6c |t math-f|ormat-fl|
|00001560| 61 74 2d 65 78 70 72 20 | 30 20 65 71 75 61 6c 20 |at-expr |0 equal |
|00001570| 22 22 5d 20 31 31 29 29 | 20 63 61 6c 63 2d 69 6e |""] 11))| calc-in|
|00001580| 76 61 6c 69 64 61 74 65 | 2d 75 6e 69 74 73 2d 74 |validate|-units-t|
|00001590| 61 62 6c 65 5d 20 33 29 | 29 0a 0a 28 64 65 66 75 |able] 3)|)..(defu|
|000015a0| 6e 20 63 61 6c 63 2d 75 | 6e 64 65 66 69 6e 65 2d |n calc-u|ndefine-|
|000015b0| 75 6e 69 74 20 28 75 6e | 61 6d 65 29 20 28 69 6e |unit (un|ame) (in|
|000015c0| 74 65 72 61 63 74 69 76 | 65 20 22 53 55 6e 64 65 |teractiv|e "SUnde|
|000015d0| 66 69 6e 65 20 75 6e 69 | 74 20 6e 61 6d 65 3a 20 |fine uni|t name: |
|000015e0| 22 29 20 28 62 79 74 65 | 2d 63 6f 64 65 20 22 c0 |") (byte|-code ".|
|000015f0| 88 c1 c2 21 88 c3 20 87 | 22 20 5b 6e 69 6c 20 63 |...!.. .|" [nil c|
|00001600| 61 6c 63 2d 64 6f 20 28 | 6c 61 6d 62 64 61 20 6e |alc-do (|lambda n|
|00001610| 69 6c 20 28 62 79 74 65 | 2d 63 6f 64 65 20 22 c6 |il (byte|-code ".|
|00001620| 09 0a 5c 22 18 08 86 1b | 00 c6 09 0b 5c 22 83 17 |..\"....|....\"..|
|00001630| 00 c7 c8 09 5c 22 82 1b | 00 c7 c9 09 5c 22 88 ca |....\"..|....\"..|
|00001640| 08 0a 5c 22 12 c5 89 14 | 29 87 22 20 5b 75 6e 69 |..\"....|)." [uni|
|00001650| 74 20 75 6e 61 6d 65 20 | 6d 61 74 68 2d 61 64 64 |t uname |math-add|
|00001660| 69 74 69 6f 6e 61 6c 2d | 75 6e 69 74 73 20 6d 61 |itional-|units ma|
|00001670| 74 68 2d 73 74 61 6e 64 | 61 72 64 2d 75 6e 69 74 |th-stand|ard-unit|
|00001680| 73 20 6d 61 74 68 2d 75 | 6e 69 74 73 2d 74 61 62 |s math-u|nits-tab|
|00001690| 6c 65 20 6e 69 6c 20 61 | 73 73 71 20 65 72 72 6f |le nil a|ssq erro|
|000016a0| 72 20 22 5c 22 25 73 5c | 22 20 69 73 20 61 20 70 |r "\"%s\|" is a p|
|000016b0| 72 65 64 65 66 69 6e 65 | 64 20 75 6e 69 74 20 6e |redefine|d unit n|
|000016c0| 61 6d 65 22 20 22 55 6e | 69 74 20 6e 61 6d 65 20 |ame" "Un|it name |
|000016d0| 5c 22 25 73 5c 22 20 6e | 6f 74 20 66 6f 75 6e 64 |\"%s\" n|ot found|
|000016e0| 22 20 64 65 6c 71 5d 20 | 37 29 29 20 63 61 6c 63 |" delq] |7)) calc|
|000016f0| 2d 69 6e 76 61 6c 69 64 | 61 74 65 2d 75 6e 69 74 |-invalid|ate-unit|
|00001700| 73 2d 74 61 62 6c 65 5d | 20 33 29 29 0a 0a 28 64 |s-table]| 3))..(d|
|00001710| 65 66 75 6e 20 63 61 6c | 63 2d 69 6e 76 61 6c 69 |efun cal|c-invali|
|00001720| 64 61 74 65 2d 75 6e 69 | 74 73 2d 74 61 62 6c 65 |date-uni|ts-table|
|00001730| 20 6e 69 6c 20 28 62 79 | 74 65 2d 63 6f 64 65 20 | nil (by|te-code |
|00001740| 22 c1 89 10 88 c4 c5 21 | 1a 0a 85 21 00 8a 0a 71 |"......!|...!...q|
|00001750| 88 8a 65 62 88 c6 c7 21 | 85 1f 00 c1 1b c8 63 29 |..eb...!|......c)|
|00001760| 29 29 29 87 22 20 5b 6d | 61 74 68 2d 75 6e 69 74 |)))." [m|ath-unit|
|00001770| 73 2d 74 61 62 6c 65 20 | 6e 69 6c 20 62 75 66 20 |s-table |nil buf |
|00001780| 62 75 66 66 65 72 2d 72 | 65 61 64 2d 6f 6e 6c 79 |buffer-r|ead-only|
|00001790| 20 67 65 74 2d 62 75 66 | 66 65 72 20 22 2a 55 6e | get-buf|fer "*Un|
|000017a0| 69 74 73 20 54 61 62 6c | 65 2a 22 20 6c 6f 6f 6b |its Tabl|e*" look|
|000017b0| 69 6e 67 2d 61 74 20 22 | 43 61 6c 63 75 6c 61 74 |ing-at "|Calculat|
|000017c0| 6f 72 20 55 6e 69 74 73 | 20 54 61 62 6c 65 22 20 |or Units| Table" |
|000017d0| 22 28 4f 62 73 6f 6c 65 | 74 65 29 20 22 5d 20 33 |"(Obsole|te) "] 3|
|000017e0| 29 29 0a 0a 28 64 65 66 | 75 6e 20 63 61 6c 63 2d |))..(def|un calc-|
|000017f0| 67 65 74 2d 75 6e 69 74 | 2d 64 65 66 69 6e 69 74 |get-unit|-definit|
|00001800| 69 6f 6e 20 28 75 6e 61 | 6d 65 29 20 28 69 6e 74 |ion (una|me) (int|
|00001810| 65 72 61 63 74 69 76 65 | 20 22 53 47 65 74 20 64 |eractive| "SGet d|
|00001820| 65 66 69 6e 69 74 69 6f | 6e 20 66 6f 72 20 75 6e |efinitio|n for un|
|00001830| 69 74 3a 20 22 29 20 28 | 62 79 74 65 2d 63 6f 64 |it: ") (|byte-cod|
|00001840| 65 20 22 c0 88 c1 c2 21 | 87 22 20 5b 6e 69 6c 20 |e "....!|." [nil |
|00001850| 63 61 6c 63 2d 64 6f 20 | 28 6c 61 6d 62 64 61 20 |calc-do |(lambda |
|00001860| 6e 69 6c 20 28 62 79 74 | 65 2d 63 6f 64 65 20 22 |nil (byt|e-code "|
|00001870| c4 20 88 c5 09 0a 5c 22 | 18 08 86 10 00 c6 c7 09 |. ....\"|........|
|00001880| 5c 22 88 c8 08 38 1b 0b | 3b 83 2a 00 c9 ca 0b 5c |\"...8..|;.*....\|
|00001890| 22 85 27 00 0b cb cc 4f | 89 13 82 2f 00 cd 09 21 |".'....O|.../...!|
|000018a0| 89 13 88 cb 08 38 83 45 | 00 ce cf d0 cb 08 38 23 |.....8.E|......8#|
|000018b0| 88 d1 d2 0b 5c 22 82 58 | 00 ce cf d0 d3 09 d4 d5 |....\".X|........|
|000018c0| cd 09 21 50 21 45 23 88 | d1 d6 0b 5c 22 29 29 87 |..!P!E#.|...\")).|
|000018d0| 22 20 5b 75 6e 69 74 20 | 75 6e 61 6d 65 20 6d 61 |" [unit |uname ma|
|000018e0| 74 68 2d 75 6e 69 74 73 | 2d 74 61 62 6c 65 20 6d |th-units|-table m|
|000018f0| 73 67 20 6d 61 74 68 2d | 62 75 69 6c 64 2d 75 6e |sg math-|build-un|
|00001900| 69 74 73 2d 74 61 62 6c | 65 20 61 73 73 71 20 65 |its-tabl|e assq e|
|00001910| 72 72 6f 72 20 22 55 6e | 69 74 20 6e 61 6d 65 20 |rror "Un|it name |
|00001920| 5c 22 25 73 5c 22 20 6e | 6f 74 20 66 6f 75 6e 64 |\"%s\" n|ot found|
|00001930| 22 20 32 20 73 74 72 69 | 6e 67 2d 6d 61 74 63 68 |" 2 stri|ng-match|
|00001940| 20 22 5e 5c 5c 2a 22 20 | 31 20 6e 69 6c 20 73 79 | "^\\*" |1 nil sy|
|00001950| 6d 62 6f 6c 2d 6e 61 6d | 65 20 63 61 6c 63 2d 65 |mbol-nam|e calc-e|
|00001960| 6e 74 65 72 2d 72 65 73 | 75 6c 74 20 30 20 22 75 |nter-res|ult 0 "u|
|00001970| 67 64 66 22 20 6d 65 73 | 73 61 67 65 20 22 44 65 |gdf" mes|sage "De|
|00001980| 72 69 76 65 64 20 75 6e | 69 74 3a 20 25 73 22 20 |rived un|it: %s" |
|00001990| 76 61 72 20 69 6e 74 65 | 72 6e 20 22 76 61 72 2d |var inte|rn "var-|
|000019a0| 22 20 22 42 61 73 65 20 | 75 6e 69 74 3a 20 25 73 |" "Base |unit: %s|
|000019b0| 22 5d 20 31 36 29 29 5d | 20 32 29 29 0a 0a 28 64 |"] 16))]| 2))..(d|
|000019c0| 65 66 75 6e 20 63 61 6c | 63 2d 70 65 72 6d 61 6e |efun cal|c-perman|
|000019d0| 65 6e 74 2d 75 6e 69 74 | 73 20 6e 69 6c 20 28 69 |ent-unit|s nil (i|
|000019e0| 6e 74 65 72 61 63 74 69 | 76 65 29 20 28 62 79 74 |nteracti|ve) (byt|
|000019f0| 65 2d 63 6f 64 65 20 22 | c0 88 c1 c2 21 87 22 20 |e-code "|....!." |
|00001a00| 5b 6e 69 6c 20 63 61 6c | 63 2d 64 6f 20 28 6c 61 |[nil cal|c-do (la|
|00001a10| 6d 62 64 61 20 6e 69 6c | 20 28 62 79 74 65 2d 63 |mbda nil| (byte-c|
|00001a20| 6f 64 65 20 22 c2 18 c6 | c7 09 21 21 71 88 65 62 |ode "...|..!!q.eb|
|00001a30| 88 c8 c9 c2 c3 23 85 20 | 00 ca 20 88 60 89 10 88 |.....#. |.. .`...|
|00001a40| c8 cb c2 c3 23 83 31 00 | ca 20 88 cc cd 21 88 ce |....#.1.|. ...!..|
|00001a50| 08 60 5c 22 82 3a 00 64 | 62 88 cf 63 88 d0 d1 21 |.`\".:.d|b..c...!|
|00001a60| 88 d2 d3 d4 20 d5 23 88 | 0c 83 96 00 d6 63 88 0c |.... .#.|.....c..|
|00001a70| 1d 0d 85 8f 00 d2 d7 d8 | 0d 40 40 21 d9 cd 0d 40 |........|.@@!...@|
|00001a80| 38 83 7b 00 cd 0d 40 38 | 3b 83 6f 00 da cd 0d 40 |8.{...@8|;.o....@|
|00001a90| 38 21 82 78 00 da db cd | 0d 40 38 dc 5c 22 21 82 |8!.x....|.@8.\"!.|
|00001aa0| 7c 00 dd d9 da de 0d 40 | 38 21 df 26 07 88 0d 41 ||......@|8!.&...A|
|00001ab0| 89 15 88 82 4b 00 29 88 | e0 63 82 98 00 e1 63 88 |....K.).|.c....c.|
|00001ac0| e2 63 88 e3 20 29 87 22 | 20 5b 70 6f 73 20 63 61 |.c.. )."| [pos ca|
|00001ad0| 6c 63 2d 73 65 74 74 69 | 6e 67 73 2d 66 69 6c 65 |lc-setti|ngs-file|
|00001ae0| 20 6e 69 6c 20 74 20 6d | 61 74 68 2d 61 64 64 69 | nil t m|ath-addi|
|00001af0| 74 69 6f 6e 61 6c 2d 75 | 6e 69 74 73 20 6c 69 73 |tional-u|nits lis|
|00001b00| 74 20 66 69 6e 64 2d 66 | 69 6c 65 2d 6e 6f 73 65 |t find-f|ile-nose|
|00001b10| 6c 65 63 74 20 73 75 62 | 73 74 69 74 75 74 65 2d |lect sub|stitute-|
|00001b20| 69 6e 2d 66 69 6c 65 2d | 6e 61 6d 65 20 73 65 61 |in-file-|name sea|
|00001b30| 72 63 68 2d 66 6f 72 77 | 61 72 64 20 22 3b 3b 3b |rch-forw|ard ";;;|
|00001b40| 20 43 75 73 74 6f 6d 20 | 75 6e 69 74 73 20 73 74 | Custom |units st|
|00001b50| 6f 72 65 64 20 62 79 20 | 43 61 6c 63 22 20 62 65 |ored by |Calc" be|
|00001b60| 67 69 6e 6e 69 6e 67 2d | 6f 66 2d 6c 69 6e 65 20 |ginning-|of-line |
|00001b70| 22 0a 3b 3b 3b 20 45 6e | 64 20 6f 66 20 63 75 73 |".;;; En|d of cus|
|00001b80| 74 6f 6d 20 75 6e 69 74 | 73 22 20 66 6f 72 77 61 |tom unit|s" forwa|
|00001b90| 72 64 2d 6c 69 6e 65 20 | 31 20 64 65 6c 65 74 65 |rd-line |1 delete|
|00001ba0| 2d 72 65 67 69 6f 6e 20 | 22 0a 0a 22 20 66 6f 72 |-region |".." for|
|00001bb0| 77 61 72 64 2d 63 68 61 | 72 20 2d 31 20 69 6e 73 |ward-cha|r -1 ins|
|00001bc0| 65 72 74 20 22 3b 3b 3b | 20 43 75 73 74 6f 6d 20 |ert ";;;| Custom |
|00001bd0| 75 6e 69 74 73 20 73 74 | 6f 72 65 64 20 62 79 20 |units st|ored by |
|00001be0| 43 61 6c 63 20 6f 6e 20 | 22 20 63 75 72 72 65 6e |Calc on |" curren|
|00001bf0| 74 2d 74 69 6d 65 2d 73 | 74 72 69 6e 67 20 22 0a |t-time-s|tring ".|
|00001c00| 22 20 22 28 73 65 74 71 | 20 6d 61 74 68 2d 61 64 |" "(setq| math-ad|
|00001c10| 64 69 74 69 6f 6e 61 6c | 2d 75 6e 69 74 73 20 27 |ditional|-units '|
|00001c20| 28 0a 22 20 22 20 20 28 | 22 20 73 79 6d 62 6f 6c |(." " (|" symbol|
|00001c30| 2d 6e 61 6d 65 20 22 20 | 22 20 70 72 69 6e 31 2d |-name " |" prin1-|
|00001c40| 74 6f 2d 73 74 72 69 6e | 67 20 6d 61 74 68 2d 66 |to-strin|g math-f|
|00001c50| 6f 72 6d 61 74 2d 66 6c | 61 74 2d 65 78 70 72 20 |ormat-fl|at-expr |
|00001c60| 30 20 22 6e 69 6c 22 20 | 32 20 22 29 0a 22 20 22 |0 "nil" |2 ")." "|
|00001c70| 29 29 0a 22 20 22 3b 3b | 3b 20 28 6e 6f 20 63 75 |))." ";;|; (no cu|
|00001c80| 73 74 6f 6d 20 75 6e 69 | 74 73 20 64 65 66 69 6e |stom uni|ts defin|
|00001c90| 65 64 29 0a 22 20 22 3b | 3b 3b 20 45 6e 64 20 6f |ed)." ";|;; End o|
|00001ca0| 66 20 63 75 73 74 6f 6d | 20 75 6e 69 74 73 0a 22 |f custom| units."|
|00001cb0| 20 73 61 76 65 2d 62 75 | 66 66 65 72 5d 20 32 35 | save-bu|ffer] 25|
|00001cc0| 29 29 5d 20 32 29 29 0a | 0a 28 64 65 66 76 61 72 |))] 2)).|.(defvar|
|00001cd0| 20 6d 61 74 68 2d 73 74 | 61 6e 64 61 72 64 2d 75 | math-st|andard-u|
|00001ce0| 6e 69 74 73 20 28 71 75 | 6f 74 65 20 28 28 6d 20 |nits (qu|ote ((m |
|00001cf0| 6e 69 6c 20 22 2a 4d 65 | 74 65 72 22 29 20 28 69 |nil "*Me|ter") (i|
|00001d00| 6e 20 22 32 2e 35 34 20 | 63 6d 22 20 22 49 6e 63 |n "2.54 |cm" "Inc|
|00001d10| 68 22 29 20 28 66 74 20 | 22 31 32 20 69 6e 22 20 |h") (ft |"12 in" |
|00001d20| 22 46 6f 6f 74 22 29 20 | 28 79 64 20 22 33 20 66 |"Foot") |(yd "3 f|
|00001d30| 74 22 20 22 59 61 72 64 | 22 29 20 28 6d 69 20 22 |t" "Yard|") (mi "|
|00001d40| 35 32 38 30 20 66 74 22 | 20 22 4d 69 6c 65 22 29 |5280 ft"| "Mile")|
|00001d50| 20 28 61 75 20 22 31 2e | 34 39 35 39 37 39 65 31 | (au "1.|495979e1|
|00001d60| 31 20 6d 22 20 22 41 73 | 74 72 6f 6e 6f 6d 69 63 |1 m" "As|tronomic|
|00001d70| 61 6c 20 55 6e 69 74 22 | 29 20 28 6c 79 72 20 22 |al Unit"|) (lyr "|
|00001d80| 39 34 36 30 35 33 36 32 | 30 37 30 36 38 30 31 36 |94605362|07068016|
|00001d90| 20 6d 22 20 22 4c 69 67 | 68 74 20 59 65 61 72 22 | m" "Lig|ht Year"|
|00001da0| 29 20 28 70 63 20 22 32 | 30 36 32 36 34 2e 38 30 |) (pc "2|06264.80|
|00001db0| 36 32 35 20 61 75 22 20 | 22 50 61 72 73 65 63 22 |625 au" |"Parsec"|
|00001dc0| 29 20 28 6e 6d 69 20 22 | 31 38 35 32 20 6d 22 20 |) (nmi "|1852 m" |
|00001dd0| 22 4e 61 75 74 69 63 61 | 6c 20 4d 69 6c 65 22 29 |"Nautica|l Mile")|
|00001de0| 20 28 66 61 74 68 20 22 | 36 20 66 74 22 20 22 46 | (fath "|6 ft" "F|
|00001df0| 61 74 68 6f 6d 22 29 20 | 28 75 20 22 31 20 75 6d |athom") |(u "1 um|
|00001e00| 22 20 22 4d 69 63 72 6f | 6e 22 29 20 28 6d 69 6c |" "Micro|n") (mil|
|00001e10| 20 22 69 6e 2f 31 30 30 | 30 22 20 22 4d 69 6c 22 | "in/100|0" "Mil"|
|00001e20| 29 20 28 70 6f 69 6e 74 | 20 22 69 6e 2f 37 32 22 |) (point| "in/72"|
|00001e30| 20 22 50 6f 69 6e 74 20 | 28 31 2f 37 32 20 69 6e | "Point |(1/72 in|
|00001e40| 63 68 29 22 29 20 28 74 | 70 74 20 22 69 6e 2f 37 |ch)") (t|pt "in/7|
|00001e50| 32 2e 32 37 22 20 22 50 | 6f 69 6e 74 20 28 54 65 |2.27" "P|oint (Te|
|00001e60| 58 20 63 6f 6e 76 65 6e | 74 69 6f 6e 73 29 22 29 |X conven|tions)")|
|00001e70| 20 28 41 6e 67 20 22 31 | 65 2d 31 30 20 6d 22 20 | (Ang "1|e-10 m" |
|00001e80| 22 41 6e 67 73 74 72 6f | 6d 22 29 20 28 6d 66 69 |"Angstro|m") (mfi|
|00001e90| 20 22 6d 69 2b 66 74 2b | 69 6e 22 20 22 4d 69 6c | "mi+ft+|in" "Mil|
|00001ea0| 65 73 20 2b 20 66 65 65 | 74 20 2b 20 69 6e 63 68 |es + fee|t + inch|
|00001eb0| 65 73 22 29 20 28 68 65 | 63 74 20 22 31 30 30 30 |es") (he|ct "1000|
|00001ec0| 30 20 6d 5e 32 22 20 22 | 2a 48 65 63 74 61 72 65 |0 m^2" "|*Hectare|
|00001ed0| 22 29 20 28 61 63 72 65 | 20 22 6d 69 5e 32 20 2f |") (acre| "mi^2 /|
|00001ee0| 20 36 34 30 22 20 22 41 | 63 72 65 22 29 20 28 62 | 640" "A|cre") (b|
|00001ef0| 20 22 31 65 2d 32 38 20 | 6d 5e 32 22 20 22 42 61 | "1e-28 |m^2" "Ba|
|00001f00| 72 6e 22 29 20 28 6c 20 | 22 31 65 2d 33 20 6d 5e |rn") (l |"1e-3 m^|
|00001f10| 33 22 20 22 2a 4c 69 74 | 65 72 22 29 20 28 4c 20 |3" "*Lit|er") (L |
|00001f20| 22 31 65 2d 33 20 6d 5e | 33 22 20 22 4c 69 74 65 |"1e-3 m^|3" "Lite|
|00001f30| 72 22 29 20 28 67 61 6c | 20 22 34 20 71 74 22 20 |r") (gal| "4 qt" |
|00001f40| 22 55 53 20 47 61 6c 6c | 6f 6e 22 29 20 28 71 74 |"US Gall|on") (qt|
|00001f50| 20 22 32 20 70 74 22 20 | 22 51 75 61 72 74 22 29 | "2 pt" |"Quart")|
|00001f60| 20 28 70 74 20 22 32 20 | 63 75 70 22 20 22 50 69 | (pt "2 |cup" "Pi|
|00001f70| 6e 74 22 29 20 28 63 75 | 70 20 22 38 20 6f 7a 66 |nt") (cu|p "8 ozf|
|00001f80| 6c 22 20 22 43 75 70 22 | 29 20 28 6f 7a 66 6c 20 |l" "Cup"|) (ozfl |
|00001f90| 22 32 20 74 62 73 70 22 | 20 22 46 6c 75 69 64 20 |"2 tbsp"| "Fluid |
|00001fa0| 4f 75 6e 63 65 22 29 20 | 28 66 6c 6f 7a 20 22 32 |Ounce") |(floz "2|
|00001fb0| 20 74 62 73 70 22 20 22 | 46 6c 75 69 64 20 4f 75 | tbsp" "|Fluid Ou|
|00001fc0| 6e 63 65 22 29 20 28 74 | 62 73 70 20 22 33 20 74 |nce") (t|bsp "3 t|
|00001fd0| 73 70 22 20 22 54 61 62 | 6c 65 73 70 6f 6f 6e 22 |sp" "Tab|lespoon"|
|00001fe0| 29 20 28 74 73 70 20 22 | 34 2e 39 32 38 39 32 31 |) (tsp "|4.928921|
|00001ff0| 35 39 33 37 35 20 6d 6c | 22 20 22 54 65 61 73 70 |59375 ml|" "Teasp|
|00002000| 6f 6f 6e 22 29 20 28 76 | 6f 6c 20 22 74 73 70 2b |oon") (v|ol "tsp+|
|00002010| 74 62 73 70 2b 6f 7a 66 | 6c 2b 63 75 70 2b 70 74 |tbsp+ozf|l+cup+pt|
|00002020| 2b 71 74 2b 67 61 6c 22 | 20 22 47 61 6c 6c 6f 6e |+qt+gal"| "Gallon|
|00002030| 73 20 2b 20 2e 2e 2e 20 | 2b 20 74 65 61 73 70 6f |s + ... |+ teaspo|
|00002040| 6f 6e 73 22 29 20 28 67 | 61 6c 43 20 22 34 2e 35 |ons") (g|alC "4.5|
|00002050| 34 36 30 39 20 6c 22 20 | 22 43 61 6e 61 64 69 61 |4609 l" |"Canadia|
|00002060| 6e 20 47 61 6c 6c 6f 6e | 22 29 20 28 67 61 6c 55 |n Gallon|") (galU|
|00002070| 4b 20 22 34 2e 35 34 36 | 30 39 32 20 6c 22 20 22 |K "4.546|092 l" "|
|00002080| 55 4b 20 47 61 6c 6c 6f | 6e 22 29 20 28 73 20 6e |UK Gallo|n") (s n|
|00002090| 69 6c 20 22 2a 53 65 63 | 6f 6e 64 22 29 20 28 73 |il "*Sec|ond") (s|
|000020a0| 65 63 20 22 73 22 20 22 | 53 65 63 6f 6e 64 22 29 |ec "s" "|Second")|
|000020b0| 20 28 6d 69 6e 20 22 36 | 30 20 73 22 20 22 4d 69 | (min "6|0 s" "Mi|
|000020c0| 6e 75 74 65 22 29 20 28 | 68 72 20 22 36 30 20 6d |nute") (|hr "60 m|
|000020d0| 69 6e 22 20 22 48 6f 75 | 72 22 29 20 28 64 61 79 |in" "Hou|r") (day|
|000020e0| 20 22 32 34 20 68 72 22 | 20 22 44 61 79 22 29 20 | "24 hr"| "Day") |
|000020f0| 28 77 6b 20 22 37 20 64 | 61 79 22 20 22 57 65 65 |(wk "7 d|ay" "Wee|
|00002100| 6b 22 29 20 28 68 6d 73 | 20 22 77 6b 2b 64 61 79 |k") (hms| "wk+day|
|00002110| 2b 68 72 2b 6d 69 6e 2b | 73 22 20 22 48 6f 75 72 |+hr+min+|s" "Hour|
|00002120| 73 2c 20 6d 69 6e 75 74 | 65 73 2c 20 73 65 63 6f |s, minut|es, seco|
|00002130| 6e 64 73 22 29 20 28 79 | 72 20 22 33 36 35 2e 32 |nds") (y|r "365.2|
|00002140| 35 20 64 61 79 22 20 22 | 59 65 61 72 22 29 20 28 |5 day" "|Year") (|
|00002150| 48 7a 20 22 31 2f 73 22 | 20 22 48 65 72 74 7a 22 |Hz "1/s"| "Hertz"|
|00002160| 29 20 28 6d 70 68 20 22 | 6d 69 2f 68 72 22 20 22 |) (mph "|mi/hr" "|
|00002170| 2a 4d 69 6c 65 73 20 70 | 65 72 20 68 6f 75 72 22 |*Miles p|er hour"|
|00002180| 29 20 28 6b 70 68 20 22 | 6b 6d 2f 68 72 22 20 22 |) (kph "|km/hr" "|
|00002190| 4b 69 6c 6f 6d 65 74 65 | 72 73 20 70 65 72 20 68 |Kilomete|rs per h|
|000021a0| 6f 75 72 22 29 20 28 6b | 6e 6f 74 20 22 6e 6d 69 |our") (k|not "nmi|
|000021b0| 2f 68 72 22 20 22 4b 6e | 6f 74 22 29 20 28 63 20 |/hr" "Kn|ot") (c |
|000021c0| 22 32 2e 39 39 37 39 32 | 34 35 38 65 38 20 6d 2f |"2.99792|458e8 m/|
|000021d0| 73 22 20 22 53 70 65 65 | 64 20 6f 66 20 6c 69 67 |s" "Spee|d of lig|
|000021e0| 68 74 22 29 20 28 67 61 | 20 22 39 2e 38 30 36 36 |ht") (ga| "9.8066|
|000021f0| 35 20 6d 2f 73 5e 32 22 | 20 22 2a 5c 22 67 5c 22 |5 m/s^2"| "*\"g\"|
|00002200| 20 61 63 63 65 6c 65 72 | 61 74 69 6f 6e 22 29 20 | acceler|ation") |
|00002210| 28 67 20 6e 69 6c 20 22 | 2a 47 72 61 6d 22 29 20 |(g nil "|*Gram") |
|00002220| 28 6c 62 20 22 31 36 20 | 6f 7a 22 20 22 50 6f 75 |(lb "16 |oz" "Pou|
|00002230| 6e 64 20 28 6d 61 73 73 | 29 22 29 20 28 6f 7a 20 |nd (mass|)") (oz |
|00002240| 22 32 38 2e 33 34 39 35 | 32 33 31 32 35 20 67 22 |"28.3495|23125 g"|
|00002250| 20 22 4f 75 6e 63 65 20 | 28 6d 61 73 73 29 22 29 | "Ounce |(mass)")|
|00002260| 20 28 74 6f 6e 20 22 32 | 30 30 30 20 6c 62 22 20 | (ton "2|000 lb" |
|00002270| 22 54 6f 6e 22 29 20 28 | 74 70 6f 20 22 74 6f 6e |"Ton") (|tpo "ton|
|00002280| 2b 6c 62 2b 6f 7a 22 20 | 22 54 6f 6e 73 20 2b 20 |+lb+oz" |"Tons + |
|00002290| 70 6f 75 6e 64 73 20 2b | 20 6f 75 6e 63 65 73 20 |pounds +| ounces |
|000022a0| 28 6d 61 73 73 29 22 29 | 20 28 74 20 22 31 30 30 |(mass)")| (t "100|
|000022b0| 30 20 6b 67 22 20 22 4d | 65 74 72 69 63 20 74 6f |0 kg" "M|etric to|
|000022c0| 6e 22 29 20 28 74 6f 6e | 55 4b 20 22 31 30 31 36 |n") (ton|UK "1016|
|000022d0| 2e 30 34 36 39 30 38 38 | 20 6b 67 22 20 22 55 4b |.0469088| kg" "UK|
|000022e0| 20 74 6f 6e 22 29 20 28 | 6c 62 74 20 22 31 32 20 | ton") (|lbt "12 |
|000022f0| 6f 7a 74 22 20 22 54 72 | 6f 79 20 70 6f 75 6e 64 |ozt" "Tr|oy pound|
|00002300| 22 29 20 28 6f 7a 74 20 | 22 33 31 2e 31 30 33 34 |") (ozt |"31.1034|
|00002310| 37 35 20 67 22 20 22 54 | 72 6f 79 20 6f 75 6e 63 |75 g" "T|roy ounc|
|00002320| 65 22 29 20 28 63 74 20 | 22 2e 32 20 67 22 20 22 |e") (ct |".2 g" "|
|00002330| 43 61 72 61 74 22 29 20 | 28 61 6d 75 20 22 31 2e |Carat") |(amu "1.|
|00002340| 36 36 30 35 34 30 32 65 | 2d 32 34 20 67 22 20 22 |6605402e|-24 g" "|
|00002350| 55 6e 69 66 69 65 64 20 | 61 74 6f 6d 69 63 20 6d |Unified |atomic m|
|00002360| 61 73 73 22 29 20 28 4e | 20 22 6d 20 6b 67 2f 73 |ass") (N| "m kg/s|
|00002370| 5e 32 22 20 22 2a 4e 65 | 77 74 6f 6e 22 29 20 28 |^2" "*Ne|wton") (|
|00002380| 64 79 6e 20 22 31 65 2d | 35 20 4e 22 20 22 44 79 |dyn "1e-|5 N" "Dy|
|00002390| 6e 65 22 29 20 28 67 66 | 20 22 67 61 20 67 22 20 |ne") (gf| "ga g" |
|000023a0| 22 47 72 61 6d 20 28 66 | 6f 72 63 65 29 22 29 20 |"Gram (f|orce)") |
|000023b0| 28 6c 62 66 20 22 34 2e | 34 34 38 32 32 31 36 31 |(lbf "4.|44822161|
|000023c0| 35 32 36 20 4e 22 20 22 | 50 6f 75 6e 64 20 28 66 |526 N" "|Pound (f|
|000023d0| 6f 72 63 65 29 22 29 20 | 28 6b 69 70 20 22 31 30 |orce)") |(kip "10|
|000023e0| 30 30 20 6c 62 66 22 20 | 22 4b 69 6c 6f 70 6f 75 |00 lbf" |"Kilopou|
|000023f0| 6e 64 20 28 66 6f 72 63 | 65 29 22 29 20 28 70 64 |nd (forc|e)") (pd|
|00002400| 6c 20 22 30 2e 31 33 38 | 32 35 35 20 4e 22 20 22 |l "0.138|255 N" "|
|00002410| 50 6f 75 6e 64 61 6c 22 | 29 20 28 4a 20 22 4e 20 |Poundal"|) (J "N |
|00002420| 6d 22 20 22 2a 4a 6f 75 | 6c 65 22 29 20 28 65 72 |m" "*Jou|le") (er|
|00002430| 67 20 22 31 65 2d 37 20 | 4a 22 20 22 45 72 67 22 |g "1e-7 |J" "Erg"|
|00002440| 29 20 28 63 61 6c 20 22 | 34 2e 31 38 36 38 20 4a |) (cal "|4.1868 J|
|00002450| 22 20 22 49 6e 74 65 72 | 6e 61 74 69 6f 6e 61 6c |" "Inter|national|
|00002460| 20 54 61 62 6c 65 20 43 | 61 6c 6f 72 69 65 22 29 | Table C|alorie")|
|00002470| 20 28 42 74 75 20 22 31 | 30 35 35 2e 30 35 35 38 | (Btu "1|055.0558|
|00002480| 35 32 36 32 20 4a 22 20 | 22 49 6e 74 65 72 6e 61 |5262 J" |"Interna|
|00002490| 74 69 6f 6e 61 6c 20 54 | 61 62 6c 65 20 42 74 75 |tional T|able Btu|
|000024a0| 22 29 20 28 65 56 20 22 | 65 63 68 20 56 22 20 22 |") (eV "|ech V" "|
|000024b0| 45 6c 65 63 74 72 6f 6e | 20 76 6f 6c 74 22 29 20 |Electron| volt") |
|000024c0| 28 65 76 20 22 65 56 22 | 20 22 45 6c 65 63 74 72 |(ev "eV"| "Electr|
|000024d0| 6f 6e 20 76 6f 6c 74 22 | 29 20 28 74 68 65 72 6d |on volt"|) (therm|
|000024e0| 20 22 31 30 35 35 30 36 | 30 30 30 20 4a 22 20 22 | "105506|000 J" "|
|000024f0| 45 45 43 20 74 68 65 72 | 6d 22 29 20 28 69 6e 76 |EEC ther|m") (inv|
|00002500| 63 6d 20 22 68 20 63 2f | 63 6d 22 20 22 45 6e 65 |cm "h c/|cm" "Ene|
|00002510| 72 67 79 20 69 6e 20 69 | 6e 76 65 72 73 65 20 63 |rgy in i|nverse c|
|00002520| 65 6e 74 69 6d 65 74 65 | 72 73 22 29 20 28 4b 61 |entimete|rs") (Ka|
|00002530| 79 73 65 72 20 22 69 6e | 76 63 6d 22 20 22 4b 61 |yser "in|vcm" "Ka|
|00002540| 79 73 65 72 20 28 69 6e | 76 65 72 73 65 20 63 65 |yser (in|verse ce|
|00002550| 6e 74 69 6d 65 74 65 72 | 20 65 6e 65 72 67 79 29 |ntimeter| energy)|
|00002560| 22 29 20 28 6d 65 6e 20 | 22 31 30 30 2f 69 6e 76 |") (men |"100/inv|
|00002570| 63 6d 22 20 22 49 6e 76 | 65 72 73 65 20 65 6e 65 |cm" "Inv|erse ene|
|00002580| 72 67 79 20 69 6e 20 6d | 65 74 65 72 73 22 29 20 |rgy in m|eters") |
|00002590| 28 48 7a 65 6e 20 22 68 | 20 48 7a 22 20 22 45 6e |(Hzen "h| Hz" "En|
|000025a0| 65 72 67 79 20 69 6e 20 | 48 65 72 74 7a 22 29 20 |ergy in |Hertz") |
|000025b0| 28 4b 65 6e 20 22 6b 20 | 4b 22 20 22 45 6e 65 72 |(Ken "k |K" "Ener|
|000025c0| 67 79 20 69 6e 20 4b 65 | 6c 76 69 6e 73 22 29 20 |gy in Ke|lvins") |
|000025d0| 28 57 20 22 4a 2f 73 22 | 20 22 2a 57 61 74 74 22 |(W "J/s"| "*Watt"|
|000025e0| 29 20 28 68 70 20 22 37 | 34 35 2e 37 20 57 22 20 |) (hp "7|45.7 W" |
|000025f0| 22 48 6f 72 73 65 70 6f | 77 65 72 22 29 20 28 4b |"Horsepo|wer") (K|
|00002600| 20 6e 69 6c 20 22 2a 44 | 65 67 72 65 65 20 4b 65 | nil "*D|egree Ke|
|00002610| 6c 76 69 6e 22 20 4b 29 | 20 28 64 4b 20 22 4b 22 |lvin" K)| (dK "K"|
|00002620| 20 22 44 65 67 72 65 65 | 20 4b 65 6c 76 69 6e 22 | "Degree| Kelvin"|
|00002630| 20 4b 29 20 28 64 65 67 | 4b 20 22 4b 22 20 22 44 | K) (deg|K "K" "D|
|00002640| 65 67 72 65 65 20 4b 65 | 6c 76 69 6e 22 20 4b 29 |egree Ke|lvin" K)|
|00002650| 20 28 64 43 20 22 4b 22 | 20 22 44 65 67 72 65 65 | (dC "K"| "Degree|
|00002660| 20 43 65 6c 73 69 75 73 | 22 20 43 29 20 28 64 65 | Celsius|" C) (de|
|00002670| 67 43 20 22 4b 22 20 22 | 44 65 67 72 65 65 20 43 |gC "K" "|Degree C|
|00002680| 65 6c 73 69 75 73 22 20 | 43 29 20 28 64 46 20 22 |elsius" |C) (dF "|
|00002690| 28 35 2f 39 29 20 4b 22 | 20 22 44 65 67 72 65 65 |(5/9) K"| "Degree|
|000026a0| 20 46 61 68 72 65 6e 68 | 65 69 74 22 20 46 29 20 | Fahrenh|eit" F) |
|000026b0| 28 64 65 67 46 20 22 28 | 35 2f 39 29 20 4b 22 20 |(degF "(|5/9) K" |
|000026c0| 22 44 65 67 72 65 65 20 | 46 61 68 72 65 6e 68 65 |"Degree |Fahrenhe|
|000026d0| 69 74 22 20 46 29 20 28 | 50 61 20 22 4e 2f 6d 5e |it" F) (|Pa "N/m^|
|000026e0| 32 22 20 22 2a 50 61 73 | 63 61 6c 22 29 20 28 62 |2" "*Pas|cal") (b|
|000026f0| 61 72 20 22 31 65 35 20 | 50 61 22 20 22 42 61 72 |ar "1e5 |Pa" "Bar|
|00002700| 22 29 20 28 61 74 6d 20 | 22 31 30 31 33 32 35 20 |") (atm |"101325 |
|00002710| 50 61 22 20 22 53 74 61 | 6e 64 61 72 64 20 61 74 |Pa" "Sta|ndard at|
|00002720| 6d 6f 73 70 68 65 72 65 | 22 29 20 28 74 6f 72 72 |mosphere|") (torr|
|00002730| 20 22 61 74 6d 2f 37 36 | 30 22 20 22 54 6f 72 72 | "atm/76|0" "Torr|
|00002740| 22 29 20 28 6d 48 67 20 | 22 31 30 30 30 20 74 6f |") (mHg |"1000 to|
|00002750| 72 72 22 20 22 4d 65 74 | 65 72 20 6f 66 20 6d 65 |rr" "Met|er of me|
|00002760| 72 63 75 72 79 22 29 20 | 28 69 6e 48 67 20 22 32 |rcury") |(inHg "2|
|00002770| 35 2e 34 20 6d 6d 48 67 | 22 20 22 49 6e 63 68 20 |5.4 mmHg|" "Inch |
|00002780| 6f 66 20 6d 65 72 63 75 | 72 79 22 29 20 28 69 6e |of mercu|ry") (in|
|00002790| 48 32 4f 20 22 32 34 38 | 2e 38 34 20 50 61 22 20 |H2O "248|.84 Pa" |
|000027a0| 22 49 6e 63 68 20 6f 66 | 20 77 61 74 65 72 22 29 |"Inch of| water")|
|000027b0| 20 28 70 73 69 20 22 36 | 38 39 34 2e 37 35 37 32 | (psi "6|894.7572|
|000027c0| 39 33 31 37 20 50 61 22 | 20 22 50 6f 75 6e 64 20 |9317 Pa"| "Pound |
|000027d0| 70 65 72 20 73 71 75 61 | 72 65 20 69 6e 63 68 22 |per squa|re inch"|
|000027e0| 29 20 28 50 20 22 30 2e | 31 20 50 61 20 73 22 20 |) (P "0.|1 Pa s" |
|000027f0| 22 2a 50 6f 69 73 65 22 | 29 20 28 53 74 20 22 31 |"*Poise"|) (St "1|
|00002800| 65 2d 34 20 6d 5e 32 2f | 73 22 20 22 53 74 6f 6b |e-4 m^2/|s" "Stok|
|00002810| 65 73 22 29 20 28 41 20 | 6e 69 6c 20 22 2a 41 6d |es") (A |nil "*Am|
|00002820| 70 65 72 65 22 29 20 28 | 43 20 22 41 20 73 22 20 |pere") (|C "A s" |
|00002830| 22 43 6f 75 6c 6f 6d 62 | 22 29 20 28 46 64 79 20 |"Coulomb|") (Fdy |
|00002840| 22 65 63 68 20 4e 61 76 | 22 20 22 46 61 72 61 64 |"ech Nav|" "Farad|
|00002850| 61 79 22 29 20 28 65 20 | 22 31 2e 36 30 32 31 37 |ay") (e |"1.60217|
|00002860| 37 33 33 65 2d 31 39 20 | 43 22 20 22 45 6c 65 6d |733e-19 |C" "Elem|
|00002870| 65 6e 74 61 72 79 20 63 | 68 61 72 67 65 22 29 20 |entary c|harge") |
|00002880| 28 65 63 68 20 22 31 2e | 36 30 32 31 37 37 33 33 |(ech "1.|60217733|
|00002890| 65 2d 31 39 20 43 22 20 | 22 45 6c 65 6d 65 6e 74 |e-19 C" |"Element|
|000028a0| 61 72 79 20 63 68 61 72 | 67 65 22 29 20 28 56 20 |ary char|ge") (V |
|000028b0| 22 57 2f 41 22 20 22 56 | 6f 6c 74 22 29 20 28 6f |"W/A" "V|olt") (o|
|000028c0| 68 6d 20 22 56 2f 41 22 | 20 22 4f 68 6d 22 29 20 |hm "V/A"| "Ohm") |
|000028d0| 28 6d 68 6f 20 22 41 2f | 56 22 20 22 4d 68 6f 22 |(mho "A/|V" "Mho"|
|000028e0| 29 20 28 53 20 22 41 2f | 56 22 20 22 53 69 65 6d |) (S "A/|V" "Siem|
|000028f0| 65 6e 73 22 29 20 28 46 | 20 22 43 2f 56 22 20 22 |ens") (F| "C/V" "|
|00002900| 46 61 72 61 64 22 29 20 | 28 48 20 22 57 62 2f 41 |Farad") |(H "Wb/A|
|00002910| 22 20 22 48 65 6e 72 79 | 22 29 20 28 54 20 22 57 |" "Henry|") (T "W|
|00002920| 62 2f 6d 5e 32 22 20 22 | 54 65 73 6c 61 22 29 20 |b/m^2" "|Tesla") |
|00002930| 28 47 20 22 31 65 2d 34 | 20 54 22 20 22 47 61 75 |(G "1e-4| T" "Gau|
|00002940| 73 73 22 29 20 28 57 62 | 20 22 56 20 73 22 20 22 |ss") (Wb| "V s" "|
|00002950| 57 65 62 65 72 22 29 20 | 28 63 64 20 6e 69 6c 20 |Weber") |(cd nil |
|00002960| 22 2a 43 61 6e 64 65 6c | 61 22 29 20 28 73 62 20 |"*Candel|a") (sb |
|00002970| 22 31 65 34 20 63 64 2f | 6d 5e 32 22 20 22 53 74 |"1e4 cd/|m^2" "St|
|00002980| 69 6c 62 22 29 20 28 6c | 6d 20 22 63 64 20 73 72 |ilb") (l|m "cd sr|
|00002990| 22 20 22 4c 75 6d 65 6e | 22 29 20 28 6c 78 20 22 |" "Lumen|") (lx "|
|000029a0| 6c 6d 2f 6d 5e 32 22 20 | 22 4c 75 78 22 29 20 28 |lm/m^2" |"Lux") (|
|000029b0| 70 68 20 22 31 65 34 20 | 6c 78 22 20 22 50 68 6f |ph "1e4 |lx" "Pho|
|000029c0| 74 22 29 20 28 66 63 20 | 22 31 30 2e 37 36 20 6c |t") (fc |"10.76 l|
|000029d0| 78 22 20 22 46 6f 6f 74 | 63 61 6e 64 6c 65 22 29 |x" "Foot|candle")|
|000029e0| 20 28 6c 61 6d 20 22 31 | 65 34 20 6c 6d 2f 6d 5e | (lam "1|e4 lm/m^|
|000029f0| 32 22 20 22 4c 61 6d 62 | 65 72 74 22 29 20 28 66 |2" "Lamb|ert") (f|
|00002a00| 6c 61 6d 20 22 31 2e 30 | 37 36 33 39 31 30 34 65 |lam "1.0|7639104e|
|00002a10| 2d 33 20 6c 61 6d 22 20 | 22 46 6f 6f 74 6c 61 6d |-3 lam" |"Footlam|
|00002a20| 62 65 72 74 22 29 20 28 | 42 71 20 22 31 2f 73 22 |bert") (|Bq "1/s"|
|00002a30| 20 22 2a 42 65 63 71 75 | 65 72 65 6c 22 29 20 28 | "*Becqu|erel") (|
|00002a40| 43 69 20 22 33 2e 37 65 | 31 30 20 42 71 22 20 22 |Ci "3.7e|10 Bq" "|
|00002a50| 43 75 72 69 65 22 29 20 | 28 47 79 20 22 4a 2f 6b |Curie") |(Gy "J/k|
|00002a60| 67 22 20 22 47 72 61 79 | 22 29 20 28 53 76 20 22 |g" "Gray|") (Sv "|
|00002a70| 47 79 22 20 22 53 69 65 | 76 65 72 74 22 29 20 28 |Gy" "Sie|vert") (|
|00002a80| 52 20 22 32 2e 35 38 65 | 2d 34 20 43 2f 6b 67 22 |R "2.58e|-4 C/kg"|
|00002a90| 20 22 52 6f 65 6e 74 67 | 65 6e 22 29 20 28 72 64 | "Roentg|en") (rd|
|00002aa0| 20 22 2e 30 31 20 47 79 | 22 20 22 52 61 64 22 29 | ".01 Gy|" "Rad")|
|00002ab0| 20 28 72 65 6d 20 22 72 | 64 22 20 22 52 65 6d 22 | (rem "r|d" "Rem"|
|00002ac0| 29 20 28 6d 6f 6c 20 6e | 69 6c 20 22 2a 4d 6f 6c |) (mol n|il "*Mol|
|00002ad0| 65 22 29 20 28 72 61 64 | 20 6e 69 6c 20 22 2a 52 |e") (rad| nil "*R|
|00002ae0| 61 64 69 61 6e 22 29 20 | 28 63 69 72 63 20 22 32 |adian") |(circ "2|
|00002af0| 20 70 69 20 72 61 64 22 | 20 22 46 75 6c 6c 20 63 | pi rad"| "Full c|
|00002b00| 69 72 63 6c 65 22 29 20 | 28 72 65 76 20 22 63 69 |ircle") |(rev "ci|
|00002b10| 72 63 22 20 22 46 75 6c | 6c 20 72 65 76 6f 6c 75 |rc" "Ful|l revolu|
|00002b20| 74 69 6f 6e 22 29 20 28 | 64 65 67 20 22 63 69 72 |tion") (|deg "cir|
|00002b30| 63 2f 33 36 30 22 20 22 | 44 65 67 72 65 65 22 29 |c/360" "|Degree")|
|00002b40| 20 28 61 72 63 6d 69 6e | 20 22 64 65 67 2f 36 30 | (arcmin| "deg/60|
|00002b50| 22 20 22 41 72 63 20 6d | 69 6e 75 74 65 22 29 20 |" "Arc m|inute") |
|00002b60| 28 61 72 63 73 65 63 20 | 22 61 72 63 6d 69 6e 2f |(arcsec |"arcmin/|
|00002b70| 36 30 22 20 22 41 72 63 | 20 73 65 63 6f 6e 64 22 |60" "Arc| second"|
|00002b80| 29 20 28 67 72 61 64 20 | 22 63 69 72 63 2f 34 30 |) (grad |"circ/40|
|00002b90| 30 22 20 22 47 72 61 64 | 65 22 29 20 28 72 70 6d |0" "Grad|e") (rpm|
|00002ba0| 20 22 72 65 76 2f 6d 69 | 6e 22 20 22 52 65 76 6f | "rev/mi|n" "Revo|
|00002bb0| 6c 75 74 69 6f 6e 73 20 | 70 65 72 20 6d 69 6e 75 |lutions |per minu|
|00002bc0| 74 65 22 29 20 28 73 72 | 20 6e 69 6c 20 22 2a 53 |te") (sr| nil "*S|
|00002bd0| 74 65 72 61 64 69 61 6e | 22 29 20 28 68 20 22 36 |teradian|") (h "6|
|00002be0| 2e 36 32 36 30 37 35 35 | 65 2d 33 34 20 4a 20 73 |.6260755|e-34 J s|
|00002bf0| 22 20 22 2a 50 6c 61 6e | 63 6b 27 73 20 63 6f 6e |" "*Plan|ck's con|
|00002c00| 73 74 61 6e 74 22 29 20 | 28 68 62 61 72 20 22 68 |stant") |(hbar "h|
|00002c10| 20 2f 20 32 20 70 69 22 | 20 22 50 6c 61 6e 63 6b | / 2 pi"| "Planck|
|00002c20| 27 73 20 63 6f 6e 73 74 | 61 6e 74 22 29 20 28 6d |'s const|ant") (m|
|00002c30| 75 30 20 22 34 20 70 69 | 20 31 65 2d 37 20 48 2f |u0 "4 pi| 1e-7 H/|
|00002c40| 6d 22 20 22 50 65 72 6d | 65 61 62 69 6c 69 74 79 |m" "Perm|eability|
|00002c50| 20 6f 66 20 76 61 63 75 | 75 6d 22 29 20 28 47 72 | of vacu|um") (Gr|
|00002c60| 61 76 20 22 36 2e 36 37 | 32 35 39 65 2d 31 31 20 |av "6.67|259e-11 |
|00002c70| 4e 20 6d 5e 32 2f 6b 67 | 5e 32 22 20 22 47 72 61 |N m^2/kg|^2" "Gra|
|00002c80| 76 69 74 61 74 69 6f 6e | 61 6c 20 63 6f 6e 73 74 |vitation|al const|
|00002c90| 61 6e 74 22 29 20 28 4e | 61 76 20 22 36 2e 30 32 |ant") (N|av "6.02|
|00002ca0| 32 31 33 36 37 65 32 33 | 20 2f 20 6d 6f 6c 22 20 |21367e23| / mol" |
|00002cb0| 22 41 76 61 67 61 64 72 | 6f 27 73 20 63 6f 6e 73 |"Avagadr|o's cons|
|00002cc0| 74 61 6e 74 22 29 20 28 | 6d 65 20 22 30 2e 35 31 |tant") (|me "0.51|
|00002cd0| 30 39 39 39 30 36 20 4d | 65 56 2f 63 5e 32 22 20 |099906 M|eV/c^2" |
|00002ce0| 22 45 6c 65 63 74 72 6f | 6e 20 72 65 73 74 20 6d |"Electro|n rest m|
|00002cf0| 61 73 73 22 29 20 28 6d | 70 20 22 31 2e 30 30 37 |ass") (m|p "1.007|
|00002d00| 32 37 36 34 37 30 20 61 | 6d 75 22 20 22 50 72 6f |276470 a|mu" "Pro|
|00002d10| 74 6f 6e 20 72 65 73 74 | 20 6d 61 73 73 22 29 20 |ton rest| mass") |
|00002d20| 28 6d 6e 20 22 31 2e 30 | 30 38 36 36 34 39 30 34 |(mn "1.0|08664904|
|00002d30| 20 61 6d 75 22 20 22 4e | 65 75 74 72 6f 6e 20 72 | amu" "N|eutron r|
|00002d40| 65 73 74 20 6d 61 73 73 | 22 29 20 28 6d 75 20 22 |est mass|") (mu "|
|00002d50| 30 2e 31 31 33 34 32 38 | 39 31 33 20 61 6d 75 22 |0.113428|913 amu"|
|00002d60| 20 22 4d 75 6f 6e 20 72 | 65 73 74 20 6d 61 73 73 | "Muon r|est mass|
|00002d70| 22 29 20 28 52 79 64 20 | 22 31 2e 30 39 37 33 37 |") (Ryd |"1.09737|
|00002d80| 33 31 35 37 31 65 35 20 | 69 6e 76 63 6d 22 20 22 |31571e5 |invcm" "|
|00002d90| 52 79 64 62 65 72 67 27 | 73 20 63 6f 6e 73 74 61 |Rydberg'|s consta|
|00002da0| 6e 74 22 29 20 28 6b 20 | 22 31 2e 33 38 30 36 35 |nt") (k |"1.38065|
|00002db0| 31 33 65 2d 32 33 20 4a | 2f 4b 22 20 22 42 6f 6c |13e-23 J|/K" "Bol|
|00002dc0| 74 7a 6d 61 6e 6e 27 73 | 20 63 6f 6e 73 74 61 6e |tzmann's| constan|
|00002dd0| 74 22 29 20 28 66 73 63 | 20 22 31 20 2f 20 31 33 |t") (fsc| "1 / 13|
|00002de0| 37 2e 30 33 35 39 38 39 | 35 22 20 22 46 69 6e 65 |7.035989|5" "Fine|
|00002df0| 20 73 74 72 75 63 74 75 | 72 65 20 63 6f 6e 73 74 | structu|re const|
|00002e00| 61 6e 74 22 29 20 28 6d | 75 42 20 22 35 2e 37 38 |ant") (m|uB "5.78|
|00002e10| 38 33 38 32 36 33 65 2d | 31 31 20 4d 65 56 2f 54 |838263e-|11 MeV/T|
|00002e20| 22 20 22 42 6f 68 72 20 | 6d 61 67 6e 65 74 6f 6e |" "Bohr |magneton|
|00002e30| 22 29 20 28 6d 75 4e 20 | 22 33 2e 31 35 32 34 35 |") (muN |"3.15245|
|00002e40| 31 36 36 65 2d 31 34 20 | 4d 65 56 2f 54 22 20 22 |166e-14 |MeV/T" "|
|00002e50| 4e 75 63 6c 65 61 72 20 | 6d 61 67 6e 65 74 6f 6e |Nuclear |magneton|
|00002e60| 22 29 20 28 6d 75 65 20 | 22 31 2e 30 30 31 31 35 |") (mue |"1.00115|
|00002e70| 39 36 35 32 31 39 33 20 | 6d 75 42 22 20 22 45 6c |9652193 |muB" "El|
|00002e80| 65 63 74 72 6f 6e 20 6d | 61 67 6e 65 74 69 63 20 |ectron m|agnetic |
|00002e90| 6d 6f 6d 65 6e 74 22 29 | 20 28 6d 75 70 20 22 32 |moment")| (mup "2|
|00002ea0| 2e 37 39 32 38 34 37 33 | 38 36 20 6d 75 4e 22 20 |.7928473|86 muN" |
|00002eb0| 22 50 72 6f 74 6f 6e 20 | 6d 61 67 6e 65 74 69 63 |"Proton |magnetic|
|00002ec0| 20 6d 6f 6d 65 6e 74 22 | 29 20 28 52 30 20 22 4e | moment"|) (R0 "N|
|00002ed0| 61 76 20 6b 22 20 22 4d | 6f 6c 61 72 20 67 61 73 |av k" "M|olar gas|
|00002ee0| 20 63 6f 6e 73 74 61 6e | 74 22 29 20 28 56 30 20 | constan|t") (V0 |
|00002ef0| 22 32 32 2e 34 31 33 39 | 39 32 20 4c 2f 6d 6f 6c |"22.4139|92 L/mol|
|00002f00| 22 20 22 53 74 61 6e 64 | 61 72 64 20 76 6f 6c 75 |" "Stand|ard volu|
|00002f10| 6d 65 20 6f 66 20 69 64 | 65 61 6c 20 67 61 73 22 |me of id|eal gas"|
|00002f20| 29 29 29 29 0a 0a 28 64 | 65 66 76 61 72 20 6d 61 |))))..(d|efvar ma|
|00002f30| 74 68 2d 61 64 64 69 74 | 69 6f 6e 61 6c 2d 75 6e |th-addit|ional-un|
|00002f40| 69 74 73 20 6e 69 6c 20 | 22 5c 0a 2a 41 64 64 69 |its nil |"\.*Addi|
|00002f50| 74 69 6f 6e 61 6c 20 75 | 6e 69 74 73 20 74 61 62 |tional u|nits tab|
|00002f60| 6c 65 20 66 6f 72 20 75 | 73 65 72 2d 64 65 66 69 |le for u|ser-defi|
|00002f70| 6e 65 64 20 75 6e 69 74 | 73 2e 0a 4d 75 73 74 20 |ned unit|s..Must |
|00002f80| 62 65 20 66 6f 72 6d 61 | 74 74 65 64 20 6c 69 6b |be forma|tted lik|
|00002f90| 65 20 6d 61 74 68 2d 73 | 74 61 6e 64 61 72 64 2d |e math-s|tandard-|
|00002fa0| 75 6e 69 74 73 2e 0a 49 | 66 20 74 68 69 73 20 69 |units..I|f this i|
|00002fb0| 73 20 63 68 61 6e 67 65 | 64 2c 20 62 65 20 73 75 |s change|d, be su|
|00002fc0| 72 65 20 74 6f 20 73 65 | 74 20 6d 61 74 68 2d 75 |re to se|t math-u|
|00002fd0| 6e 69 74 73 2d 74 61 62 | 6c 65 20 74 6f 20 6e 69 |nits-tab|le to ni|
|00002fe0| 6c 20 74 6f 20 65 6e 73 | 75 72 65 0a 74 68 61 74 |l to ens|ure.that|
|00002ff0| 20 74 68 65 20 63 6f 6d | 62 69 6e 65 64 20 75 6e | the com|bined un|
|00003000| 69 74 73 20 74 61 62 6c | 65 20 77 69 6c 6c 20 62 |its tabl|e will b|
|00003010| 65 20 72 65 62 75 69 6c | 74 2e 22 29 0a 0a 28 64 |e rebuil|t.")..(d|
|00003020| 65 66 76 61 72 20 6d 61 | 74 68 2d 75 6e 69 74 2d |efvar ma|th-unit-|
|00003030| 70 72 65 66 69 78 65 73 | 20 28 71 75 6f 74 65 20 |prefixes| (quote |
|00003040| 28 28 36 39 20 28 66 6c | 6f 61 74 20 31 20 31 38 |((69 (fl|oat 1 18|
|00003050| 29 20 22 45 78 61 22 29 | 20 28 38 30 20 28 66 6c |) "Exa")| (80 (fl|
|00003060| 6f 61 74 20 31 20 31 35 | 29 20 22 50 65 74 61 22 |oat 1 15|) "Peta"|
|00003070| 29 20 28 38 34 20 28 66 | 6c 6f 61 74 20 31 20 31 |) (84 (f|loat 1 1|
|00003080| 32 29 20 22 54 65 72 61 | 22 29 20 28 37 31 20 28 |2) "Tera|") (71 (|
|00003090| 66 6c 6f 61 74 20 31 20 | 39 29 20 22 47 69 67 61 |float 1 |9) "Giga|
|000030a0| 22 29 20 28 37 37 20 28 | 66 6c 6f 61 74 20 31 20 |") (77 (|float 1 |
|000030b0| 36 29 20 22 4d 65 67 61 | 22 29 20 28 31 30 37 20 |6) "Mega|") (107 |
|000030c0| 28 66 6c 6f 61 74 20 31 | 20 33 29 20 22 4b 69 6c |(float 1| 3) "Kil|
|000030d0| 6f 22 29 20 28 37 35 20 | 28 66 6c 6f 61 74 20 31 |o") (75 |(float 1|
|000030e0| 20 33 29 20 22 4b 69 6c | 6f 22 29 20 28 31 30 34 | 3) "Kil|o") (104|
|000030f0| 20 28 66 6c 6f 61 74 20 | 31 20 32 29 20 22 48 65 | (float |1 2) "He|
|00003100| 63 74 6f 22 29 20 28 37 | 32 20 28 66 6c 6f 61 74 |cto") (7|2 (float|
|00003110| 20 31 20 32 29 20 22 48 | 65 63 74 6f 22 29 20 28 | 1 2) "H|ecto") (|
|00003120| 36 38 20 28 66 6c 6f 61 | 74 20 31 20 31 29 20 22 |68 (floa|t 1 1) "|
|00003130| 44 65 6b 61 22 29 20 28 | 30 20 28 66 6c 6f 61 74 |Deka") (|0 (float|
|00003140| 20 31 20 30 29 20 6e 69 | 6c 29 20 28 31 30 30 20 | 1 0) ni|l) (100 |
|00003150| 28 66 6c 6f 61 74 20 31 | 20 2d 31 29 20 22 44 65 |(float 1| -1) "De|
|00003160| 63 69 22 29 20 28 39 39 | 20 28 66 6c 6f 61 74 20 |ci") (99| (float |
|00003170| 31 20 2d 32 29 20 22 43 | 65 6e 74 69 22 29 20 28 |1 -2) "C|enti") (|
|00003180| 31 30 39 20 28 66 6c 6f | 61 74 20 31 20 2d 33 29 |109 (flo|at 1 -3)|
|00003190| 20 22 4d 69 6c 6c 69 22 | 29 20 28 31 31 37 20 28 | "Milli"|) (117 (|
|000031a0| 66 6c 6f 61 74 20 31 20 | 2d 36 29 20 22 4d 69 63 |float 1 |-6) "Mic|
|000031b0| 72 6f 22 29 20 28 31 31 | 30 20 28 66 6c 6f 61 74 |ro") (11|0 (float|
|000031c0| 20 31 20 2d 39 29 20 22 | 4e 61 6e 6f 22 29 20 28 | 1 -9) "|Nano") (|
|000031d0| 31 31 32 20 28 66 6c 6f | 61 74 20 31 20 2d 31 32 |112 (flo|at 1 -12|
|000031e0| 29 20 22 50 69 63 6f 22 | 29 20 28 31 30 32 20 28 |) "Pico"|) (102 (|
|000031f0| 66 6c 6f 61 74 20 31 20 | 2d 31 35 29 20 22 46 65 |float 1 |-15) "Fe|
|00003200| 6d 74 6f 22 29 20 28 39 | 37 20 28 66 6c 6f 61 74 |mto") (9|7 (float|
|00003210| 20 31 20 2d 31 38 29 20 | 22 41 74 74 6f 22 29 29 | 1 -18) |"Atto"))|
|00003220| 29 29 0a 0a 28 64 65 66 | 76 61 72 20 6d 61 74 68 |))..(def|var math|
|00003230| 2d 73 74 61 6e 64 61 72 | 64 2d 75 6e 69 74 73 2d |-standar|d-units-|
|00003240| 73 79 73 74 65 6d 73 20 | 28 71 75 6f 74 65 20 28 |systems |(quote (|
|00003250| 28 62 61 73 65 20 6e 69 | 6c 29 20 28 73 69 20 28 |(base ni|l) (si (|
|00003260| 28 67 20 28 71 75 6f 74 | 65 20 28 2a 20 28 76 61 |(g (quot|e (* (va|
|00003270| 72 20 6b 67 20 76 61 72 | 2d 6b 67 29 20 28 66 6c |r kg var|-kg) (fl|
|00003280| 6f 61 74 20 31 20 2d 33 | 29 29 29 29 29 29 20 28 |oat 1 -3|)))))) (|
|00003290| 6d 6b 73 20 28 28 67 20 | 28 71 75 6f 74 65 20 28 |mks ((g |(quote (|
|000032a0| 2a 20 28 76 61 72 20 6b | 67 20 76 61 72 2d 6b 67 |* (var k|g var-kg|
|000032b0| 29 20 28 66 6c 6f 61 74 | 20 31 20 2d 33 29 29 29 |) (float| 1 -3)))|
|000032c0| 29 29 29 20 28 63 67 73 | 20 28 28 6d 20 28 71 75 |))) (cgs| ((m (qu|
|000032d0| 6f 74 65 20 28 2a 20 28 | 76 61 72 20 63 6d 20 76 |ote (* (|var cm v|
|000032e0| 61 72 2d 63 6d 29 20 31 | 30 30 29 29 29 29 29 29 |ar-cm) 1|00))))))|
|000032f0| 29 29 0a 0a 28 64 65 66 | 76 61 72 20 6d 61 74 68 |))..(def|var math|
|00003300| 2d 75 6e 69 74 73 2d 74 | 61 62 6c 65 20 6e 69 6c |-units-t|able nil|
|00003310| 20 22 5c 0a 49 6e 74 65 | 72 6e 61 6c 20 75 6e 69 | "\.Inte|rnal uni|
|00003320| 74 73 20 74 61 62 6c 65 | 20 64 65 72 69 76 65 64 |ts table| derived|
|00003330| 20 66 72 6f 6d 20 6d 61 | 74 68 2d 64 65 66 69 6e | from ma|th-defin|
|00003340| 65 64 2d 75 6e 69 74 73 | 2e 0a 45 6e 74 72 69 65 |ed-units|..Entrie|
|00003350| 73 20 61 72 65 20 28 53 | 59 4d 42 4f 4c 20 45 58 |s are (S|YMBOL EX|
|00003360| 50 52 20 44 4f 43 2d 53 | 54 52 49 4e 47 20 54 45 |PR DOC-S|TRING TE|
|00003370| 4d 50 2d 54 59 50 45 20 | 42 41 53 45 2d 55 4e 49 |MP-TYPE |BASE-UNI|
|00003380| 54 53 29 2e 22 29 0a 0a | 28 64 65 66 76 61 72 20 |TS).")..|(defvar |
|00003390| 6d 61 74 68 2d 75 6e 69 | 74 73 2d 74 61 62 6c 65 |math-uni|ts-table|
|000033a0| 2d 62 75 66 66 65 72 2d | 76 61 6c 69 64 20 6e 69 |-buffer-|valid ni|
|000033b0| 6c 29 0a 0a 28 64 65 66 | 75 6e 20 6d 61 74 68 2d |l)..(def|un math-|
|000033c0| 62 75 69 6c 64 2d 75 6e | 69 74 73 2d 74 61 62 6c |build-un|its-tabl|
|000033d0| 65 20 6e 69 6c 20 28 62 | 79 74 65 2d 63 6f 64 65 |e nil (b|yte-code|
|000033e0| 20 22 08 86 30 00 c8 0a | 0b 5c 22 19 c9 ca 09 5c | "..0...|.\"....\|
|000033f0| 22 1c c7 1d cb cc 21 88 | c7 89 16 06 88 c9 cd 09 |".....!.|........|
|00003400| 5c 22 89 15 88 0d 18 c9 | ce 0d 5c 22 29 88 cb cf |\"......|..\")...|
|00003410| 21 88 0d 89 10 2b 87 22 | 20 5b 6d 61 74 68 2d 75 |!....+."| [math-u|
|00003420| 6e 69 74 73 2d 74 61 62 | 6c 65 20 63 6f 6d 62 69 |nits-tab|le combi|
|00003430| 6e 65 64 2d 75 6e 69 74 | 73 20 6d 61 74 68 2d 61 |ned-unit|s math-a|
|00003440| 64 64 69 74 69 6f 6e 61 | 6c 2d 75 6e 69 74 73 20 |dditiona|l-units |
|00003450| 6d 61 74 68 2d 73 74 61 | 6e 64 61 72 64 2d 75 6e |math-sta|ndard-un|
|00003460| 69 74 73 20 75 6e 69 74 | 2d 6c 69 73 74 20 74 61 |its unit|-list ta|
|00003470| 62 20 6d 61 74 68 2d 75 | 6e 69 74 73 2d 74 61 62 |b math-u|nits-tab|
|00003480| 6c 65 2d 62 75 66 66 65 | 72 2d 76 61 6c 69 64 20 |le-buffe|r-valid |
|00003490| 6e 69 6c 20 61 70 70 65 | 6e 64 20 6d 61 70 63 61 |nil appe|nd mapca|
|000034a0| 72 20 63 61 72 20 6d 65 | 73 73 61 67 65 20 22 42 |r car me|ssage "B|
|000034b0| 75 69 6c 64 69 6e 67 20 | 75 6e 69 74 73 20 74 61 |uilding |units ta|
|000034c0| 62 6c 65 2e 2e 2e 22 20 | 28 6c 61 6d 62 64 61 20 |ble..." |(lambda |
|000034d0| 28 78 29 20 28 62 79 74 | 65 2d 63 6f 64 65 20 22 |(x) (byt|e-code "|
|000034e0| c2 08 40 c3 08 38 85 31 | 00 c3 08 38 3b 83 2e 00 |..@..8.1|...8;...|
|000034f0| c4 c3 08 38 21 19 c5 09 | 21 c6 3d 83 29 00 c6 c7 |...8!...|!.=.)...|
|00003500| 08 40 c8 09 38 23 82 2a | 00 09 29 82 31 00 c3 08 |.@..8#.*|..).1...|
|00003510| 38 c8 08 38 c9 08 38 c3 | 08 38 3f 85 43 00 08 40 |8..8..8.|.8?.C..@|
|00003520| c3 42 43 25 87 22 20 5b | 78 20 65 78 70 20 6c 69 |.BC%." [|x exp li|
|00003530| 73 74 20 31 20 6d 61 74 | 68 2d 72 65 61 64 2d 70 |st 1 mat|h-read-p|
|00003540| 6c 61 69 6e 2d 65 78 70 | 72 20 63 61 72 2d 73 61 |lain-exp|r car-sa|
|00003550| 66 65 20 65 72 72 6f 72 | 20 22 46 6f 72 6d 61 74 |fe error| "Format|
|00003560| 20 65 72 72 6f 72 20 69 | 6e 20 64 65 66 69 6e 69 | error i|n defini|
|00003570| 74 69 6f 6e 20 6f 66 20 | 25 73 20 69 6e 20 75 6e |tion of |%s in un|
|00003580| 69 74 73 20 74 61 62 6c | 65 3a 20 25 73 22 20 32 |its tabl|e: %s" 2|
|00003590| 20 33 5d 20 31 30 29 29 | 20 6d 61 74 68 2d 66 69 | 3] 10))| math-fi|
|000035a0| 6e 64 2d 62 61 73 65 2d | 75 6e 69 74 73 20 22 42 |nd-base-|units "B|
|000035b0| 75 69 6c 64 69 6e 67 20 | 75 6e 69 74 73 20 74 61 |uilding |units ta|
|000035c0| 62 6c 65 2e 2e 2e 64 6f | 6e 65 22 5d 20 38 29 29 |ble...do|ne"] 8))|
|000035d0| 0a 0a 28 64 65 66 75 6e | 20 6d 61 74 68 2d 66 69 |..(defun| math-fi|
|000035e0| 6e 64 2d 62 61 73 65 2d | 75 6e 69 74 73 20 28 65 |nd-base-|units (e|
|000035f0| 6e 74 72 79 29 20 28 62 | 79 74 65 2d 63 6f 64 65 |ntry) (b|yte-code|
|00003600| 20 22 c3 08 38 c4 3d 85 | 0d 00 c5 c6 08 40 5c 22 | "..8.=.|.....@\"|
|00003610| 88 c3 08 38 86 6c 00 c7 | 19 c8 c9 c3 08 5c 22 c4 |...8.l..|.....\".|
|00003620| 5c 22 88 ca cb 08 38 cb | 5c 22 88 cc 88 09 40 41 |\"....8.|\"....@A|
|00003630| cd 3d 85 37 00 09 41 89 | 11 88 82 27 00 88 09 1a |.=.7..A.|...'....|
|00003640| 0a 41 85 59 00 0a 41 40 | 41 cd 3d 83 51 00 ce 0a |.A.Y..A@|A.=.Q...|
|00003650| 0a 41 41 5c 22 82 55 00 | 0a 41 89 12 88 82 3a 00 |.AA\".U.|.A....:.|
|00003660| 29 88 cf 09 d0 5c 22 89 | 11 88 c8 c9 c3 08 5c 22 |)....\".|......\"|
|00003670| 09 5c 22 88 09 29 87 22 | 20 5b 65 6e 74 72 79 20 |.\"..)."| [entry |
|00003680| 62 61 73 65 20 62 20 34 | 20 62 6f 6f 6d 20 65 72 |base b 4| boom er|
|00003690| 72 6f 72 20 22 43 69 72 | 63 75 6c 61 72 20 64 65 |ror "Cir|cular de|
|000036a0| 66 69 6e 69 74 69 6f 6e | 20 69 6e 76 6f 6c 76 69 |finition| involvi|
|000036b0| 6e 67 20 75 6e 69 74 20 | 25 73 22 20 6e 69 6c 20 |ng unit |%s" nil |
|000036c0| 73 65 74 63 61 72 20 6e | 74 68 63 64 72 20 6d 61 |setcar n|thcdr ma|
|000036d0| 74 68 2d 66 69 6e 64 2d | 62 61 73 65 2d 75 6e 69 |th-find-|base-uni|
|000036e0| 74 73 2d 72 65 63 20 31 | 20 28 6f 72 20 62 61 73 |ts-rec 1| (or bas|
|000036f0| 65 20 28 65 72 72 6f 72 | 20 22 44 69 6d 65 6e 73 |e (error| "Dimens|
|00003700| 69 6f 6e 6c 65 73 73 20 | 64 65 66 69 6e 69 74 69 |ionless |definiti|
|00003710| 6f 6e 20 66 6f 72 20 75 | 6e 69 74 20 25 73 22 20 |on for u|nit %s" |
|00003720| 28 63 61 72 20 65 6e 74 | 72 79 29 29 29 20 30 20 |(car ent|ry))) 0 |
|00003730| 73 65 74 63 64 72 20 73 | 6f 72 74 20 6d 61 74 68 |setcdr s|ort math|
|00003740| 2d 63 6f 6d 70 61 72 65 | 2d 75 6e 69 74 2d 6e 61 |-compare|-unit-na|
|00003750| 6d 65 73 5d 20 31 30 29 | 29 0a 0a 28 64 65 66 75 |mes] 10)|)..(defu|
|00003760| 6e 20 6d 61 74 68 2d 63 | 6f 6d 70 61 72 65 2d 75 |n math-c|ompare-u|
|00003770| 6e 69 74 2d 6e 61 6d 65 | 73 20 28 61 20 62 29 20 |nit-name|s (a b) |
|00003780| 28 62 79 74 65 2d 63 6f | 64 65 20 22 08 40 09 40 |(byte-co|de ".@.@|
|00003790| 0a 3e 41 3e 87 22 20 5b | 62 20 61 20 75 6e 69 74 |.>A>." [|b a unit|
|000037a0| 2d 6c 69 73 74 5d 20 33 | 29 29 0a 0a 28 64 65 66 |-list] 3|))..(def|
|000037b0| 75 6e 20 6d 61 74 68 2d | 66 69 6e 64 2d 62 61 73 |un math-|find-bas|
|000037c0| 65 2d 75 6e 69 74 73 2d | 72 65 63 20 28 65 78 70 |e-units-|rec (exp|
|000037d0| 72 20 70 6f 77 29 20 28 | 62 79 74 65 2d 63 6f 64 |r pow) (|byte-cod|
|000037e0| 65 20 22 c9 09 21 18 08 | 83 46 00 ca 08 21 1a 0a |e "..!..|.F...!..|
|000037f0| 85 42 00 cb 0a 40 41 0c | 5c 22 cc 0a 40 40 0e 06 |.B...@A.|\"..@@..|
|00003800| 5c 22 1d 1b 0d 83 2d 00 | cd 0d 0d 41 0b 5c 5c 5c |\"....-.|...A.\\\|
|00003810| 22 82 38 00 0a 40 40 0b | 42 0e 06 42 89 16 06 2a |".8..@@.|B..B...*|
|00003820| 88 0a 41 89 12 88 82 0c | 00 29 82 d9 00 ce 09 21 |..A.....|.).....!|
|00003830| 86 d9 00 09 40 cf 3d 85 | 58 00 d0 d1 09 38 21 83 |....@.=.|X....8!.|
|00003840| 69 00 d2 d3 09 38 cb 0c | d1 09 38 5c 22 5c 22 82 |i....8..|..8\"\".|
|00003850| d9 00 09 40 cb 3d 83 80 | 00 d2 d3 09 38 0c 5c 22 |...@.=..|....8.\"|
|00003860| 88 d2 d1 09 38 0c 5c 22 | 82 d9 00 09 40 d4 3d 83 |....8.\"|....@.=.|
|00003870| 98 00 d2 d3 09 38 0c 5c | 22 88 d2 d1 09 38 0c 5b |.....8.\|"....8.[|
|00003880| 5c 22 82 d9 00 09 40 d5 | 3d 83 a8 00 d2 d3 09 38 |\"....@.|=......8|
|00003890| 0c 5c 22 82 d9 00 09 40 | d6 3d 83 b8 00 d2 d3 09 |.\"....@|.=......|
|000038a0| 38 0c 5c 22 82 d9 00 09 | 40 d7 3d 83 d3 00 d3 09 |8.\"....|@.=.....|
|000038b0| 38 d8 3d 86 d0 00 d9 da | d3 09 38 0e 07 40 23 82 |8.=.....|..8..@#.|
|000038c0| d9 00 d9 db 0e 07 40 5c | 22 29 87 22 20 5b 75 20 |......@\|")." [u |
|000038d0| 65 78 70 72 20 75 6c 69 | 73 74 20 70 20 70 6f 77 |expr uli|st p pow|
|000038e0| 20 6f 6c 64 20 62 61 73 | 65 20 65 6e 74 72 79 20 | old bas|e entry |
|000038f0| 74 20 6d 61 74 68 2d 63 | 68 65 63 6b 2d 75 6e 69 |t math-c|heck-uni|
|00003900| 74 2d 6e 61 6d 65 20 6d | 61 74 68 2d 66 69 6e 64 |t-name m|ath-find|
|00003910| 2d 62 61 73 65 2d 75 6e | 69 74 73 20 2a 20 61 73 |-base-un|its * as|
|00003920| 73 71 20 73 65 74 63 64 | 72 20 6d 61 74 68 2d 73 |sq setcd|r math-s|
|00003930| 63 61 6c 61 72 70 20 5e | 20 69 6e 74 65 67 65 72 |calarp ^| integer|
|00003940| 70 20 32 20 6d 61 74 68 | 2d 66 69 6e 64 2d 62 61 |p 2 math|-find-ba|
|00003950| 73 65 2d 75 6e 69 74 73 | 2d 72 65 63 20 31 20 2f |se-units|-rec 1 /|
|00003960| 20 6e 65 67 20 2b 20 76 | 61 72 20 70 69 20 65 72 | neg + v|ar pi er|
|00003970| 72 6f 72 20 22 55 6e 6b | 6e 6f 77 6e 20 6e 61 6d |ror "Unk|nown nam|
|00003980| 65 20 25 73 20 69 6e 20 | 64 65 66 69 6e 69 6e 67 |e %s in |defining|
|00003990| 20 65 78 70 72 65 73 73 | 69 6f 6e 20 66 6f 72 20 | express|ion for |
|000039a0| 75 6e 69 74 20 25 73 22 | 20 22 4d 61 6c 66 6f 72 |unit %s"| "Malfor|
|000039b0| 6d 65 64 20 64 65 66 69 | 6e 69 6e 67 20 65 78 70 |med defi|ning exp|
|000039c0| 72 65 73 73 69 6f 6e 20 | 66 6f 72 20 75 6e 69 74 |ression |for unit|
|000039d0| 20 25 73 22 5d 20 31 39 | 29 29 0a 0a 28 64 65 66 | %s"] 19|))..(def|
|000039e0| 75 6e 20 6d 61 74 68 2d | 75 6e 69 74 73 2d 69 6e |un math-|units-in|
|000039f0| 2d 65 78 70 72 2d 70 20 | 28 65 78 70 72 20 73 75 |-expr-p |(expr su|
|00003a00| 62 2d 65 78 70 72 73 29 | 20 28 62 79 74 65 2d 63 |b-exprs)| (byte-c|
|00003a10| 6f 64 65 20 22 08 3a 85 | 2c 00 08 40 c2 3d 83 12 |ode ".:.|,..@.=..|
|00003a20| 00 c3 08 21 82 2c 00 09 | 86 1a 00 08 40 c4 3e 85 |...!.,..|....@.>.|
|00003a30| 2c 00 c5 c6 08 38 09 5c | 22 86 2c 00 c5 c7 08 38 |,....8.\|".,....8|
|00003a40| 09 5c 22 87 22 20 5b 65 | 78 70 72 20 73 75 62 2d |.\"." [e|xpr sub-|
|00003a50| 65 78 70 72 73 20 76 61 | 72 20 6d 61 74 68 2d 63 |exprs va|r math-c|
|00003a60| 68 65 63 6b 2d 75 6e 69 | 74 2d 6e 61 6d 65 20 28 |heck-uni|t-name (|
|00003a70| 2a 20 2f 20 5e 29 20 6d | 61 74 68 2d 75 6e 69 74 |* / ^) m|ath-unit|
|00003a80| 73 2d 69 6e 2d 65 78 70 | 72 2d 70 20 31 20 32 5d |s-in-exp|r-p 1 2]|
|00003a90| 20 35 29 29 0a 0a 28 64 | 65 66 75 6e 20 6d 61 74 | 5))..(d|efun mat|
|00003aa0| 68 2d 6f 6e 6c 79 2d 75 | 6e 69 74 73 2d 69 6e 2d |h-only-u|nits-in-|
|00003ab0| 65 78 70 72 2d 70 20 28 | 65 78 70 72 29 20 28 62 |expr-p (|expr) (b|
|00003ac0| 79 74 65 2d 63 6f 64 65 | 20 22 08 3a 85 3d 00 08 |yte-code| ".:.=..|
|00003ad0| 40 c1 3d 83 12 00 c2 08 | 21 82 3d 00 08 40 c3 3e |@.=.....|!.=..@.>|
|00003ae0| 83 29 00 c4 c5 08 38 21 | 85 26 00 c4 c6 08 38 21 |.)....8!|.&....8!|
|00003af0| 82 3d 00 08 40 c7 3d 85 | 3d 00 c4 c5 08 38 21 85 |.=..@.=.|=....8!.|
|00003b00| 3d 00 c8 c6 08 38 21 87 | 22 20 5b 65 78 70 72 20 |=....8!.|" [expr |
|00003b10| 76 61 72 20 6d 61 74 68 | 2d 63 68 65 63 6b 2d 75 |var math|-check-u|
|00003b20| 6e 69 74 2d 6e 61 6d 65 | 20 28 2a 20 2f 29 20 6d |nit-name| (* /) m|
|00003b30| 61 74 68 2d 6f 6e 6c 79 | 2d 75 6e 69 74 73 2d 69 |ath-only|-units-i|
|00003b40| 6e 2d 65 78 70 72 2d 70 | 20 31 20 32 20 5e 20 6d |n-expr-p| 1 2 ^ m|
|00003b50| 61 74 68 2d 72 65 61 6c | 70 5d 20 37 29 29 0a 0a |ath-real|p] 7))..|
|00003b60| 28 64 65 66 75 6e 20 6d | 61 74 68 2d 73 69 6e 67 |(defun m|ath-sing|
|00003b70| 6c 65 2d 75 6e 69 74 73 | 2d 69 6e 2d 65 78 70 72 |le-units|-in-expr|
|00003b80| 2d 70 20 28 65 78 70 72 | 29 20 28 62 79 74 65 2d |-p (expr|) (byte-|
|00003b90| 63 6f 64 65 20 22 c5 08 | 21 83 0a 00 c1 82 5c 5c |code "..|!.....\\|
|00003ba0| 00 08 40 c6 3d 83 17 00 | c7 08 21 82 5c 5c 00 08 |..@.=...|..!.\\..|
|00003bb0| 40 c8 3d 83 3f 00 c9 ca | 08 38 21 c9 cb 08 38 21 |@.=.?...|.8!...8!|
|00003bc0| 1b 1a 0a 85 33 00 0b 85 | 33 00 cc 86 3b 00 0a 86 |....3...|3...;...|
|00003bd0| 3b 00 0b 2a 82 5c 5c 00 | 08 40 cd 3d 83 5b 00 ce |;..*.\\.|.@.=.[..|
|00003be0| cb 08 38 c1 5c 22 83 53 | 00 cc 82 58 00 c9 ca 08 |..8.\".S|...X....|
|00003bf0| 38 21 82 5c 5c 00 cc 87 | 22 20 5b 65 78 70 72 20 |8!.\\...|" [expr |
|00003c00| 6e 69 6c 20 75 31 20 75 | 32 20 74 20 6d 61 74 68 |nil u1 u|2 t math|
|00003c10| 2d 73 63 61 6c 61 72 70 | 20 76 61 72 20 6d 61 74 |-scalarp| var mat|
|00003c20| 68 2d 63 68 65 63 6b 2d | 75 6e 69 74 2d 6e 61 6d |h-check-|unit-nam|
|00003c30| 65 20 2a 20 6d 61 74 68 | 2d 73 69 6e 67 6c 65 2d |e * math|-single-|
|00003c40| 75 6e 69 74 73 2d 69 6e | 2d 65 78 70 72 2d 70 20 |units-in|-expr-p |
|00003c50| 31 20 32 20 77 72 6f 6e | 67 20 2f 20 6d 61 74 68 |1 2 wron|g / math|
|00003c60| 2d 75 6e 69 74 73 2d 69 | 6e 2d 65 78 70 72 2d 70 |-units-i|n-expr-p|
|00003c70| 5d 20 38 29 29 0a 0a 28 | 64 65 66 75 6e 20 6d 61 |] 8))..(|defun ma|
|00003c80| 74 68 2d 63 68 65 63 6b | 2d 75 6e 69 74 2d 6e 61 |th-check|-unit-na|
|00003c90| 6d 65 20 28 76 29 20 28 | 62 79 74 65 2d 63 6f 64 |me (v) (|byte-cod|
|00003ca0| 65 20 22 c4 08 21 c5 3d | 85 61 00 c6 c7 08 38 09 |e "..!.=|.a....8.|
|00003cb0| 86 12 00 c8 20 5c 22 86 | 61 00 c9 c7 08 38 21 1a |.... \".|a....8!.|
|00003cc0| 0a 47 c7 56 85 60 00 c6 | 0a ca 48 0b 5c 22 85 60 |.G.V.`..|..H.\".`|
|00003cd0| 00 c6 cb 0a c7 cc 4f 21 | 09 5c 22 86 60 00 0a ca |......O!|.\".`...|
|00003ce0| 48 cd 3d 85 60 00 0a 47 | ce 56 85 60 00 0a c7 48 |H.=.`..G|.V.`...H|
|00003cf0| cf 3d 85 60 00 0a d0 48 | d1 3d 85 60 00 c6 cb 0a |.=.`...H|.=.`....|
|00003d00| ce cc 4f 21 09 5c 22 29 | 87 22 20 5b 76 20 6d 61 |..O!.\")|." [v ma|
|00003d10| 74 68 2d 75 6e 69 74 73 | 2d 74 61 62 6c 65 20 6e |th-units|-table n|
|00003d20| 61 6d 65 20 6d 61 74 68 | 2d 75 6e 69 74 2d 70 72 |ame math|-unit-pr|
|00003d30| 65 66 69 78 65 73 20 63 | 61 72 2d 73 61 66 65 20 |efixes c|ar-safe |
|00003d40| 76 61 72 20 61 73 73 71 | 20 31 20 6d 61 74 68 2d |var assq| 1 math-|
|00003d50| 62 75 69 6c 64 2d 75 6e | 69 74 73 2d 74 61 62 6c |build-un|its-tabl|
|00003d60| 65 20 73 79 6d 62 6f 6c | 2d 6e 61 6d 65 20 30 20 |e symbol|-name 0 |
|00003d70| 69 6e 74 65 72 6e 20 6e | 69 6c 20 37 37 20 33 20 |intern n|il 77 3 |
|00003d80| 31 30 31 20 32 20 31 30 | 33 5d 20 31 32 29 29 0a |101 2 10|3] 12)).|
|00003d90| 0a 28 64 65 66 75 6e 20 | 6d 61 74 68 2d 74 6f 2d |.(defun |math-to-|
|00003da0| 73 74 61 6e 64 61 72 64 | 2d 75 6e 69 74 73 20 28 |standard|-units (|
|00003db0| 65 78 70 72 20 77 68 69 | 63 68 2d 73 74 61 6e 64 |expr whi|ch-stand|
|00003dc0| 61 72 64 29 20 28 62 79 | 74 65 2d 63 6f 64 65 20 |ard) (by|te-code |
|00003dd0| 22 c1 08 21 87 22 20 5b | 65 78 70 72 20 6d 61 74 |"..!." [|expr mat|
|00003de0| 68 2d 74 6f 2d 73 74 61 | 6e 64 61 72 64 2d 72 65 |h-to-sta|ndard-re|
|00003df0| 63 5d 20 32 29 29 0a 0a | 28 64 65 66 75 6e 20 6d |c] 2))..|(defun m|
|00003e00| 61 74 68 2d 74 6f 2d 73 | 74 61 6e 64 61 72 64 2d |ath-to-s|tandard-|
|00003e10| 72 65 63 20 28 65 78 70 | 72 29 20 28 62 79 74 65 |rec (exp|r) (byte|
|00003e20| 2d 63 6f 64 65 20 22 c6 | 08 21 c7 3d 83 76 00 c8 |-code ".|.!.=.v..|
|00003e30| 08 21 c9 08 38 1a 19 09 | 83 66 00 c9 09 38 83 24 |.!..8...|.f...8.$|
|00003e40| 00 ca c9 09 38 21 89 10 | 82 45 00 cb 09 40 0c 5c |....8!..|.E...@.\|
|00003e50| 22 1b 0b 83 36 00 c9 0b | 38 89 10 82 44 00 c7 09 |"...6...|8...D...|
|00003e60| 40 cc cd ce 09 40 21 50 | 21 45 89 10 29 88 09 3f |@....@!P|!E..)..?|
|00003e70| 86 61 00 0a 09 40 3d 86 | 61 00 cf c9 cb ce 0a 21 |.a...@=.|a......!|
|00003e80| d0 48 0d 5c 22 38 08 45 | 89 10 88 08 82 72 00 0a |.H.\"8.E|.....r..|
|00003e90| d1 3d 83 71 00 d2 20 82 | 72 00 08 2a 82 8f 00 08 |.=.q.. .|r..*....|
|00003ea0| 3a 3f 86 80 00 08 40 d3 | 3e 83 87 00 08 82 8f 00 |:?....@.|>.......|
|00003eb0| 08 40 d4 ca 08 41 5c 22 | 42 87 22 20 5b 65 78 70 |.@...A\"|B." [exp|
|00003ec0| 72 20 75 20 62 61 73 65 | 20 73 74 20 77 68 69 63 |r u base| st whic|
|00003ed0| 68 2d 73 74 61 6e 64 61 | 72 64 20 6d 61 74 68 2d |h-standa|rd math-|
|00003ee0| 75 6e 69 74 2d 70 72 65 | 66 69 78 65 73 20 63 61 |unit-pre|fixes ca|
|00003ef0| 72 2d 73 61 66 65 20 76 | 61 72 20 6d 61 74 68 2d |r-safe v|ar math-|
|00003f00| 63 68 65 63 6b 2d 75 6e | 69 74 2d 6e 61 6d 65 20 |check-un|it-name |
|00003f10| 31 20 6d 61 74 68 2d 74 | 6f 2d 73 74 61 6e 64 61 |1 math-t|o-standa|
|00003f20| 72 64 2d 72 65 63 20 61 | 73 73 71 20 69 6e 74 65 |rd-rec a|ssq inte|
|00003f30| 72 6e 20 22 76 61 72 2d | 22 20 73 79 6d 62 6f 6c |rn "var-|" symbol|
|00003f40| 2d 6e 61 6d 65 20 2a 20 | 30 20 70 69 20 6d 61 74 |-name * |0 pi mat|
|00003f50| 68 2d 70 69 20 28 62 69 | 67 70 6f 73 20 62 69 67 |h-pi (bi|gpos big|
|00003f60| 6e 65 67 20 66 72 61 63 | 20 66 6c 6f 61 74 20 63 |neg frac| float c|
|00003f70| 70 6c 78 20 70 6f 6c 61 | 72 20 68 6d 73 20 64 61 |plx pola|r hms da|
|00003f80| 74 65 20 6d 6f 64 20 76 | 61 72 29 20 6d 61 70 63 |te mod v|ar) mapc|
|00003f90| 61 72 5d 20 31 33 29 29 | 0a 0a 28 64 65 66 75 6e |ar] 13))|..(defun|
|00003fa0| 20 6d 61 74 68 2d 61 70 | 70 6c 79 2d 75 6e 69 74 | math-ap|ply-unit|
|00003fb0| 73 20 28 65 78 70 72 20 | 75 6e 69 74 73 20 75 6c |s (expr |units ul|
|00003fc0| 69 73 74 20 26 6f 70 74 | 69 6f 6e 61 6c 20 70 75 |ist &opt|ional pu|
|00003fd0| 72 65 29 20 28 62 79 74 | 65 2d 63 6f 64 65 20 22 |re) (byt|e-code "|
|00003fe0| 08 83 60 00 c7 c8 1a 19 | c9 0b 21 89 13 88 ca 0b |..`.....|..!.....|
|00003ff0| 21 86 17 00 cb cc 21 88 | 08 41 85 4c 00 cd 0b ce |!.....!.|.A.L....|
|00004000| 08 40 38 5c 22 12 cf 0c | 53 1c d0 0a 21 29 21 12 |.@8\"...|S...!)!.|
|00004010| d1 09 d2 0a 08 40 40 5c | 22 5c 22 11 d3 0b d2 0a |.....@@\|"\".....|
|00004020| ce 08 40 38 5c 22 5c 22 | 13 08 41 89 10 88 82 18 |..@8\"\"|..A.....|
|00004030| 00 88 d1 09 d2 cd 0b ce | 08 40 38 5c 22 08 40 40 |........|.@8\".@@|
|00004040| 5c 22 5c 22 2a 82 6f 00 | c9 0d 83 69 00 0b 82 6e |\"\"*.o.|...i...n|
|00004050| 00 d4 0b 0e 06 45 21 87 | 22 20 5b 75 6c 69 73 74 |.....E!.|" [ulist|
|00004060| 20 6e 65 77 20 76 61 6c | 75 65 20 65 78 70 72 20 | new val|ue expr |
|00004070| 63 61 6c 63 2d 69 6e 74 | 65 72 6e 61 6c 2d 70 72 |calc-int|ernal-pr|
|00004080| 65 63 20 70 75 72 65 20 | 75 6e 69 74 73 20 30 20 |ec pure |units 0 |
|00004090| 6e 69 6c 20 6d 61 74 68 | 2d 73 69 6d 70 6c 69 66 |nil math|-simplif|
|000040a0| 79 2d 75 6e 69 74 73 20 | 6d 61 74 68 2d 6e 75 6d |y-units |math-num|
|000040b0| 62 65 72 70 20 65 72 72 | 6f 72 20 22 49 6e 63 6f |berp err|or "Inco|
|000040c0| 6d 70 61 74 69 62 6c 65 | 20 75 6e 69 74 73 22 20 |mpatible| units" |
|000040d0| 6d 61 74 68 2d 64 69 76 | 20 31 20 6d 61 74 68 2d |math-div| 1 math-|
|000040e0| 66 6c 6f 6f 72 20 6d 61 | 74 68 2d 6e 6f 72 6d 61 |floor ma|th-norma|
|000040f0| 6c 69 7a 65 20 6d 61 74 | 68 2d 61 64 64 20 6d 61 |lize mat|h-add ma|
|00004100| 74 68 2d 6d 75 6c 20 6d | 61 74 68 2d 73 75 62 20 |th-mul m|ath-sub |
|00004110| 2a 5d 20 31 37 29 29 0a | 0a 28 64 65 66 75 6e 20 |*] 17)).|.(defun |
|00004120| 6d 61 74 68 2d 64 65 63 | 6f 6d 70 6f 73 65 2d 75 |math-dec|ompose-u|
|00004130| 6e 69 74 73 20 28 75 6e | 69 74 73 29 20 28 62 79 |nits (un|its) (by|
|00004140| 74 65 2d 63 6f 64 65 20 | 22 cb 09 21 18 08 85 17 |te-code |"..!....|
|00004150| 00 cc cd 08 38 21 ce 3d | 85 17 00 cd 08 38 89 11 |....8!.=|.....8..|
|00004160| 29 88 cf 09 21 89 11 88 | cc 09 21 ce 3d 85 9d 00 |)...!...|..!.=...|
|00004170| 09 0b 0c 45 1a d0 0a 0d | 40 5c 22 86 99 00 c7 09 |...E....|@\".....|
|00004180| c7 c7 1e 0a 1e 09 1e 08 | 1e 06 cc 0e 08 21 ce 3d |........|.....!.=|
|00004190| 85 5f 00 d1 d2 0e 08 38 | 21 0e 06 42 16 06 cd 0e |._.....8|!..B....|
|000041a0| 08 38 89 16 08 88 82 40 | 00 88 d1 0e 08 21 0e 06 |.8.....@|.....!..|
|000041b0| 42 16 06 0e 06 89 16 08 | 88 0e 08 41 89 16 08 85 |B.......|...A....|
|000041c0| 8e 00 d0 d2 0e 08 40 38 | d2 0e 06 40 38 5c 22 86 |......@8|...@8\".|
|000041d0| 8a 00 d3 d4 21 88 82 6f | 00 88 0a d5 0e 06 d6 5c |....!..o|.......\|
|000041e0| 22 42 89 15 2c 88 0d 41 | 29 87 22 20 5b 75 20 75 |"B..,..A|)." [u u|
|000041f0| 6e 69 74 73 20 65 6e 74 | 72 79 20 63 61 6c 63 2d |nits ent|ry calc-|
|00004200| 69 6e 74 65 72 6e 61 6c | 2d 70 72 65 63 20 63 61 |internal|-prec ca|
|00004210| 6c 63 2d 70 72 65 66 65 | 72 2d 66 72 61 63 20 6d |lc-prefe|r-frac m|
|00004220| 61 74 68 2d 64 65 63 6f | 6d 70 6f 73 65 2d 75 6e |ath-deco|mpose-un|
|00004230| 69 74 73 2d 63 61 63 68 | 65 20 75 6c 69 73 74 20 |its-cach|e ulist |
|00004240| 6e 69 6c 20 75 74 65 6d | 70 20 71 74 79 20 75 6e |nil utem|p qty un|
|00004250| 69 74 20 6d 61 74 68 2d | 63 68 65 63 6b 2d 75 6e |it math-|check-un|
|00004260| 69 74 2d 6e 61 6d 65 20 | 63 61 72 2d 73 61 66 65 |it-name |car-safe|
|00004270| 20 31 20 2b 20 63 61 6c | 63 46 75 6e 63 2d 65 78 | 1 + cal|cFunc-ex|
|00004280| 70 61 6e 64 20 65 71 75 | 61 6c 20 6d 61 74 68 2d |pand equ|al math-|
|00004290| 64 65 63 6f 6d 70 6f 73 | 65 2d 75 6e 69 74 2d 70 |decompos|e-unit-p|
|000042a0| 61 72 74 20 32 20 65 72 | 72 6f 72 20 22 49 6e 63 |art 2 er|ror "Inc|
|000042b0| 6f 6e 73 69 73 74 65 6e | 74 20 75 6e 69 74 73 20 |onsisten|t units |
|000042c0| 69 6e 20 73 75 6d 22 20 | 73 6f 72 74 20 28 6c 61 |in sum" |sort (la|
|000042d0| 6d 62 64 61 20 28 78 20 | 79 29 20 28 62 79 74 65 |mbda (x |y) (byte|
|000042e0| 2d 63 6f 64 65 20 22 c2 | c3 08 38 c3 09 38 5c 22 |-code ".|..8..8\"|
|000042f0| c4 55 3f 87 22 20 5b 78 | 20 79 20 6d 61 74 68 2d |.U?." [x| y math-|
|00004300| 63 6f 6d 70 61 72 65 20 | 31 20 2d 31 5d 20 34 29 |compare |1 -1] 4)|
|00004310| 29 5d 20 31 34 29 29 0a | 0a 28 73 65 74 71 20 6d |)] 14)).|.(setq m|
|00004320| 61 74 68 2d 64 65 63 6f | 6d 70 6f 73 65 2d 75 6e |ath-deco|mpose-un|
|00004330| 69 74 73 2d 63 61 63 68 | 65 20 6e 69 6c 29 0a 0a |its-cach|e nil)..|
|00004340| 28 64 65 66 75 6e 20 6d | 61 74 68 2d 64 65 63 6f |(defun m|ath-deco|
|00004350| 6d 70 6f 73 65 2d 75 6e | 69 74 2d 70 61 72 74 20 |mpose-un|it-part |
|00004360| 28 75 6e 69 74 29 20 28 | 62 79 74 65 2d 63 6f 64 |(unit) (|byte-cod|
|00004370| 65 20 22 08 c3 c4 c5 08 | c1 5c 22 21 c2 5c 22 42 |e ".....|.\"!.\"B|
|00004380| 87 22 20 5b 75 6e 69 74 | 20 6e 69 6c 20 74 20 6d |." [unit| nil t m|
|00004390| 61 74 68 2d 69 73 2d 6d | 75 6c 74 69 70 6c 65 20 |ath-is-m|ultiple |
|000043a0| 6d 61 74 68 2d 73 69 6d | 70 6c 69 66 79 2d 75 6e |math-sim|plify-un|
|000043b0| 69 74 73 20 6d 61 74 68 | 2d 74 6f 2d 73 74 61 6e |its math|-to-stan|
|000043c0| 64 61 72 64 2d 75 6e 69 | 74 73 5d 20 36 29 29 0a |dard-uni|ts] 6)).|
|000043d0| 0a 28 64 65 66 75 6e 20 | 6d 61 74 68 2d 66 69 6e |.(defun |math-fin|
|000043e0| 64 2d 63 6f 6d 70 61 74 | 69 62 6c 65 2d 75 6e 69 |d-compat|ible-uni|
|000043f0| 74 20 28 65 78 70 72 20 | 75 6e 69 74 29 20 28 62 |t (expr |unit) (b|
|00004400| 79 74 65 2d 63 6f 64 65 | 20 22 c3 09 21 18 08 85 |yte-code| "..!...|
|00004410| 0c 00 c4 0a c5 5c 22 29 | 87 22 20 5b 75 20 75 6e |.....\")|." [u un|
|00004420| 69 74 20 65 78 70 72 20 | 6d 61 74 68 2d 63 68 65 |it expr |math-che|
|00004430| 63 6b 2d 75 6e 69 74 2d | 6e 61 6d 65 20 6d 61 74 |ck-unit-|name mat|
|00004440| 68 2d 66 69 6e 64 2d 63 | 6f 6d 70 61 74 69 62 6c |h-find-c|ompatibl|
|00004450| 65 2d 75 6e 69 74 2d 72 | 65 63 20 31 5d 20 34 29 |e-unit-r|ec 1] 4)|
|00004460| 29 0a 0a 28 64 65 66 75 | 6e 20 6d 61 74 68 2d 66 |)..(defu|n math-f|
|00004470| 69 6e 64 2d 63 6f 6d 70 | 61 74 69 62 6c 65 2d 75 |ind-comp|atible-u|
|00004480| 6e 69 74 2d 72 65 63 20 | 28 65 78 70 72 20 70 6f |nit-rec |(expr po|
|00004490| 77 29 20 28 62 79 74 65 | 2d 63 6f 64 65 20 22 c5 |w) (byte|-code ".|
|000044a0| 08 21 c6 3d 83 1a 00 c7 | c8 08 38 09 5c 22 86 17 |.!.=....|..8.\"..|
|000044b0| 00 c7 c9 08 38 09 5c 22 | 82 66 00 c5 08 21 ca 3d |....8.\"|.f...!.=|
|000044c0| 83 35 00 c7 c8 08 38 09 | 5c 22 86 32 00 c7 c9 08 |.5....8.|\".2....|
|000044d0| 38 09 5b 5c 22 82 66 00 | c5 08 21 cb 3d 85 42 00 |8.[\".f.|..!.=.B.|
|000044e0| cc c9 08 38 21 83 53 00 | c7 c8 08 38 c6 09 c9 08 |...8!.S.|...8....|
|000044f0| 38 5c 22 5c 22 82 66 00 | cd 08 21 1b ce cf 0c 38 |8\"\".f.|..!....8|
|00004500| cf 0b 38 5c 22 85 65 00 | 08 09 42 29 87 22 20 5b |..8\".e.|..B)." [|
|00004510| 65 78 70 72 20 70 6f 77 | 20 74 20 75 32 20 75 20 |expr pow| t u2 u |
|00004520| 63 61 72 2d 73 61 66 65 | 20 2a 20 6d 61 74 68 2d |car-safe| * math-|
|00004530| 66 69 6e 64 2d 63 6f 6d | 70 61 74 69 62 6c 65 2d |find-com|patible-|
|00004540| 75 6e 69 74 2d 72 65 63 | 20 31 20 32 20 2f 20 5e |unit-rec| 1 2 / ^|
|00004550| 20 69 6e 74 65 67 65 72 | 70 20 6d 61 74 68 2d 63 | integer|p math-c|
|00004560| 68 65 63 6b 2d 75 6e 69 | 74 2d 6e 61 6d 65 20 65 |heck-uni|t-name e|
|00004570| 71 75 61 6c 20 34 5d 20 | 31 35 29 29 0a 0a 28 64 |qual 4] |15))..(d|
|00004580| 65 66 75 6e 20 6d 61 74 | 68 2d 63 6f 6e 76 65 72 |efun mat|h-conver|
|00004590| 74 2d 75 6e 69 74 73 20 | 28 65 78 70 72 20 6e 65 |t-units |(expr ne|
|000045a0| 77 2d 75 6e 69 74 73 20 | 26 6f 70 74 69 6f 6e 61 |w-units |&optiona|
|000045b0| 6c 20 70 75 72 65 29 20 | 28 62 79 74 65 2d 63 6f |l pure) |(byte-co|
|000045c0| 64 65 20 22 c9 08 ca 5c | 5c 18 0a 3f 85 0e 00 cb |de "...\|\..?....|
|000045d0| 0b 0c 5c 22 c6 c6 1e 07 | 1d 19 09 83 3f 00 cc cd |..\"....|....?...|
|000045e0| cd cc ce 0b cf 09 40 09 | 41 5c 22 5c 22 21 cf 0c |......@.|A\"\"!..|
|000045f0| 09 41 5c 22 5c 22 cc d0 | cf ce 09 40 0c 5c 22 09 |.A\"\"..|...@.\".|
|00004600| 41 5c 22 c6 5c 22 21 5c | 22 21 82 75 00 d1 0c 21 |A\".\"!\|"!.u...!|
|00004610| 89 15 85 4d 00 ca 0d 40 | 38 89 14 88 d2 0b 21 d3 |...M...@|8.....!.|
|00004620| 3d 85 5b 00 cc 0b 21 89 | 13 88 d4 0b c8 5c 22 83 |=.[...!.|.....\".|
|00004630| 69 00 d5 0b 21 82 75 00 | d6 d0 d7 0b 0c 45 c6 5c |i...!.u.|.....E.\|
|00004640| 22 0c 0d 0a 24 2b 29 21 | 87 22 20 5b 63 61 6c 63 |"...$+)!|." [calc|
|00004650| 2d 69 6e 74 65 72 6e 61 | 6c 2d 70 72 65 63 20 63 |-interna|l-prec c|
|00004660| 6f 6d 70 61 74 20 70 75 | 72 65 20 65 78 70 72 20 |ompat pu|re expr |
|00004670| 6e 65 77 2d 75 6e 69 74 | 73 20 75 6e 69 74 2d 6c |new-unit|s unit-l|
|00004680| 69 73 74 20 6e 69 6c 20 | 6d 61 74 68 2d 63 6f 6d |ist nil |math-com|
|00004690| 62 69 6e 69 6e 67 2d 75 | 6e 69 74 73 20 74 20 6d |bining-u|nits t m|
|000046a0| 61 74 68 2d 6e 6f 72 6d | 61 6c 69 7a 65 20 32 20 |ath-norm|alize 2 |
|000046b0| 6d 61 74 68 2d 66 69 6e | 64 2d 63 6f 6d 70 61 74 |math-fin|d-compat|
|000046c0| 69 62 6c 65 2d 75 6e 69 | 74 20 6d 61 74 68 2d 73 |ible-uni|t math-s|
|000046d0| 69 6d 70 6c 69 66 79 2d | 75 6e 69 74 73 20 6d 61 |implify-|units ma|
|000046e0| 74 68 2d 6d 75 6c 20 6d | 61 74 68 2d 64 69 76 20 |th-mul m|ath-div |
|000046f0| 6d 61 74 68 2d 70 6f 77 | 20 6d 61 74 68 2d 74 6f |math-pow| math-to|
|00004700| 2d 73 74 61 6e 64 61 72 | 64 2d 75 6e 69 74 73 20 |-standar|d-units |
|00004710| 6d 61 74 68 2d 64 65 63 | 6f 6d 70 6f 73 65 2d 75 |math-dec|ompose-u|
|00004720| 6e 69 74 73 20 63 61 72 | 2d 73 61 66 65 20 2b 20 |nits car|-safe + |
|00004730| 6d 61 74 68 2d 75 6e 69 | 74 73 2d 69 6e 2d 65 78 |math-uni|ts-in-ex|
|00004740| 70 72 2d 70 20 6d 61 74 | 68 2d 63 6f 6e 76 65 72 |pr-p mat|h-conver|
|00004750| 74 2d 75 6e 69 74 73 2d | 72 65 63 20 6d 61 74 68 |t-units-|rec math|
|00004760| 2d 61 70 70 6c 79 2d 75 | 6e 69 74 73 20 2f 5d 20 |-apply-u|nits /] |
|00004770| 32 34 29 29 0a 0a 28 64 | 65 66 75 6e 20 6d 61 74 |24))..(d|efun mat|
|00004780| 68 2d 63 6f 6e 76 65 72 | 74 2d 75 6e 69 74 73 2d |h-conver|t-units-|
|00004790| 72 65 63 20 28 65 78 70 | 72 29 20 28 62 79 74 65 |rec (exp|r) (byte|
|000047a0| 2d 63 6f 64 65 20 22 c5 | 08 c1 5c 22 83 16 00 c6 |-code ".|..\"....|
|000047b0| c7 c8 08 0a 45 c1 5c 22 | 0a 0b 0c 24 82 2f 00 08 |....E.\"|...$./..|
|000047c0| 3a 3f 86 20 00 08 40 c9 | 3e 83 27 00 08 82 2f 00 |:?. ..@.|>.'.../.|
|000047d0| 08 40 ca cb 08 41 5c 22 | 42 87 22 20 5b 65 78 70 |.@...A\"|B." [exp|
|000047e0| 72 20 6e 69 6c 20 6e 65 | 77 2d 75 6e 69 74 73 20 |r nil ne|w-units |
|000047f0| 75 6e 69 74 2d 6c 69 73 | 74 20 70 75 72 65 20 6d |unit-lis|t pure m|
|00004800| 61 74 68 2d 75 6e 69 74 | 73 2d 69 6e 2d 65 78 70 |ath-unit|s-in-exp|
|00004810| 72 2d 70 20 6d 61 74 68 | 2d 61 70 70 6c 79 2d 75 |r-p math|-apply-u|
|00004820| 6e 69 74 73 20 6d 61 74 | 68 2d 74 6f 2d 73 74 61 |nits mat|h-to-sta|
|00004830| 6e 64 61 72 64 2d 75 6e | 69 74 73 20 2f 20 28 62 |ndard-un|its / (b|
|00004840| 69 67 70 6f 73 20 62 69 | 67 6e 65 67 20 66 72 61 |igpos bi|gneg fra|
|00004850| 63 20 66 6c 6f 61 74 20 | 63 70 6c 78 20 70 6f 6c |c float |cplx pol|
|00004860| 61 72 20 68 6d 73 20 64 | 61 74 65 20 6d 6f 64 20 |ar hms d|ate mod |
|00004870| 76 61 72 29 20 6d 61 70 | 63 61 72 20 6d 61 74 68 |var) map|car math|
|00004880| 2d 63 6f 6e 76 65 72 74 | 2d 75 6e 69 74 73 2d 72 |-convert|-units-r|
|00004890| 65 63 5d 20 37 29 29 0a | 0a 28 64 65 66 75 6e 20 |ec] 7)).|.(defun |
|000048a0| 6d 61 74 68 2d 63 6f 6e | 76 65 72 74 2d 74 65 6d |math-con|vert-tem|
|000048b0| 70 65 72 61 74 75 72 65 | 20 28 65 78 70 72 20 6f |perature| (expr o|
|000048c0| 6c 64 20 6e 65 77 20 26 | 6f 70 74 69 6f 6e 61 6c |ld new &|optional|
|000048d0| 20 70 75 72 65 29 20 28 | 62 79 74 65 2d 63 6f 64 | pure) (|byte-cod|
|000048e0| 65 20 22 c9 09 21 18 0b | 83 23 00 08 3f 86 14 00 |e "..!..|.#..?...|
|000048f0| ca cb 0b 38 08 40 5c 22 | 83 1d 00 cc 0b 21 82 20 |...8.@\"|.....!. |
|00004900| 00 cd ce 21 82 24 00 08 | 1a cc 0d 21 1c 0c 3a 85 |...!.$..|...!..:.|
|00004910| 31 00 cf 0c 38 86 37 00 | cd d0 21 88 0a 3a 85 40 |1...8.7.|..!..:.@|
|00004920| 00 cf 0a 38 86 46 00 cd | d1 21 88 0a 40 1e 06 d2 |...8.F..|.!..@...|
|00004930| 09 d3 0e 06 d4 d5 d6 0e | 06 21 50 21 45 45 89 11 |........|.!P!EE..|
|00004940| 29 88 cf 0a 38 cf 0c 38 | 3d 86 c8 00 cf 0a 38 d7 |)...8..8|=.....8.|
|00004950| 3d 83 8b 00 d8 09 d9 45 | 89 11 88 cf 0c 38 da 3d |=......E|.....8.=|
|00004960| 85 88 00 db dc 09 dd 45 | de 45 89 11 82 c8 00 cf |.......E|.E......|
|00004970| 0a 38 df 3d 83 b0 00 cf | 0c 38 da 3d 83 a7 00 db |.8.=....|.8.=....|
|00004980| dc 09 e0 45 de 45 89 11 | 82 ad 00 db 09 e1 45 89 |...E.E..|......E.|
|00004990| 11 82 c8 00 dc d8 09 de | 45 e2 45 89 11 88 cf 0c |........|E.E.....|
|000049a0| 38 d7 3d 85 c8 00 db 09 | e3 45 89 11 88 0e 08 83 |8.=.....|.E......|
|000049b0| d2 00 09 82 d6 00 dc 09 | 0d 45 2b 87 22 20 5b 75 |........|.E+." [u|
|000049c0| 6e 69 74 73 20 65 78 70 | 72 20 75 6f 6c 64 20 6f |nits exp|r uold o|
|000049d0| 6c 64 20 75 6e 65 77 20 | 6e 65 77 20 76 20 74 20 |ld unew |new v t |
|000049e0| 70 75 72 65 20 6d 61 74 | 68 2d 73 69 6e 67 6c 65 |pure mat|h-single|
|000049f0| 2d 75 6e 69 74 73 2d 69 | 6e 2d 65 78 70 72 2d 70 |-units-i|n-expr-p|
|00004a00| 20 65 71 75 61 6c 20 31 | 20 6d 61 74 68 2d 63 68 | equal 1| math-ch|
|00004a10| 65 63 6b 2d 75 6e 69 74 | 2d 6e 61 6d 65 20 65 72 |eck-unit|-name er|
|00004a20| 72 6f 72 20 22 49 6e 63 | 6f 6e 73 69 73 74 65 6e |ror "Inc|onsisten|
|00004a30| 74 20 74 65 6d 70 65 72 | 61 74 75 72 65 20 75 6e |t temper|ature un|
|00004a40| 69 74 73 22 20 33 20 22 | 4e 6f 74 20 61 20 76 61 |its" 3 "|Not a va|
|00004a50| 6c 69 64 20 74 65 6d 70 | 65 72 61 74 75 72 65 20 |lid temp|erature |
|00004a60| 75 6e 69 74 22 20 22 4e | 6f 74 20 61 20 70 75 72 |unit" "N|ot a pur|
|00004a70| 65 20 74 65 6d 70 65 72 | 61 74 75 72 65 20 65 78 |e temper|ature ex|
|00004a80| 70 72 65 73 73 69 6f 6e | 22 20 2f 20 76 61 72 20 |pression|" / var |
|00004a90| 69 6e 74 65 72 6e 20 22 | 76 61 72 2d 22 20 73 79 |intern "|var-" sy|
|00004aa0| 6d 62 6f 6c 2d 6e 61 6d | 65 20 4b 20 2d 20 28 66 |mbol-nam|e K - (f|
|00004ab0| 6c 6f 61 74 20 32 37 33 | 31 35 20 2d 32 29 20 46 |loat 273|15 -2) F|
|00004ac0| 20 2b 20 2a 20 28 66 72 | 61 63 20 39 20 35 29 20 | + * (fr|ac 9 5) |
|00004ad0| 33 32 20 43 20 28 66 72 | 61 63 20 39 20 35 29 20 |32 C (fr|ac 9 5) |
|00004ae0| 28 66 6c 6f 61 74 20 32 | 37 33 31 35 20 2d 32 29 |(float 2|7315 -2)|
|00004af0| 20 28 66 72 61 63 20 35 | 20 39 29 20 28 66 6c 6f | (frac 5| 9) (flo|
|00004b00| 61 74 20 32 37 33 31 35 | 20 2d 32 29 5d 20 31 35 |at 27315| -2)] 15|
|00004b10| 29 29 0a 0a 28 64 65 66 | 75 6e 20 6d 61 74 68 2d |))..(def|un math-|
|00004b20| 73 69 6d 70 6c 69 66 79 | 2d 75 6e 69 74 73 20 28 |simplify|-units (|
|00004b30| 61 29 20 28 62 79 74 65 | 2d 63 6f 64 65 20 22 c1 |a) (byte|-code ".|
|00004b40| c4 1a 18 c5 0b 21 2a 87 | 22 20 5b 6d 61 74 68 2d |.....!*.|" [math-|
|00004b50| 73 69 6d 70 6c 69 66 79 | 69 6e 67 2d 75 6e 69 74 |simplify|ing-unit|
|00004b60| 73 20 74 20 63 61 6c 63 | 2d 6d 61 74 72 69 78 2d |s t calc|-matrix-|
|00004b70| 6d 6f 64 65 20 61 20 73 | 63 61 6c 61 72 20 6d 61 |mode a s|calar ma|
|00004b80| 74 68 2d 73 69 6d 70 6c | 69 66 79 5d 20 32 29 29 |th-simpl|ify] 2))|
|00004b90| 0a 0a 28 66 73 65 74 20 | 28 71 75 6f 74 65 20 63 |..(fset |(quote c|
|00004ba0| 61 6c 63 46 75 6e 63 2d | 75 73 69 6d 70 6c 69 66 |alcFunc-|usimplif|
|00004bb0| 79 29 20 28 73 79 6d 62 | 6f 6c 2d 66 75 6e 63 74 |y) (symb|ol-funct|
|00004bc0| 69 6f 6e 20 28 71 75 6f | 74 65 20 6d 61 74 68 2d |ion (quo|te math-|
|00004bd0| 73 69 6d 70 6c 69 66 79 | 2d 75 6e 69 74 73 29 29 |simplify|-units))|
|00004be0| 29 0a 0a 28 6d 61 74 68 | 2d 64 65 66 73 69 6d 70 |)..(math|-defsimp|
|00004bf0| 6c 69 66 79 20 28 2b 20 | 2d 29 20 28 61 6e 64 20 |lify (+ |-) (and |
|00004c00| 6d 61 74 68 2d 73 69 6d | 70 6c 69 66 79 69 6e 67 |math-sim|plifying|
|00004c10| 2d 75 6e 69 74 73 20 28 | 6d 61 74 68 2d 75 6e 69 |-units (|math-uni|
|00004c20| 74 73 2d 69 6e 2d 65 78 | 70 72 2d 70 20 28 6e 74 |ts-in-ex|pr-p (nt|
|00004c30| 68 20 31 20 65 78 70 72 | 29 20 6e 69 6c 29 20 28 |h 1 expr|) nil) (|
|00004c40| 6c 65 74 2a 20 28 28 75 | 6e 69 74 73 20 28 6d 61 |let* ((u|nits (ma|
|00004c50| 74 68 2d 65 78 74 72 61 | 63 74 2d 75 6e 69 74 73 |th-extra|ct-units|
|00004c60| 20 28 6e 74 68 20 31 20 | 65 78 70 72 29 29 29 20 | (nth 1 |expr))) |
|00004c70| 28 72 61 74 69 6f 20 28 | 6d 61 74 68 2d 73 69 6d |(ratio (|math-sim|
|00004c80| 70 6c 69 66 79 20 28 6d | 61 74 68 2d 74 6f 2d 73 |plify (m|ath-to-s|
|00004c90| 74 61 6e 64 61 72 64 2d | 75 6e 69 74 73 20 28 6c |tandard-|units (l|
|00004ca0| 69 73 74 20 28 71 75 6f | 74 65 20 2f 29 20 28 6e |ist (quo|te /) (n|
|00004cb0| 74 68 20 32 20 65 78 70 | 72 29 20 75 6e 69 74 73 |th 2 exp|r) units|
|00004cc0| 29 20 6e 69 6c 29 29 29 | 29 20 28 69 66 20 28 6d |) nil)))|) (if (m|
|00004cd0| 61 74 68 2d 75 6e 69 74 | 73 2d 69 6e 2d 65 78 70 |ath-unit|s-in-exp|
|00004ce0| 72 2d 70 20 72 61 74 69 | 6f 20 6e 69 6c 29 20 28 |r-p rati|o nil) (|
|00004cf0| 70 72 6f 67 6e 20 28 63 | 61 6c 63 2d 72 65 63 6f |progn (c|alc-reco|
|00004d00| 72 64 2d 77 68 79 20 22 | 2a 49 6e 63 6f 6e 73 69 |rd-why "|*Inconsi|
|00004d10| 73 74 65 6e 74 20 75 6e | 69 74 73 22 20 65 78 70 |stent un|its" exp|
|00004d20| 72 29 20 65 78 70 72 29 | 20 28 6c 69 73 74 20 28 |r) expr)| (list (|
|00004d30| 71 75 6f 74 65 20 2a 29 | 20 28 6d 61 74 68 2d 61 |quote *)| (math-a|
|00004d40| 64 64 20 28 6d 61 74 68 | 2d 72 65 6d 6f 76 65 2d |dd (math|-remove-|
|00004d50| 75 6e 69 74 73 20 28 6e | 74 68 20 31 20 65 78 70 |units (n|th 1 exp|
|00004d60| 72 29 29 20 28 69 66 20 | 28 65 71 20 28 63 61 72 |r)) (if |(eq (car|
|00004d70| 20 65 78 70 72 29 20 28 | 71 75 6f 74 65 20 2d 29 | expr) (|quote -)|
|00004d80| 29 20 28 6d 61 74 68 2d | 6e 65 67 20 72 61 74 69 |) (math-|neg rati|
|00004d90| 6f 29 20 72 61 74 69 6f | 29 29 20 75 6e 69 74 73 |o) ratio|)) units|
|00004da0| 29 29 29 29 29 0a 0a 28 | 6d 61 74 68 2d 64 65 66 |)))))..(|math-def|
|00004db0| 73 69 6d 70 6c 69 66 79 | 20 2a 20 28 6d 61 74 68 |simplify| * (math|
|00004dc0| 2d 73 69 6d 70 6c 69 66 | 79 2d 75 6e 69 74 73 2d |-simplif|y-units-|
|00004dd0| 70 72 6f 64 29 29 0a 0a | 28 64 65 66 75 6e 20 6d |prod))..|(defun m|
|00004de0| 61 74 68 2d 73 69 6d 70 | 6c 69 66 79 2d 75 6e 69 |ath-simp|lify-uni|
|00004df0| 74 73 2d 70 72 6f 64 20 | 6e 69 6c 20 28 62 79 74 |ts-prod |nil (byt|
|00004e00| 65 2d 63 6f 64 65 20 22 | 08 85 9d 01 09 85 9d 01 |e-code "|........|
|00004e10| d2 0a 38 3a 3f 86 16 00 | d2 0a 38 40 d3 3e 85 9d |..8:?...|..8@.>..|
|00004e20| 01 d4 d2 0a 38 21 1b d5 | 0b 21 1c 0a 41 41 1d 0d |....8!..|.!..AA..|
|00004e30| 40 1e 06 0a 40 d6 3d 83 | 36 00 d2 82 37 00 d7 1e |@...@.=.|6...7...|
|00004e40| 07 d1 1e 08 d8 0e 06 21 | d6 3d 85 4e 00 0e 06 41 |.......!|.=.N...A|
|00004e50| 15 0d 40 89 16 06 88 d8 | 0e 06 21 d9 3d 85 74 00 |..@.....|..!.=.t.|
|00004e60| da db 0e 06 38 21 85 74 | 00 d6 0e 07 db 0e 06 38 |....8!.t|.......8|
|00004e70| 5c 22 16 07 0e 06 41 15 | 0d 40 89 16 06 88 dc 0e |\"....A.|.@......|
|00004e80| 06 21 89 16 08 85 9b 01 | da 0c 21 85 9b 01 0c dd |.!......|..!.....|
|00004e90| 57 86 9a 00 0c 0e 08 40 | de 3d 83 98 00 d2 82 99 |W......@|.=......|
|00004ea0| 00 df 59 85 9b 01 dd 1e | 09 0e 07 dd 57 83 ae 00 |..Y.....|....W...|
|00004eb0| e0 0e 0b 21 82 b0 00 0e | 0b 1e 0a 0e 0a 1e 0c d1 |...!....|........|
|00004ec0| 1e 0d d1 1e 0e 0e 08 40 | d2 0e 06 38 3d 86 de 00 |.......@|...8=...|
|00004ed0| d6 0e 07 db d2 e1 e2 d2 | 0e 06 38 21 dd 48 0e 0b |........|..8!.H..|
|00004ee0| 5c 22 38 38 5c 22 89 16 | 09 88 0c 0e 09 5c 5c 89 |\"88\"..|.....\\.|
|00004ef0| 14 88 0e 0c 85 4c 01 0e | 0c 40 40 e3 3e 86 4c 01 |.....L..|.@@.>.L.|
|00004f00| 0e 0c 40 40 e4 3d 85 03 | 01 0e 08 40 de 3d 3f 86 |..@@.=..|...@.=?.|
|00004f10| 4c 01 0c d6 db d2 0e 0c | 40 38 38 0e 07 5c 22 89 |L.......|@88..\".|
|00004f20| 16 0d 57 86 4c 01 e5 0e | 0c 40 40 dd 3d 83 29 01 |..W.L...|.@@.=.).|
|00004f30| 0e 08 40 82 35 01 e6 0e | 0c 40 40 21 e2 0e 08 40 |..@.5...|.@@!...@|
|00004f40| 21 50 21 89 16 0e 88 e7 | 0e 0c 40 40 dd 5c 22 85 |!P!.....|..@@.\".|
|00004f50| 4c 01 e1 d2 0e 0e 38 0e | 0f 5c 22 85 59 01 0e 0c |L.....8.|.\".Y...|
|00004f60| 41 89 16 0c 88 82 e6 00 | 88 0e 0c 85 9a 01 e7 0e |A.......|........|
|00004f70| 0d 0e 09 5c 22 85 9a 01 | 0e 0c 0e 0a 3d 3f 86 7d |...\"...|....=?.}|
|00004f80| 01 0c 0e 0d d6 e8 0e 07 | 21 df 5c 22 5c 5c 57 85 |........|!.\"\\W.|
|00004f90| 9a 01 e9 0a 41 d1 1e 10 | ea d2 0a 38 0e 09 0e 0d |....A...|...8....|
|00004fa0| 5a 5c 22 29 5c 22 88 e9 | 0d 0e 0e 5c 22 88 0a 2d |Z\")\"..|...\"..-|
|00004fb0| 2e 06 87 22 20 5b 6d 61 | 74 68 2d 73 69 6d 70 6c |..." [ma|th-simpl|
|00004fc0| 69 66 79 69 6e 67 2d 75 | 6e 69 74 73 20 63 61 6c |ifying-u|nits cal|
|00004fd0| 63 2d 61 75 74 6f 72 61 | 6e 67 65 2d 75 6e 69 74 |c-autora|nge-unit|
|00004fe0| 73 20 65 78 70 72 20 6e | 75 6d 20 78 70 6f 6e 20 |s expr n|um xpon |
|00004ff0| 75 6e 69 74 70 20 75 6e | 69 74 20 70 6f 77 20 75 |unitp un|it pow u|
|00005000| 20 75 78 70 6f 6e 20 70 | 72 65 66 20 6d 61 74 68 | uxpon p|ref math|
|00005010| 2d 75 6e 69 74 2d 70 72 | 65 66 69 78 65 73 20 70 |-unit-pr|efixes p|
|00005020| 20 70 78 70 6f 6e 20 70 | 6e 61 6d 65 20 6d 61 74 | pxpon p|name mat|
|00005030| 68 2d 75 6e 69 74 73 2d | 74 61 62 6c 65 20 63 61 |h-units-|table ca|
|00005040| 6c 63 2d 70 72 65 66 65 | 72 2d 66 72 61 63 20 6e |lc-prefe|r-frac n|
|00005050| 69 6c 20 31 20 28 62 69 | 67 70 6f 73 20 62 69 67 |il 1 (bi|gpos big|
|00005060| 6e 65 67 20 66 72 61 63 | 20 66 6c 6f 61 74 29 20 |neg frac| float) |
|00005070| 6d 61 74 68 2d 66 6c 6f | 61 74 20 63 61 6c 63 46 |math-flo|at calcF|
|00005080| 75 6e 63 2d 78 70 6f 6e | 20 2a 20 2d 31 20 63 61 |unc-xpon| * -1 ca|
|00005090| 72 2d 73 61 66 65 20 5e | 20 69 6e 74 65 67 65 72 |r-safe ^| integer|
|000050a0| 70 20 32 20 6d 61 74 68 | 2d 63 68 65 63 6b 2d 75 |p 2 math|-check-u|
|000050b0| 6e 69 74 2d 6e 61 6d 65 | 20 30 20 6d 20 33 20 72 |nit-name| 0 m 3 r|
|000050c0| 65 76 65 72 73 65 20 61 | 73 73 71 20 73 79 6d 62 |everse a|ssq symb|
|000050d0| 6f 6c 2d 6e 61 6d 65 20 | 28 31 30 30 20 36 38 20 |ol-name |(100 68 |
|000050e0| 31 30 34 20 37 32 29 20 | 39 39 20 6d 61 74 68 2d |104 72) |99 math-|
|000050f0| 62 75 69 6c 64 2d 76 61 | 72 2d 6e 61 6d 65 20 63 |build-va|r-name c|
|00005100| 68 61 72 2d 74 6f 2d 73 | 74 72 69 6e 67 20 2f 3d |har-to-s|tring /=|
|00005110| 20 6d 61 74 68 2d 61 62 | 73 20 73 65 74 63 61 72 | math-ab|s setcar|
|00005120| 20 63 61 6c 63 46 75 6e | 63 2d 73 63 66 5d 20 32 | calcFun|c-scf] 2|
|00005130| 37 29 29 0a 0a 28 6d 61 | 74 68 2d 64 65 66 73 69 |7))..(ma|th-defsi|
|00005140| 6d 70 6c 69 66 79 20 2f | 20 28 61 6e 64 20 6d 61 |mplify /| (and ma|
|00005150| 74 68 2d 73 69 6d 70 6c | 69 66 79 69 6e 67 2d 75 |th-simpl|ifying-u|
|00005160| 6e 69 74 73 20 28 6c 65 | 74 20 28 28 6e 70 20 28 |nits (le|t ((np (|
|00005170| 63 64 72 20 65 78 70 72 | 29 29 20 28 74 72 79 2d |cdr expr|)) (try-|
|00005180| 63 61 6e 63 65 6c 2d 75 | 6e 69 74 73 20 30 29 20 |cancel-u|nits 0) |
|00005190| 6e 20 6e 6e 29 20 28 73 | 65 74 71 20 6e 20 28 69 |n nn) (s|etq n (i|
|000051a0| 66 20 28 65 71 20 28 63 | 61 72 2d 73 61 66 65 20 |f (eq (c|ar-safe |
|000051b0| 28 6e 74 68 20 32 20 65 | 78 70 72 29 29 20 28 71 |(nth 2 e|xpr)) (q|
|000051c0| 75 6f 74 65 20 2a 29 29 | 20 28 63 64 72 20 28 6e |uote *))| (cdr (n|
|000051d0| 74 68 20 32 20 65 78 70 | 72 29 29 20 28 6e 74 68 |th 2 exp|r)) (nth|
|000051e0| 63 64 72 20 32 20 65 78 | 70 72 29 29 29 20 28 69 |cdr 2 ex|pr))) (i|
|000051f0| 66 20 28 6d 61 74 68 2d | 72 65 61 6c 70 20 28 63 |f (math-|realp (c|
|00005200| 61 72 20 6e 29 29 20 28 | 70 72 6f 67 6e 20 28 73 |ar n)) (|progn (s|
|00005210| 65 74 63 61 72 20 28 63 | 64 72 20 65 78 70 72 29 |etcar (c|dr expr)|
|00005220| 20 28 6d 61 74 68 2d 6d | 75 6c 20 28 6e 74 68 20 | (math-m|ul (nth |
|00005230| 31 20 65 78 70 72 29 20 | 28 6c 65 74 20 28 28 63 |1 expr) |(let ((c|
|00005240| 61 6c 63 2d 70 72 65 66 | 65 72 2d 66 72 61 63 20 |alc-pref|er-frac |
|00005250| 6e 69 6c 29 29 20 28 6d | 61 74 68 2d 64 69 76 20 |nil)) (m|ath-div |
|00005260| 31 20 28 63 61 72 20 6e | 29 29 29 29 29 20 28 73 |1 (car n|))))) (s|
|00005270| 65 74 63 61 72 20 6e 20 | 31 29 29 29 20 28 77 68 |etcar n |1))) (wh|
|00005280| 69 6c 65 20 28 65 71 20 | 28 63 61 72 2d 73 61 66 |ile (eq |(car-saf|
|00005290| 65 20 28 73 65 74 71 20 | 6e 20 28 63 61 72 20 6e |e (setq |n (car n|
|000052a0| 70 29 29 29 20 28 71 75 | 6f 74 65 20 2a 29 29 20 |p))) (qu|ote *)) |
|000052b0| 28 6d 61 74 68 2d 73 69 | 6d 70 6c 69 66 79 2d 75 |(math-si|mplify-u|
|000052c0| 6e 69 74 73 2d 64 69 76 | 69 73 6f 72 20 28 63 64 |nits-div|isor (cd|
|000052d0| 72 20 6e 29 20 28 63 64 | 72 20 28 63 64 72 20 65 |r n) (cd|r (cdr e|
|000052e0| 78 70 72 29 29 29 20 28 | 73 65 74 71 20 6e 70 20 |xpr))) (|setq np |
|000052f0| 28 63 64 72 20 28 63 64 | 72 20 6e 29 29 29 29 20 |(cdr (cd|r n)))) |
|00005300| 28 6d 61 74 68 2d 73 69 | 6d 70 6c 69 66 79 2d 75 |(math-si|mplify-u|
|00005310| 6e 69 74 73 2d 64 69 76 | 69 73 6f 72 20 6e 70 20 |nits-div|isor np |
|00005320| 28 63 64 72 20 28 63 64 | 72 20 65 78 70 72 29 29 |(cdr (cd|r expr))|
|00005330| 29 20 28 69 66 20 28 65 | 71 20 74 72 79 2d 63 61 |) (if (e|q try-ca|
|00005340| 6e 63 65 6c 2d 75 6e 69 | 74 73 20 30 29 20 28 6c |ncel-uni|ts 0) (l|
|00005350| 65 74 2a 20 28 28 6d 61 | 74 68 2d 73 69 6d 70 6c |et* ((ma|th-simpl|
|00005360| 69 66 79 69 6e 67 2d 75 | 6e 69 74 73 20 6e 69 6c |ifying-u|nits nil|
|00005370| 29 20 28 62 61 73 65 20 | 28 6d 61 74 68 2d 73 69 |) (base |(math-si|
|00005380| 6d 70 6c 69 66 79 20 28 | 6d 61 74 68 2d 74 6f 2d |mplify (|math-to-|
|00005390| 73 74 61 6e 64 61 72 64 | 2d 75 6e 69 74 73 20 65 |standard|-units e|
|000053a0| 78 70 72 20 6e 69 6c 29 | 29 29 29 20 28 69 66 20 |xpr nil)|))) (if |
|000053b0| 28 4d 61 74 68 2d 6e 75 | 6d 62 65 72 70 20 62 61 |(Math-nu|mberp ba|
|000053c0| 73 65 29 20 28 73 65 74 | 71 20 65 78 70 72 20 62 |se) (set|q expr b|
|000053d0| 61 73 65 29 29 29 29 20 | 28 69 66 20 28 65 71 20 |ase)))) |(if (eq |
|000053e0| 28 63 61 72 2d 73 61 66 | 65 20 65 78 70 72 29 20 |(car-saf|e expr) |
|000053f0| 28 71 75 6f 74 65 20 2f | 29 29 20 28 6d 61 74 68 |(quote /|)) (math|
|00005400| 2d 73 69 6d 70 6c 69 66 | 79 2d 75 6e 69 74 73 2d |-simplif|y-units-|
|00005410| 70 72 6f 64 29 29 20 65 | 78 70 72 29 29 29 0a 0a |prod)) e|xpr)))..|
|00005420| 28 64 65 66 75 6e 20 6d | 61 74 68 2d 73 69 6d 70 |(defun m|ath-simp|
|00005430| 6c 69 66 79 2d 75 6e 69 | 74 73 2d 64 69 76 69 73 |lify-uni|ts-divis|
|00005440| 6f 72 20 28 6e 70 20 64 | 70 29 20 28 62 79 74 65 |or (np d|p) (byte|
|00005450| 2d 63 6f 64 65 20 22 09 | 40 c6 c6 c6 1c 1b 1a 18 |-code ".|@.......|
|00005460| c7 0d 40 89 12 21 c8 3d | 85 35 00 c9 08 ca 0a 38 |..@..!.=|.5.....8|
|00005470| 5c 22 89 14 85 2b 00 cb | 09 0c 89 10 5c 22 88 cb |\"...+..|....\"..|
|00005480| 0a 41 ca 5c 22 88 0a 41 | 41 89 15 88 82 09 00 88 |.A.\"..A|A.......|
|00005490| c9 08 0a 5c 22 89 14 85 | 4a 00 cb 09 0c 89 10 5c |...\"...|J......\|
|000054a0| 22 88 cb 0d ca 5c 22 2c | 87 22 20 5b 6e 20 6e 70 |"....\",|." [n np|
|000054b0| 20 64 20 64 64 20 74 65 | 6d 70 20 64 70 20 6e 69 | d dd te|mp dp ni|
|000054c0| 6c 20 63 61 72 2d 73 61 | 66 65 20 2a 20 6d 61 74 |l car-sa|fe * mat|
|000054d0| 68 2d 73 69 6d 70 6c 69 | 66 79 2d 75 6e 69 74 73 |h-simpli|fy-units|
|000054e0| 2d 71 75 6f 74 69 65 6e | 74 20 31 20 73 65 74 63 |-quotien|t 1 setc|
|000054f0| 61 72 5d 20 39 29 29 0a | 0a 28 64 65 66 75 6e 20 |ar] 9)).|.(defun |
|00005500| 6d 61 74 68 2d 73 69 6d | 70 6c 69 66 79 2d 75 6e |math-sim|plify-un|
|00005510| 69 74 73 2d 71 75 6f 74 | 69 65 6e 74 20 28 6e 20 |its-quot|ient (n |
|00005520| 64 29 20 28 62 79 74 65 | 2d 63 6f 64 65 20 22 c9 |d) (byte|-code ".|
|00005530| c9 19 18 ca 0a 21 cb 3d | 85 1d 00 cc cd 0a 38 21 |.....!.=|......8!|
|00005540| 85 1d 00 cd 0a 38 10 c9 | 0a 38 89 12 88 ca 0b 21 |.....8..|.8.....!|
|00005550| cb 3d 85 37 00 cc cd 0b | 38 21 85 37 00 cd 0b 38 |.=.7....|8!.7...8|
|00005560| 11 c9 0b 38 89 13 88 ce | 0a 21 ce 0b 21 1d 1c 0c |...8....|.!..!...|
|00005570| 85 b3 00 0d 85 b3 00 cf | d0 0c 38 d0 0d 38 5c 22 |........|..8..8\"|
|00005580| 85 56 00 08 09 3d 83 63 | 00 d1 d2 0a 0b 45 c6 5c |.V...=.c|.....E.\|
|00005590| 22 82 b3 00 c6 1e 07 d0 | 0c 38 14 d0 0d 38 89 15 |".......|.8...8..|
|000055a0| 88 0c 85 b0 00 0d 89 16 | 07 88 0e 07 85 a7 00 0c |........|........|
|000055b0| 40 40 0e 07 40 40 3d 85 | 9c 00 0e 08 d3 0c 40 41 |@@..@@=.|......@A|
|000055c0| 08 5c 22 d3 0d 40 41 09 | 5c 22 5a 5c 5c 89 16 08 |.\"..@A.|\"Z\\...|
|000055d0| 88 0e 07 41 89 16 07 88 | 82 79 00 88 0c 41 89 14 |...A....|.y...A..|
|000055e0| 88 82 70 00 88 c6 29 2a | 2a 87 22 20 5b 70 6f 77 |..p...)*|*." [pow|
|000055f0| 31 20 70 6f 77 32 20 6e | 20 64 20 75 6e 20 75 64 |1 pow2 n| d un ud|
|00005600| 20 6e 69 6c 20 75 64 31 | 20 74 72 79 2d 63 61 6e | nil ud1| try-can|
|00005610| 63 65 6c 2d 75 6e 69 74 | 73 20 31 20 63 61 72 2d |cel-unit|s 1 car-|
|00005620| 73 61 66 65 20 5e 20 69 | 6e 74 65 67 65 72 70 20 |safe ^ i|ntegerp |
|00005630| 32 20 6d 61 74 68 2d 63 | 68 65 63 6b 2d 75 6e 69 |2 math-c|heck-uni|
|00005640| 74 2d 6e 61 6d 65 20 65 | 71 75 61 6c 20 34 20 6d |t-name e|qual 4 m|
|00005650| 61 74 68 2d 74 6f 2d 73 | 74 61 6e 64 61 72 64 2d |ath-to-s|tandard-|
|00005660| 75 6e 69 74 73 20 2f 20 | 2a 5d 20 31 36 29 29 0a |units / |*] 16)).|
|00005670| 0a 28 6d 61 74 68 2d 64 | 65 66 73 69 6d 70 6c 69 |.(math-d|efsimpli|
|00005680| 66 79 20 5e 20 28 61 6e | 64 20 6d 61 74 68 2d 73 |fy ^ (an|d math-s|
|00005690| 69 6d 70 6c 69 66 79 69 | 6e 67 2d 75 6e 69 74 73 |implifyi|ng-units|
|000056a0| 20 28 6d 61 74 68 2d 72 | 65 61 6c 70 20 28 6e 74 | (math-r|ealp (nt|
|000056b0| 68 20 32 20 65 78 70 72 | 29 29 20 28 69 66 20 28 |h 2 expr|)) (if (|
|000056c0| 6d 65 6d 71 20 28 63 61 | 72 2d 73 61 66 65 20 28 |memq (ca|r-safe (|
|000056d0| 6e 74 68 20 31 20 65 78 | 70 72 29 29 20 28 71 75 |nth 1 ex|pr)) (qu|
|000056e0| 6f 74 65 20 28 2a 20 2f | 29 29 29 20 28 6c 69 73 |ote (* /|))) (lis|
|000056f0| 74 20 28 63 61 72 20 28 | 6e 74 68 20 31 20 65 78 |t (car (|nth 1 ex|
|00005700| 70 72 29 29 20 28 6c 69 | 73 74 20 28 71 75 6f 74 |pr)) (li|st (quot|
|00005710| 65 20 5e 29 20 28 6e 74 | 68 20 31 20 28 6e 74 68 |e ^) (nt|h 1 (nth|
|00005720| 20 31 20 65 78 70 72 29 | 29 20 28 6e 74 68 20 32 | 1 expr)|) (nth 2|
|00005730| 20 65 78 70 72 29 29 20 | 28 6c 69 73 74 20 28 71 | expr)) |(list (q|
|00005740| 75 6f 74 65 20 5e 29 20 | 28 6e 74 68 20 32 20 28 |uote ^) |(nth 2 (|
|00005750| 6e 74 68 20 31 20 65 78 | 70 72 29 29 20 28 6e 74 |nth 1 ex|pr)) (nt|
|00005760| 68 20 32 20 65 78 70 72 | 29 29 29 20 28 6d 61 74 |h 2 expr|))) (mat|
|00005770| 68 2d 73 69 6d 70 6c 69 | 66 79 2d 75 6e 69 74 73 |h-simpli|fy-units|
|00005780| 2d 70 6f 77 20 28 6e 74 | 68 20 31 20 65 78 70 72 |-pow (nt|h 1 expr|
|00005790| 29 20 28 6e 74 68 20 32 | 20 65 78 70 72 29 29 29 |) (nth 2| expr)))|
|000057a0| 29 29 0a 0a 28 6d 61 74 | 68 2d 64 65 66 73 69 6d |))..(mat|h-defsim|
|000057b0| 70 6c 69 66 79 20 63 61 | 6c 63 46 75 6e 63 2d 73 |plify ca|lcFunc-s|
|000057c0| 71 72 74 20 28 61 6e 64 | 20 6d 61 74 68 2d 73 69 |qrt (and| math-si|
|000057d0| 6d 70 6c 69 66 79 69 6e | 67 2d 75 6e 69 74 73 20 |mplifyin|g-units |
|000057e0| 28 69 66 20 28 6d 65 6d | 71 20 28 63 61 72 2d 73 |(if (mem|q (car-s|
|000057f0| 61 66 65 20 28 6e 74 68 | 20 31 20 65 78 70 72 29 |afe (nth| 1 expr)|
|00005800| 29 20 28 71 75 6f 74 65 | 20 28 2a 20 2f 29 29 29 |) (quote| (* /)))|
|00005810| 20 28 6c 69 73 74 20 28 | 63 61 72 20 28 6e 74 68 | (list (|car (nth|
|00005820| 20 31 20 65 78 70 72 29 | 29 20 28 6c 69 73 74 20 | 1 expr)|) (list |
|00005830| 28 71 75 6f 74 65 20 63 | 61 6c 63 46 75 6e 63 2d |(quote c|alcFunc-|
|00005840| 73 71 72 74 29 20 28 6e | 74 68 20 31 20 28 6e 74 |sqrt) (n|th 1 (nt|
|00005850| 68 20 31 20 65 78 70 72 | 29 29 29 20 28 6c 69 73 |h 1 expr|))) (lis|
|00005860| 74 20 28 71 75 6f 74 65 | 20 63 61 6c 63 46 75 6e |t (quote| calcFun|
|00005870| 63 2d 73 71 72 74 29 20 | 28 6e 74 68 20 32 20 28 |c-sqrt) |(nth 2 (|
|00005880| 6e 74 68 20 31 20 65 78 | 70 72 29 29 29 29 20 28 |nth 1 ex|pr)))) (|
|00005890| 6d 61 74 68 2d 73 69 6d | 70 6c 69 66 79 2d 75 6e |math-sim|plify-un|
|000058a0| 69 74 73 2d 70 6f 77 20 | 28 6e 74 68 20 31 20 65 |its-pow |(nth 1 e|
|000058b0| 78 70 72 29 20 28 71 75 | 6f 74 65 20 28 66 72 61 |xpr) (qu|ote (fra|
|000058c0| 63 20 31 20 32 29 29 29 | 29 29 29 0a 0a 28 6d 61 |c 1 2)))|)))..(ma|
|000058d0| 74 68 2d 64 65 66 73 69 | 6d 70 6c 69 66 79 20 28 |th-defsi|mplify (|
|000058e0| 63 61 6c 63 46 75 6e 63 | 2d 66 6c 6f 6f 72 20 63 |calcFunc|-floor c|
|000058f0| 61 6c 63 46 75 6e 63 2d | 63 65 69 6c 20 63 61 6c |alcFunc-|ceil cal|
|00005900| 63 46 75 6e 63 2d 72 6f | 75 6e 64 20 63 61 6c 63 |cFunc-ro|und calc|
|00005910| 46 75 6e 63 2d 72 6f 75 | 6e 64 65 20 63 61 6c 63 |Func-rou|nde calc|
|00005920| 46 75 6e 63 2d 72 6f 75 | 6e 64 75 20 63 61 6c 63 |Func-rou|ndu calc|
|00005930| 46 75 6e 63 2d 74 72 75 | 6e 63 20 63 61 6c 63 46 |Func-tru|nc calcF|
|00005940| 75 6e 63 2d 66 6c 6f 61 | 74 20 63 61 6c 63 46 75 |unc-floa|t calcFu|
|00005950| 6e 63 2d 66 72 61 63 20 | 63 61 6c 63 46 75 6e 63 |nc-frac |calcFunc|
|00005960| 2d 61 62 73 20 63 61 6c | 63 46 75 6e 63 2d 63 6c |-abs cal|cFunc-cl|
|00005970| 65 61 6e 29 20 28 61 6e | 64 20 6d 61 74 68 2d 73 |ean) (an|d math-s|
|00005980| 69 6d 70 6c 69 66 79 69 | 6e 67 2d 75 6e 69 74 73 |implifyi|ng-units|
|00005990| 20 28 3d 20 28 6c 65 6e | 67 74 68 20 65 78 70 72 | (= (len|gth expr|
|000059a0| 29 20 32 29 20 28 69 66 | 20 28 6d 61 74 68 2d 6f |) 2) (if| (math-o|
|000059b0| 6e 6c 79 2d 75 6e 69 74 | 73 2d 69 6e 2d 65 78 70 |nly-unit|s-in-exp|
|000059c0| 72 2d 70 20 28 6e 74 68 | 20 31 20 65 78 70 72 29 |r-p (nth| 1 expr)|
|000059d0| 29 20 28 6e 74 68 20 31 | 20 65 78 70 72 29 20 28 |) (nth 1| expr) (|
|000059e0| 69 66 20 28 61 6e 64 20 | 28 6d 65 6d 71 20 28 63 |if (and |(memq (c|
|000059f0| 61 72 2d 73 61 66 65 20 | 28 6e 74 68 20 31 20 65 |ar-safe |(nth 1 e|
|00005a00| 78 70 72 29 29 20 28 71 | 75 6f 74 65 20 28 2a 20 |xpr)) (q|uote (* |
|00005a10| 2f 29 29 29 20 28 6f 72 | 20 28 6d 61 74 68 2d 6f |/))) (or| (math-o|
|00005a20| 6e 6c 79 2d 75 6e 69 74 | 73 2d 69 6e 2d 65 78 70 |nly-unit|s-in-exp|
|00005a30| 72 2d 70 20 28 6e 74 68 | 20 31 20 28 6e 74 68 20 |r-p (nth| 1 (nth |
|00005a40| 31 20 65 78 70 72 29 29 | 29 20 28 6d 61 74 68 2d |1 expr))|) (math-|
|00005a50| 6f 6e 6c 79 2d 75 6e 69 | 74 73 2d 69 6e 2d 65 78 |only-uni|ts-in-ex|
|00005a60| 70 72 2d 70 20 28 6e 74 | 68 20 32 20 28 6e 74 68 |pr-p (nt|h 2 (nth|
|00005a70| 20 31 20 65 78 70 72 29 | 29 29 29 29 20 28 6c 69 | 1 expr)|)))) (li|
|00005a80| 73 74 20 28 63 61 72 20 | 28 6e 74 68 20 31 20 65 |st (car |(nth 1 e|
|00005a90| 78 70 72 29 29 20 28 63 | 6f 6e 73 20 28 63 61 72 |xpr)) (c|ons (car|
|00005aa0| 20 65 78 70 72 29 20 28 | 63 6f 6e 73 20 28 6e 74 | expr) (|cons (nt|
|00005ab0| 68 20 31 20 28 6e 74 68 | 20 31 20 65 78 70 72 29 |h 1 (nth| 1 expr)|
|00005ac0| 29 20 28 63 64 72 20 28 | 63 64 72 20 65 78 70 72 |) (cdr (|cdr expr|
|00005ad0| 29 29 29 29 20 28 63 6f | 6e 73 20 28 63 61 72 20 |)))) (co|ns (car |
|00005ae0| 65 78 70 72 29 20 28 63 | 6f 6e 73 20 28 6e 74 68 |expr) (c|ons (nth|
|00005af0| 20 32 20 28 6e 74 68 20 | 31 20 65 78 70 72 29 29 | 2 (nth |1 expr))|
|00005b00| 20 28 63 64 72 20 28 63 | 64 72 20 65 78 70 72 29 | (cdr (c|dr expr)|
|00005b10| 29 29 29 29 29 29 29 29 | 0a 0a 28 64 65 66 75 6e |))))))))|..(defun|
|00005b20| 20 6d 61 74 68 2d 73 69 | 6d 70 6c 69 66 79 2d 75 | math-si|mplify-u|
|00005b30| 6e 69 74 73 2d 70 6f 77 | 20 28 61 20 70 6f 77 29 |nits-pow| (a pow)|
|00005b40| 20 28 62 79 74 65 2d 63 | 6f 64 65 20 22 c6 08 21 | (byte-c|ode "..!|
|00005b50| c7 3d 85 15 00 c8 c9 08 | 38 21 85 15 00 ca cb 08 |.=......|8!......|
|00005b60| 38 21 83 26 00 c7 c9 08 | 38 cc 09 cb 08 38 5c 22 |8!.&....|8....8\"|
|00005b70| 45 82 51 00 c8 08 21 1a | cd 09 21 1b c6 0b 21 ce |E.Q...!.|..!...!.|
|00005b80| 3d 85 39 00 cb 0b 38 1c | 0a 85 50 00 0c 85 50 00 |=.9...8.|..P...P.|
|00005b90| cf 0a 0c 5c 22 85 50 00 | c7 d0 08 c5 5c 22 09 45 |...\".P.|....\".E|
|00005ba0| 2b 87 22 20 5b 61 20 70 | 6f 77 20 75 20 70 66 20 |+." [a p|ow u pf |
|00005bb0| 64 20 6e 69 6c 20 63 61 | 72 2d 73 61 66 65 20 5e |d nil ca|r-safe ^|
|00005bc0| 20 6d 61 74 68 2d 63 68 | 65 63 6b 2d 75 6e 69 74 | math-ch|eck-unit|
|00005bd0| 2d 6e 61 6d 65 20 31 20 | 6d 61 74 68 2d 72 65 61 |-name 1 |math-rea|
|00005be0| 6c 70 20 32 20 6d 61 74 | 68 2d 6d 75 6c 20 6d 61 |lp 2 mat|h-mul ma|
|00005bf0| 74 68 2d 74 6f 2d 73 69 | 6d 70 6c 65 2d 66 72 61 |th-to-si|mple-fra|
|00005c00| 63 74 69 6f 6e 20 66 72 | 61 63 20 6d 61 74 68 2d |ction fr|ac math-|
|00005c10| 75 6e 69 74 73 2d 61 72 | 65 2d 6d 75 6c 74 69 70 |units-ar|e-multip|
|00005c20| 6c 65 20 6d 61 74 68 2d | 74 6f 2d 73 74 61 6e 64 |le math-|to-stand|
|00005c30| 61 72 64 2d 75 6e 69 74 | 73 5d 20 31 32 29 29 0a |ard-unit|s] 12)).|
|00005c40| 0a 28 64 65 66 75 6e 20 | 6d 61 74 68 2d 75 6e 69 |.(defun |math-uni|
|00005c50| 74 73 2d 61 72 65 2d 6d | 75 6c 74 69 70 6c 65 20 |ts-are-m|ultiple |
|00005c60| 28 75 20 6e 29 20 28 62 | 79 74 65 2d 63 6f 64 65 |(u n) (b|yte-code|
|00005c70| 20 22 c2 08 38 89 10 88 | 08 85 12 00 c3 08 40 41 | "..8...|......@A|
|00005c80| 09 5c 22 c4 55 85 1d 00 | 08 41 89 10 88 82 06 00 |.\".U...|.A......|
|00005c90| 88 08 3f 87 22 20 5b 75 | 20 6e 20 34 20 25 20 30 |..?." [u| n 4 % 0|
|00005ca0| 5d 20 34 29 29 0a 0a 28 | 6d 61 74 68 2d 64 65 66 |] 4))..(|math-def|
|00005cb0| 73 69 6d 70 6c 69 66 79 | 20 63 61 6c 63 46 75 6e |simplify| calcFun|
|00005cc0| 63 2d 73 69 6e 20 28 61 | 6e 64 20 6d 61 74 68 2d |c-sin (a|nd math-|
|00005cd0| 73 69 6d 70 6c 69 66 79 | 69 6e 67 2d 75 6e 69 74 |simplify|ing-unit|
|00005ce0| 73 20 28 6d 61 74 68 2d | 75 6e 69 74 73 2d 69 6e |s (math-|units-in|
|00005cf0| 2d 65 78 70 72 2d 70 20 | 28 6e 74 68 20 31 20 65 |-expr-p |(nth 1 e|
|00005d00| 78 70 72 29 20 6e 69 6c | 29 20 28 6c 65 74 20 28 |xpr) nil|) (let (|
|00005d10| 28 72 61 64 20 28 6d 61 | 74 68 2d 73 69 6d 70 6c |(rad (ma|th-simpl|
|00005d20| 69 66 79 2d 75 6e 69 74 | 73 20 28 6d 61 74 68 2d |ify-unit|s (math-|
|00005d30| 65 76 61 6c 75 61 74 65 | 2d 65 78 70 72 20 28 6d |evaluate|-expr (m|
|00005d40| 61 74 68 2d 74 6f 2d 73 | 74 61 6e 64 61 72 64 2d |ath-to-s|tandard-|
|00005d50| 75 6e 69 74 73 20 28 6e | 74 68 20 31 20 65 78 70 |units (n|th 1 exp|
|00005d60| 72 29 20 6e 69 6c 29 29 | 29 29 20 28 63 61 6c 63 |r) nil))|)) (calc|
|00005d70| 2d 61 6e 67 6c 65 2d 6d | 6f 64 65 20 28 71 75 6f |-angle-m|ode (quo|
|00005d80| 74 65 20 72 61 64 29 29 | 29 20 28 61 6e 64 20 28 |te rad))|) (and (|
|00005d90| 65 71 20 28 63 61 72 2d | 73 61 66 65 20 72 61 64 |eq (car-|safe rad|
|00005da0| 29 20 28 71 75 6f 74 65 | 20 2a 29 29 20 28 6d 61 |) (quote| *)) (ma|
|00005db0| 74 68 2d 72 65 61 6c 70 | 20 28 6e 74 68 20 31 20 |th-realp| (nth 1 |
|00005dc0| 72 61 64 29 29 20 28 65 | 71 20 28 63 61 72 2d 73 |rad)) (e|q (car-s|
|00005dd0| 61 66 65 20 28 6e 74 68 | 20 32 20 72 61 64 29 29 |afe (nth| 2 rad))|
|00005de0| 20 28 71 75 6f 74 65 20 | 76 61 72 29 29 20 28 65 | (quote |var)) (e|
|00005df0| 71 20 28 6e 74 68 20 31 | 20 28 6e 74 68 20 32 20 |q (nth 1| (nth 2 |
|00005e00| 72 61 64 29 29 20 28 71 | 75 6f 74 65 20 72 61 64 |rad)) (q|uote rad|
|00005e10| 29 29 20 28 6c 69 73 74 | 20 28 71 75 6f 74 65 20 |)) (list| (quote |
|00005e20| 63 61 6c 63 46 75 6e 63 | 2d 73 69 6e 29 20 28 6e |calcFunc|-sin) (n|
|00005e30| 74 68 20 31 20 72 61 64 | 29 29 29 29 29 29 0a 0a |th 1 rad|))))))..|
|00005e40| 28 6d 61 74 68 2d 64 65 | 66 73 69 6d 70 6c 69 66 |(math-de|fsimplif|
|00005e50| 79 20 63 61 6c 63 46 75 | 6e 63 2d 63 6f 73 20 28 |y calcFu|nc-cos (|
|00005e60| 61 6e 64 20 6d 61 74 68 | 2d 73 69 6d 70 6c 69 66 |and math|-simplif|
|00005e70| 79 69 6e 67 2d 75 6e 69 | 74 73 20 28 6d 61 74 68 |ying-uni|ts (math|
|00005e80| 2d 75 6e 69 74 73 2d 69 | 6e 2d 65 78 70 72 2d 70 |-units-i|n-expr-p|
|00005e90| 20 28 6e 74 68 20 31 20 | 65 78 70 72 29 20 6e 69 | (nth 1 |expr) ni|
|00005ea0| 6c 29 20 28 6c 65 74 20 | 28 28 72 61 64 20 28 6d |l) (let |((rad (m|
|00005eb0| 61 74 68 2d 73 69 6d 70 | 6c 69 66 79 2d 75 6e 69 |ath-simp|lify-uni|
|00005ec0| 74 73 20 28 6d 61 74 68 | 2d 65 76 61 6c 75 61 74 |ts (math|-evaluat|
|00005ed0| 65 2d 65 78 70 72 20 28 | 6d 61 74 68 2d 74 6f 2d |e-expr (|math-to-|
|00005ee0| 73 74 61 6e 64 61 72 64 | 2d 75 6e 69 74 73 20 28 |standard|-units (|
|00005ef0| 6e 74 68 20 31 20 65 78 | 70 72 29 20 6e 69 6c 29 |nth 1 ex|pr) nil)|
|00005f00| 29 29 29 20 28 63 61 6c | 63 2d 61 6e 67 6c 65 2d |))) (cal|c-angle-|
|00005f10| 6d 6f 64 65 20 28 71 75 | 6f 74 65 20 72 61 64 29 |mode (qu|ote rad)|
|00005f20| 29 29 20 28 61 6e 64 20 | 28 65 71 20 28 63 61 72 |)) (and |(eq (car|
|00005f30| 2d 73 61 66 65 20 72 61 | 64 29 20 28 71 75 6f 74 |-safe ra|d) (quot|
|00005f40| 65 20 2a 29 29 20 28 6d | 61 74 68 2d 72 65 61 6c |e *)) (m|ath-real|
|00005f50| 70 20 28 6e 74 68 20 31 | 20 72 61 64 29 29 20 28 |p (nth 1| rad)) (|
|00005f60| 65 71 20 28 63 61 72 2d | 73 61 66 65 20 28 6e 74 |eq (car-|safe (nt|
|00005f70| 68 20 32 20 72 61 64 29 | 29 20 28 71 75 6f 74 65 |h 2 rad)|) (quote|
|00005f80| 20 76 61 72 29 29 20 28 | 65 71 20 28 6e 74 68 20 | var)) (|eq (nth |
|00005f90| 31 20 28 6e 74 68 20 32 | 20 72 61 64 29 29 20 28 |1 (nth 2| rad)) (|
|00005fa0| 71 75 6f 74 65 20 72 61 | 64 29 29 20 28 6c 69 73 |quote ra|d)) (lis|
|00005fb0| 74 20 28 71 75 6f 74 65 | 20 63 61 6c 63 46 75 6e |t (quote| calcFun|
|00005fc0| 63 2d 63 6f 73 29 20 28 | 6e 74 68 20 31 20 72 61 |c-cos) (|nth 1 ra|
|00005fd0| 64 29 29 29 29 29 29 0a | 0a 28 6d 61 74 68 2d 64 |d)))))).|.(math-d|
|00005fe0| 65 66 73 69 6d 70 6c 69 | 66 79 20 63 61 6c 63 46 |efsimpli|fy calcF|
|00005ff0| 75 6e 63 2d 74 61 6e 20 | 28 61 6e 64 20 6d 61 74 |unc-tan |(and mat|
|00006000| 68 2d 73 69 6d 70 6c 69 | 66 79 69 6e 67 2d 75 6e |h-simpli|fying-un|
|00006010| 69 74 73 20 28 6d 61 74 | 68 2d 75 6e 69 74 73 2d |its (mat|h-units-|
|00006020| 69 6e 2d 65 78 70 72 2d | 70 20 28 6e 74 68 20 31 |in-expr-|p (nth 1|
|00006030| 20 65 78 70 72 29 20 6e | 69 6c 29 20 28 6c 65 74 | expr) n|il) (let|
|00006040| 20 28 28 72 61 64 20 28 | 6d 61 74 68 2d 73 69 6d | ((rad (|math-sim|
|00006050| 70 6c 69 66 79 2d 75 6e | 69 74 73 20 28 6d 61 74 |plify-un|its (mat|
|00006060| 68 2d 65 76 61 6c 75 61 | 74 65 2d 65 78 70 72 20 |h-evalua|te-expr |
|00006070| 28 6d 61 74 68 2d 74 6f | 2d 73 74 61 6e 64 61 72 |(math-to|-standar|
|00006080| 64 2d 75 6e 69 74 73 20 | 28 6e 74 68 20 31 20 65 |d-units |(nth 1 e|
|00006090| 78 70 72 29 20 6e 69 6c | 29 29 29 29 20 28 63 61 |xpr) nil|)))) (ca|
|000060a0| 6c 63 2d 61 6e 67 6c 65 | 2d 6d 6f 64 65 20 28 71 |lc-angle|-mode (q|
|000060b0| 75 6f 74 65 20 72 61 64 | 29 29 29 20 28 61 6e 64 |uote rad|))) (and|
|000060c0| 20 28 65 71 20 28 63 61 | 72 2d 73 61 66 65 20 72 | (eq (ca|r-safe r|
|000060d0| 61 64 29 20 28 71 75 6f | 74 65 20 2a 29 29 20 28 |ad) (quo|te *)) (|
|000060e0| 6d 61 74 68 2d 72 65 61 | 6c 70 20 28 6e 74 68 20 |math-rea|lp (nth |
|000060f0| 31 20 72 61 64 29 29 20 | 28 65 71 20 28 63 61 72 |1 rad)) |(eq (car|
|00006100| 2d 73 61 66 65 20 28 6e | 74 68 20 32 20 72 61 64 |-safe (n|th 2 rad|
|00006110| 29 29 20 28 71 75 6f 74 | 65 20 76 61 72 29 29 20 |)) (quot|e var)) |
|00006120| 28 65 71 20 28 6e 74 68 | 20 31 20 28 6e 74 68 20 |(eq (nth| 1 (nth |
|00006130| 32 20 72 61 64 29 29 20 | 28 71 75 6f 74 65 20 72 |2 rad)) |(quote r|
|00006140| 61 64 29 29 20 28 6c 69 | 73 74 20 28 71 75 6f 74 |ad)) (li|st (quot|
|00006150| 65 20 63 61 6c 63 46 75 | 6e 63 2d 74 61 6e 29 20 |e calcFu|nc-tan) |
|00006160| 28 6e 74 68 20 31 20 72 | 61 64 29 29 29 29 29 29 |(nth 1 r|ad))))))|
|00006170| 0a 0a 28 64 65 66 75 6e | 20 6d 61 74 68 2d 72 65 |..(defun| math-re|
|00006180| 6d 6f 76 65 2d 75 6e 69 | 74 73 20 28 65 78 70 72 |move-uni|ts (expr|
|00006190| 29 20 28 62 79 74 65 2d | 63 6f 64 65 20 22 c1 08 |) (byte-|code "..|
|000061a0| 21 83 0a 00 c2 82 23 00 | 08 3a 3f 86 14 00 08 40 |!.....#.|.:?....@|
|000061b0| c3 3e 83 1b 00 08 82 23 | 00 08 40 c4 c5 08 41 5c |.>.....#|..@...A\|
|000061c0| 22 42 87 22 20 5b 65 78 | 70 72 20 6d 61 74 68 2d |"B." [ex|pr math-|
|000061d0| 63 68 65 63 6b 2d 75 6e | 69 74 2d 6e 61 6d 65 20 |check-un|it-name |
|000061e0| 31 20 28 62 69 67 70 6f | 73 20 62 69 67 6e 65 67 |1 (bigpo|s bigneg|
|000061f0| 20 66 72 61 63 20 66 6c | 6f 61 74 20 63 70 6c 78 | frac fl|oat cplx|
|00006200| 20 70 6f 6c 61 72 20 68 | 6d 73 20 64 61 74 65 20 | polar h|ms date |
|00006210| 6d 6f 64 20 76 61 72 29 | 20 6d 61 70 63 61 72 20 |mod var)| mapcar |
|00006220| 6d 61 74 68 2d 72 65 6d | 6f 76 65 2d 75 6e 69 74 |math-rem|ove-unit|
|00006230| 73 5d 20 35 29 29 0a 0a | 28 64 65 66 75 6e 20 6d |s] 5))..|(defun m|
|00006240| 61 74 68 2d 65 78 74 72 | 61 63 74 2d 75 6e 69 74 |ath-extr|act-unit|
|00006250| 73 20 28 65 78 70 72 29 | 20 28 62 79 74 65 2d 63 |s (expr)| (byte-c|
|00006260| 6f 64 65 20 22 c1 08 21 | c2 3e 83 13 00 08 40 c3 |ode "..!|.>....@.|
|00006270| c4 08 41 5c 22 42 82 1e | 00 c5 08 21 83 1d 00 08 |..A\"B..|...!....|
|00006280| 82 1e 00 c6 87 22 20 5b | 65 78 70 72 20 63 61 72 |....." [|expr car|
|00006290| 2d 73 61 66 65 20 28 2a | 20 2f 29 20 6d 61 70 63 |-safe (*| /) mapc|
|000062a0| 61 72 20 6d 61 74 68 2d | 65 78 74 72 61 63 74 2d |ar math-|extract-|
|000062b0| 75 6e 69 74 73 20 6d 61 | 74 68 2d 63 68 65 63 6b |units ma|th-check|
|000062c0| 2d 75 6e 69 74 2d 6e 61 | 6d 65 20 31 5d 20 35 29 |-unit-na|me 1] 5)|
|000062d0| 29 0a 0a 28 64 65 66 75 | 6e 20 6d 61 74 68 2d 62 |)..(defu|n math-b|
|000062e0| 75 69 6c 64 2d 75 6e 69 | 74 73 2d 74 61 62 6c 65 |uild-uni|ts-table|
|000062f0| 2d 62 75 66 66 65 72 20 | 28 65 6e 74 65 72 2d 62 |-buffer |(enter-b|
|00006300| 75 66 66 65 72 29 20 28 | 62 79 74 65 2d 63 6f 64 |uffer) (|byte-cod|
|00006310| 65 20 22 08 85 0b 00 09 | 85 0b 00 d4 d5 21 3f 83 |e ".....|.....!?.|
|00006320| d3 01 d6 d5 21 d7 20 0c | d8 3d 83 1e 00 c5 82 1f |....!. .|.=......|
|00006330| 00 0c d9 c5 da db c5 c5 | c5 c5 1e 0d 1e 0c 1e 0b |........|........|
|00006340| 1e 0a 1e 09 1e 08 1e 07 | 1e 06 1c 1b 1a 8a dc dd |........|........|
|00006350| 21 88 0a 71 88 c5 89 16 | 0e 88 de 20 88 df 63 88 |!..q....|... ..c.|
|00006360| e0 63 88 0b 85 38 01 0b | 40 16 0b e1 0e 0b 38 89 |.c...8..|@.....8.|
|00006370| 16 0c 88 0e 0b 40 e2 3d | 85 6c 00 cf 89 16 0a 88 |.....@.=|.l......|
|00006380| 0e 0a 85 79 00 e3 0e 0b | 40 0e 10 5c 22 89 16 0d |...y....|@..\"...|
|00006390| 88 0e 0c 85 90 00 0e 0c | 47 e4 56 85 90 00 0e 0c |........|G.V.....|
|000063a0| e5 48 e6 3d 85 a4 00 0b | 08 3d 86 9b 00 e7 63 88 |.H.=....|.=....c.|
|000063b0| 0e 0c e4 c5 4f 89 16 0c | 88 e8 63 88 0e 0d 85 af |....O...|..c.....|
|000063c0| 00 e9 63 88 ea 0e 0b 40 | 21 63 88 0e 0d 85 be 00 |..c....@|!c......|
|000063d0| eb 63 88 ec 0e 0b 38 83 | d3 00 da 6a 88 ea ec 0e |.c....8.|...j....|
|000063e0| 0b 38 21 63 82 dd 00 0e | 0a 86 dd 00 da 6a 88 ed |.8!c....|.....j..|
|000063f0| 63 88 ee 6a 88 0e 0d 85 | e8 00 e9 63 88 e4 0e 0b |c..j....|...c....|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.