summaryrefslogtreecommitdiff
path: root/lizfcm.a
blob: 1d27463724a6783a9702623d29341286a2165f06 (plain)
ofshex dumpascii
0000 21 3c 61 72 63 68 3e 0a 23 31 2f 32 30 20 20 20 20 20 20 20 20 20 20 20 31 36 39 36 39 30 39 30 !<arch>.#1/20...........16969090
0020 34 31 20 20 35 30 31 20 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 32 38 20 20 20 20 20 20 41..501...20....100644..28......
0040 20 20 60 0a 5f 5f 2e 53 59 4d 44 45 46 20 53 4f 52 54 45 44 00 00 00 00 00 00 00 00 00 00 00 00 ..`.__.SYMDEF.SORTED............
0060 23 31 2f 32 38 20 20 20 20 20 20 20 20 20 20 20 31 36 39 36 39 30 38 39 39 31 20 20 35 30 31 20 #1/28...........1696908991..501.
0080 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 36 39 32 20 20 20 20 20 20 20 60 0a 61 70 70 72 ..20....100644..692.......`.appr
00a0 6f 78 2c 64 65 72 69 76 61 74 69 76 65 2e 6c 69 73 70 00 00 00 00 00 00 28 69 6e 2d 70 61 63 6b ox,derivative.lisp......(in-pack
00c0 61 67 65 20 3a 6c 69 7a 66 63 6d 2e 61 70 70 72 6f 78 29 0a 0a 28 64 65 66 75 6e 20 63 65 6e 74 age.:lizfcm.approx)..(defun.cent
00e0 72 61 6c 2d 64 65 72 69 76 61 74 69 76 65 2d 61 74 20 28 66 20 78 20 26 6f 70 74 69 6f 6e 61 6c ral-derivative-at.(f.x.&optional
0100 20 28 64 65 6c 74 61 20 30 2e 30 31 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 78 32 20 28 2b 20 78 .(delta.0.01))...(let*.((x2.(+.x
0120 20 64 65 6c 74 61 29 29 0a 20 20 20 20 20 20 20 20 20 28 78 31 20 28 2d 20 78 20 64 65 6c 74 61 .delta))..........(x1.(-.x.delta
0140 29 29 0a 20 20 20 20 20 20 20 20 20 28 79 32 20 28 61 70 70 6c 79 20 66 20 28 6c 69 73 74 20 78 ))..........(y2.(apply.f.(list.x
0160 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 79 31 20 28 61 70 70 6c 79 20 66 20 28 6c 69 73 74 2)))..........(y1.(apply.f.(list
0180 20 78 31 29 29 29 29 0a 20 20 20 20 28 2f 20 28 2d 20 79 32 20 79 31 29 0a 20 20 20 20 20 20 20 .x1)))).....(/.(-.y2.y1)........
01a0 28 2d 20 78 32 20 78 31 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 6f 72 77 61 72 64 2d 64 65 72 (-.x2.x1))))..(defun.forward-der
01c0 69 76 61 74 69 76 65 2d 61 74 20 28 66 20 78 20 26 6f 70 74 69 6f 6e 61 6c 20 28 64 65 6c 74 61 ivative-at.(f.x.&optional.(delta
01e0 20 30 2e 30 31 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 78 32 20 28 2b 20 78 20 64 65 6c 74 61 29 .0.01))...(let*.((x2.(+.x.delta)
0200 29 0a 20 20 20 20 20 20 20 20 20 28 78 31 20 78 29 0a 20 20 20 20 20 20 20 20 20 28 79 32 20 28 )..........(x1.x)..........(y2.(
0220 61 70 70 6c 79 20 66 20 28 6c 69 73 74 20 78 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 79 31 apply.f.(list.x2)))..........(y1
0240 20 28 61 70 70 6c 79 20 66 20 28 6c 69 73 74 20 78 31 29 29 29 29 0a 20 20 20 20 28 2f 20 28 2d .(apply.f.(list.x1)))).....(/.(-
0260 20 79 32 20 79 31 29 0a 20 20 20 20 20 20 20 28 2d 20 78 32 20 78 31 29 29 29 29 0a 0a 28 64 65 .y2.y1)........(-.x2.x1))))..(de
0280 66 75 6e 20 62 61 63 6b 77 61 72 64 2d 64 65 72 69 76 61 74 69 76 65 2d 61 74 20 28 66 20 78 20 fun.backward-derivative-at.(f.x.
02a0 26 6f 70 74 69 6f 6e 61 6c 20 28 64 65 6c 74 61 20 30 2e 30 31 29 29 0a 20 20 28 6c 65 74 2a 20 &optional.(delta.0.01))...(let*.
02c0 28 28 78 32 20 78 29 0a 20 20 20 20 20 20 20 20 20 28 78 31 20 28 2d 20 78 20 64 65 6c 74 61 29 ((x2.x)..........(x1.(-.x.delta)
02e0 29 0a 20 20 20 20 20 20 20 20 20 28 79 32 20 28 61 70 70 6c 79 20 66 20 28 6c 69 73 74 20 78 32 )..........(y2.(apply.f.(list.x2
0300 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 79 31 20 28 61 70 70 6c 79 20 66 20 28 6c 69 73 74 20 )))..........(y1.(apply.f.(list.
0320 78 31 29 29 29 29 0a 20 20 20 20 28 2f 20 28 2d 20 79 32 20 79 31 29 0a 20 20 20 20 20 20 20 28 x1)))).....(/.(-.y2.y1)........(
0340 2d 20 78 32 20 78 31 29 29 29 29 0a 0a 0a 0a 0a 23 31 2f 32 38 20 20 20 20 20 20 20 20 20 20 20 -.x2.x1)))).....#1/28...........
0360 31 36 39 36 39 30 38 31 32 33 20 20 35 30 31 20 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 1696908123..501...20....100644..
0380 33 32 34 20 20 20 20 20 20 20 60 0a 61 70 70 72 6f 78 2c 6d 61 63 65 70 73 2e 6c 69 73 70 00 00 324.......`.approx,maceps.lisp..
03a0 00 00 00 00 00 00 00 00 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a 6c 69 7a 66 63 6d 2e 61 70 70 72 ........(in-package.:lizfcm.appr
03c0 6f 78 29 0a 0a 28 64 65 66 75 6e 20 63 6f 6d 70 75 74 65 2d 6d 61 63 65 70 73 20 28 66 20 61 20 ox)..(defun.compute-maceps.(f.a.
03e0 69 6e 69 74 29 0a 20 20 28 6c 65 74 20 28 28 68 20 69 6e 69 74 29 0a 20 20 20 20 20 20 20 20 28 init)...(let.((h.init).........(
0400 65 72 72 20 69 6e 69 74 29 29 0a 20 20 20 20 28 6c 6f 6f 70 20 63 6f 6c 6c 65 63 74 20 28 6c 69 err.init)).....(loop.collect.(li
0420 73 74 20 61 20 68 20 65 72 72 29 0a 20 20 20 20 20 20 20 20 20 20 64 6f 0a 20 20 20 20 20 20 20 st.a.h.err)...........do........
0440 20 20 20 28 73 65 74 66 20 68 20 28 2f 20 68 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(setf.h.(/.h.2)..............
0460 20 20 20 65 72 72 20 28 61 62 73 20 28 2d 20 28 66 75 6e 63 61 6c 6c 20 66 20 28 2b 20 61 20 68 ...err.(abs.(-.(funcall.f.(+.a.h
0480 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 )).............................(
04a0 66 75 6e 63 61 6c 6c 20 66 20 61 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 funcall.f.a))))...........while.
04c0 28 3e 20 65 72 72 20 30 29 29 29 29 0a 0a 0a 0a 23 31 2f 32 38 20 20 20 20 20 20 20 20 20 20 20 (>.err.0))))....#1/28...........
04e0 31 36 39 36 39 30 38 39 39 39 20 20 35 30 31 20 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 1696908999..501...20....100644..
0500 32 32 38 20 20 20 20 20 20 20 60 0a 61 70 70 72 6f 78 2c 70 61 63 6b 61 67 65 2e 6c 69 73 70 00 228.......`.approx,package.lisp.
0520 00 00 00 00 00 00 00 00 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a 63 6c 2d 75 73 65 72 29 0a 28 64 ........(in-package.:cl-user).(d
0540 65 66 70 61 63 6b 61 67 65 20 6c 69 7a 66 63 6d 2e 61 70 70 72 6f 78 0a 20 20 28 3a 75 73 65 20 efpackage.lizfcm.approx...(:use.
0560 3a 63 6c 29 0a 20 20 28 3a 65 78 70 6f 72 74 20 3a 63 65 6e 74 72 61 6c 2d 64 65 72 69 76 61 74 :cl)...(:export.:central-derivat
0580 69 76 65 2d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 3a 66 6f 72 77 61 72 64 2d 64 65 72 69 76 ive-at............:forward-deriv
05a0 61 74 69 76 65 2d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 3a 62 61 63 6b 77 61 72 64 2d 64 65 ative-at............:backward-de
05c0 72 69 76 61 74 69 76 65 2d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6d 70 75 74 65 2d rivative-at............:compute-
05e0 6d 61 63 65 70 73 29 29 0a 0a 0a 0a 0a 0a 0a 0a 23 31 2f 32 30 20 20 20 20 20 20 20 20 20 20 20 maceps))........#1/20...........
0600 31 36 39 36 39 30 38 37 30 31 20 20 35 30 31 20 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 1696908701..501...20....100644..
0620 31 35 30 38 20 20 20 20 20 20 60 0a 6c 69 7a 66 63 6d 2e 61 73 64 00 00 00 00 00 00 00 00 00 00 1508......`.lizfcm.asd..........
0640 28 61 73 64 66 3a 64 65 66 73 79 73 74 65 6d 20 22 6c 69 7a 66 63 6d 22 0a 20 20 20 20 20 20 20 (asdf:defsystem."lizfcm"........
0660 20 20 20 20 20 20 20 20 20 3a 76 65 72 73 69 6f 6e 20 22 30 2e 31 2e 30 22 0a 20 20 20 20 20 20 .........:version."0.1.0".......
0680 20 20 20 20 20 20 20 20 20 20 3a 61 75 74 68 6f 72 20 22 45 6c 69 7a 61 62 65 74 68 20 48 75 6e ..........:author."Elizabeth.Hun
06a0 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69 63 65 6e 73 65 20 22 4d 49 54 t".................:license."MIT
06c0 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6d 70 6f 6e 65 6e 74 73 0a 20 20 ".................:components...
06e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 3a 66 69 6c 65 20 22 75 74 69 6c 73 2c 77 69 74 ..............((:file."utils,wit
0700 68 69 6e 2d 72 61 6e 67 65 22 20 3a 64 65 70 65 6e 64 73 2d 6f 6e 20 28 22 75 74 69 6c 73 2c 70 hin-range".:depends-on.("utils,p
0720 61 63 6b 61 67 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 66 69 6c ackage"))..................(:fil
0740 65 20 22 75 74 69 6c 73 2c 74 61 62 6c 65 22 20 3a 64 65 70 65 6e 64 73 2d 6f 6e 20 28 22 75 74 e."utils,table".:depends-on.("ut
0760 69 6c 73 2c 70 61 63 6b 61 67 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ils,package"))..................
0780 28 3a 66 69 6c 65 20 22 75 74 69 6c 73 2c 70 61 63 6b 61 67 65 22 29 0a 20 20 20 20 20 20 20 20 (:file."utils,package").........
07a0 20 20 20 20 20 20 20 20 20 28 3a 66 69 6c 65 20 22 61 70 70 72 6f 78 2c 6d 61 63 65 70 73 22 20 .........(:file."approx,maceps".
07c0 3a 64 65 70 65 6e 64 73 2d 6f 6e 20 28 22 61 70 70 72 6f 78 2c 70 61 63 6b 61 67 65 22 29 29 0a :depends-on.("approx,package")).
07e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 66 69 6c 65 20 22 61 70 70 72 6f 78 2c .................(:file."approx,
0800 64 65 72 69 76 61 74 69 76 65 22 20 3a 64 65 70 65 6e 64 73 2d 6f 6e 20 28 22 61 70 70 72 6f 78 derivative".:depends-on.("approx
0820 2c 70 61 63 6b 61 67 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 66 ,package"))..................(:f
0840 69 6c 65 20 22 61 70 70 72 6f 78 2c 70 61 63 6b 61 67 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 ile."approx,package")...........
0860 20 20 20 20 20 20 20 28 3a 66 69 6c 65 20 22 76 65 63 74 6f 72 2c 64 69 73 74 61 6e 63 65 22 20 .......(:file."vector,distance".
0880 3a 64 65 70 65 6e 64 73 2d 6f 6e 20 28 22 76 65 63 74 6f 72 2c 6e 6f 72 6d 22 20 22 76 65 63 74 :depends-on.("vector,norm"."vect
08a0 6f 72 2c 70 61 63 6b 61 67 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 or,package"))..................(
08c0 3a 66 69 6c 65 20 22 76 65 63 74 6f 72 2c 6e 6f 72 6d 22 20 3a 64 65 70 65 6e 64 73 2d 6f 6e 20 :file."vector,norm".:depends-on.
08e0 28 22 76 65 63 74 6f 72 2c 70 61 63 6b 61 67 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ("vector,package")).............
0900 20 20 20 20 20 28 3a 66 69 6c 65 20 22 76 65 63 74 6f 72 2c 70 61 63 6b 61 67 65 22 29 29 29 0a .....(:file."vector,package"))).
0920 0a 0a 28 61 73 64 66 3a 64 65 66 73 79 73 74 65 6d 20 22 6c 69 7a 66 63 6d 2f 74 65 73 74 73 22 ..(asdf:defsystem."lizfcm/tests"
0940 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 61 75 74 68 6f 72 20 22 45 6c 69 7a 61 62 .................:author."Elizab
0960 65 74 68 20 48 75 6e 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69 63 65 6e eth.Hunt".................:licen
0980 73 65 20 22 4d 49 54 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 64 65 70 65 6e 64 se."MIT".................:depend
09a0 73 2d 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 66 69 76 65 61 6d 0a 20 20 s-on.................(:fiveam...
09c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69 7a 66 63 6d 29 0a 20 20 20 20 20 20 20 ................:lizfcm)........
09e0 20 20 20 20 20 20 20 20 20 3a 63 6f 6d 70 6f 6e 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 .........:components............
0a00 20 20 20 20 20 28 28 3a 66 69 6c 65 20 22 74 65 73 74 73 2c 74 61 62 6c 65 22 20 3a 64 65 70 65 .....((:file."tests,table".:depe
0a20 6e 64 73 2d 6f 6e 20 28 22 74 65 73 74 73 2c 73 75 69 74 65 22 29 29 0a 20 20 20 20 20 20 20 20 nds-on.("tests,suite")).........
0a40 20 20 20 20 20 20 20 20 20 28 3a 66 69 6c 65 20 22 74 65 73 74 73 2c 6d 61 63 65 70 73 22 20 3a .........(:file."tests,maceps".:
0a60 64 65 70 65 6e 64 73 2d 6f 6e 20 28 22 74 65 73 74 73 2c 73 75 69 74 65 22 29 29 0a 20 20 20 20 depends-on.("tests,suite")).....
0a80 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 66 69 6c 65 20 22 74 65 73 74 73 2c 61 70 70 72 6f .............(:file."tests,appro
0aa0 78 22 20 3a 64 65 70 65 6e 64 73 2d 6f 6e 20 28 22 74 65 73 74 73 2c 73 75 69 74 65 22 29 29 0a x".:depends-on.("tests,suite")).
0ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 66 69 6c 65 20 22 74 65 73 74 73 2c 76 .................(:file."tests,v
0ae0 65 63 74 6f 72 22 20 3a 64 65 70 65 6e 64 73 2d 6f 6e 20 28 22 74 65 73 74 73 2c 73 75 69 74 65 ector".:depends-on.("tests,suite
0b00 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 66 69 6c 65 20 22 74 65 73 "))..................(:file."tes
0b20 74 73 2c 73 75 69 74 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 70 65 72 ts,suite")).................:per
0b40 66 6f 72 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 73 64 66 3a 74 65 73 74 2d form.................(asdf:test-
0b60 6f 70 20 28 6f 20 63 29 20 28 75 69 6f 70 3a 73 79 6d 62 6f 6c 2d 63 61 6c 6c 0a 20 20 20 20 20 op.(o.c).(uiop:symbol-call......
0b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
0ba0 20 3a 66 69 76 65 61 6d 20 3a 72 75 6e 21 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .:fiveam.:run!..................
0bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 69 6f 70 3a 66 69 6e 64 2d .....................(uiop:find-
0be0 73 79 6d 62 6f 6c 2a 20 3a 6c 69 7a 66 63 6d 2d 74 65 73 74 2d 73 75 69 74 65 20 3a 6c 69 7a 66 symbol*.:lizfcm-test-suite.:lizf
0c00 63 6d 2f 74 65 73 74 73 29 29 29 29 0a 0a 0a 0a 23 31 2f 32 38 20 20 20 20 20 20 20 20 20 20 20 cm/tests))))....#1/28...........
0c20 31 36 39 36 39 30 38 39 38 36 20 20 35 30 31 20 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 1696908986..501...20....100644..
0c40 31 33 39 36 20 20 20 20 20 20 60 0a 74 65 73 74 73 2c 61 70 70 72 6f 78 2e 6c 69 73 70 00 00 00 1396......`.tests,approx.lisp...
0c60 00 00 00 00 00 00 00 00 28 64 65 66 70 61 63 6b 61 67 65 20 6c 69 7a 66 63 6d 2f 74 65 73 74 73 ........(defpackage.lizfcm/tests
0c80 2e 61 70 70 72 6f 78 0a 20 20 28 3a 75 73 65 20 3a 63 6c 0a 20 20 20 20 20 20 20 20 3a 66 69 76 .approx...(:use.:cl.........:fiv
0ca0 65 61 6d 0a 20 20 20 20 20 20 20 20 3a 6c 69 7a 66 63 6d 2e 61 70 70 72 6f 78 0a 20 20 20 20 20 eam.........:lizfcm.approx......
0cc0 20 20 20 3a 6c 69 7a 66 63 6d 2e 75 74 69 6c 73 0a 20 20 20 20 20 20 20 20 3a 6c 69 7a 66 63 6d ...:lizfcm.utils.........:lizfcm
0ce0 2f 74 65 73 74 73 29 0a 20 20 28 3a 65 78 70 6f 72 74 20 3a 61 70 70 72 6f 78 2d 73 75 69 74 65 /tests)...(:export.:approx-suite
0d00 29 29 0a 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a 6c 69 7a 66 63 6d 2f 74 65 73 74 73 2e 61 70 70 )).(in-package.:lizfcm/tests.app
0d20 72 6f 78 29 0a 0a 28 64 65 66 2d 73 75 69 74 65 20 61 70 70 72 6f 78 2d 73 75 69 74 65 0a 20 20 rox)..(def-suite.approx-suite...
0d40 20 20 20 20 20 20 20 20 20 3a 69 6e 20 6c 69 7a 66 63 6d 2d 74 65 73 74 2d 73 75 69 74 65 29 0a .........:in.lizfcm-test-suite).
0d60 28 69 6e 2d 73 75 69 74 65 20 61 70 70 72 6f 78 2d 73 75 69 74 65 29 0a 0a 28 74 65 73 74 20 63 (in-suite.approx-suite)..(test.c
0d80 65 6e 74 72 61 6c 2d 64 65 72 69 76 61 74 69 76 65 2d 61 74 0a 20 20 20 20 20 20 3a 64 65 73 63 entral-derivative-at.......:desc
0da0 72 69 70 74 69 6f 6e 20 22 64 65 72 69 76 61 74 69 76 65 20 61 74 20 69 73 20 77 69 74 68 69 6e ription."derivative.at.is.within
0dc0 20 62 6f 75 6e 64 73 22 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 20 28 6c 61 6d 62 64 61 20 .bounds".......(let.((f.(lambda.
0de0 28 78 29 20 28 2a 20 78 20 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 78 20 32 29 0a (x).(*.x.x))).............(x.2).
0e00 20 20 20 20 20 20 20 20 20 20 20 20 28 61 63 63 65 70 74 65 64 2d 64 65 6c 74 61 20 30 2e 30 32 ............(accepted-delta.0.02
0e20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 2d 70 72 69 6d 65 2d 61 74 2d 78 20 34 29 0a 20 ).............(f-prime-at-x.4)..
0e40 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 74 61 20 30 2e 30 31 29 29 0a 20 20 20 20 20 20 20 ...........(delta.0.01))........
0e60 20 28 69 73 20 28 77 69 74 68 69 6e 2d 72 61 6e 67 65 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 .(is.(within-range-p............
0e80 20 20 20 28 63 65 6e 74 72 61 6c 2d 64 65 72 69 76 61 74 69 76 65 2d 61 74 20 66 20 78 20 64 65 ...(central-derivative-at.f.x.de
0ea0 6c 74 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 2d 70 72 69 6d 65 2d 61 74 2d 78 0a lta)...............f-prime-at-x.
0ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 63 65 70 74 65 64 2d 64 65 6c 74 61 29 29 29 29 ..............accepted-delta))))
0ee0 0a 0a 28 74 65 73 74 20 66 77 64 2d 64 65 72 69 76 61 74 69 76 65 2d 61 74 0a 20 20 20 20 20 20 ..(test.fwd-derivative-at.......
0f00 3a 64 65 73 63 72 69 70 74 69 6f 6e 20 22 66 6f 72 77 61 72 64 20 64 65 72 69 76 61 74 69 76 65 :description."forward.derivative
0f20 20 61 74 20 69 73 20 77 69 74 68 69 6e 20 62 6f 75 6e 64 73 22 0a 20 20 20 20 20 20 28 6c 65 74 .at.is.within.bounds".......(let
0f40 20 28 28 66 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2a 20 78 20 78 29 29 29 0a 20 20 20 20 20 .((f.(lambda.(x).(*.x.x)))......
0f60 20 20 20 20 20 20 20 28 78 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 61 63 63 65 70 74 .......(x.2).............(accept
0f80 65 64 2d 64 65 6c 74 61 20 30 2e 30 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 2d 70 72 ed-delta.0.02).............(f-pr
0fa0 69 6d 65 2d 61 74 2d 78 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 74 61 20 30 ime-at-x.4).............(delta.0
0fc0 2e 30 31 29 29 0a 20 20 20 20 20 20 20 20 28 69 73 20 28 77 69 74 68 69 6e 2d 72 61 6e 67 65 2d .01)).........(is.(within-range-
0fe0 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 64 65 72 69 76 61 74 p...............(forward-derivat
1000 69 76 65 2d 61 74 20 66 20 78 20 64 65 6c 74 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ive-at.f.x.delta)...............
1020 66 2d 70 72 69 6d 65 2d 61 74 2d 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 63 65 70 f-prime-at-x...............accep
1040 74 65 64 2d 64 65 6c 74 61 29 29 29 29 0a 0a 28 74 65 73 74 20 62 77 64 2d 64 65 72 69 76 61 74 ted-delta))))..(test.bwd-derivat
1060 69 76 65 2d 61 74 0a 20 20 20 20 20 20 3a 64 65 73 63 72 69 70 74 69 6f 6e 20 22 62 61 63 6b 77 ive-at.......:description."backw
1080 61 72 64 20 64 65 72 69 76 61 74 69 76 65 20 61 74 20 69 73 20 77 69 74 68 69 6e 20 62 6f 75 6e ard.derivative.at.is.within.boun
10a0 64 73 22 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 ds".......(let.((f.(lambda.(x).(
10c0 2a 20 78 20 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 78 20 32 29 0a 20 20 20 20 20 *.x.x))).............(x.2)......
10e0 20 20 20 20 20 20 20 28 61 63 63 65 70 74 65 64 2d 64 65 6c 74 61 20 30 2e 30 32 29 0a 20 20 20 .......(accepted-delta.0.02)....
1100 20 20 20 20 20 20 20 20 20 28 66 2d 70 72 69 6d 65 2d 61 74 2d 78 20 34 29 0a 20 20 20 20 20 20 .........(f-prime-at-x.4).......
1120 20 20 20 20 20 20 28 64 65 6c 74 61 20 30 2e 30 31 29 29 0a 20 20 20 20 20 20 20 20 28 69 73 20 ......(delta.0.01)).........(is.
1140 28 77 69 74 68 69 6e 2d 72 61 6e 67 65 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 (within-range-p...............(b
1160 61 63 6b 77 61 72 64 2d 64 65 72 69 76 61 74 69 76 65 2d 61 74 20 66 20 78 20 64 65 6c 74 61 29 ackward-derivative-at.f.x.delta)
1180 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 2d 70 72 69 6d 65 2d 61 74 2d 78 0a 20 20 20 20 ...............f-prime-at-x.....
11a0 20 20 20 20 20 20 20 20 20 20 61 63 63 65 70 74 65 64 2d 64 65 6c 74 61 29 29 29 29 0a 0a 0a 0a ..........accepted-delta))))....
11c0 23 31 2f 32 38 20 20 20 20 20 20 20 20 20 20 20 31 36 39 36 39 30 38 31 32 34 20 20 35 30 31 20 #1/28...........1696908124..501.
11e0 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 31 30 39 32 20 20 20 20 20 20 60 0a 74 65 73 74 ..20....100644..1092......`.test
1200 73 2c 6d 61 63 65 70 73 2e 6c 69 73 70 00 00 00 00 00 00 00 00 00 00 00 28 64 65 66 70 61 63 6b s,maceps.lisp...........(defpack
1220 61 67 65 20 6c 69 7a 66 63 6d 2f 74 65 73 74 73 2e 6d 61 63 65 70 73 0a 20 20 28 3a 75 73 65 20 age.lizfcm/tests.maceps...(:use.
1240 3a 63 6c 0a 20 20 20 20 20 20 20 20 3a 66 69 76 65 61 6d 0a 20 20 20 20 20 20 20 20 3a 6c 69 7a :cl.........:fiveam.........:liz
1260 66 63 6d 2e 61 70 70 72 6f 78 0a 20 20 20 20 20 20 20 20 3a 6c 69 7a 66 63 6d 2e 75 74 69 6c 73 fcm.approx.........:lizfcm.utils
1280 0a 20 20 20 20 20 20 20 20 3a 6c 69 7a 66 63 6d 2f 74 65 73 74 73 29 0a 20 20 28 3a 65 78 70 6f .........:lizfcm/tests)...(:expo
12a0 72 74 20 3a 61 70 70 72 6f 78 2d 73 75 69 74 65 29 29 0a 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a rt.:approx-suite)).(in-package.:
12c0 6c 69 7a 66 63 6d 2f 74 65 73 74 73 2e 6d 61 63 65 70 73 29 0a 0a 28 64 65 66 2d 73 75 69 74 65 lizfcm/tests.maceps)..(def-suite
12e0 20 6d 61 63 65 70 73 2d 73 75 69 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 3a 69 6e 20 6c 69 7a .maceps-suite............:in.liz
1300 66 63 6d 2d 74 65 73 74 2d 73 75 69 74 65 29 0a 28 69 6e 2d 73 75 69 74 65 20 6d 61 63 65 70 73 fcm-test-suite).(in-suite.maceps
1320 2d 73 75 69 74 65 29 0a 0a 28 74 65 73 74 20 6d 61 63 65 70 73 0a 20 20 20 20 20 20 3a 64 65 73 -suite)..(test.maceps.......:des
1340 63 72 69 70 74 69 6f 6e 20 22 64 6f 75 62 6c 65 20 70 72 65 63 69 73 69 6f 6e 20 70 72 6f 76 69 cription."double.precision.provi
1360 64 65 73 20 70 72 65 63 69 73 69 6f 6e 20 61 62 6f 75 74 20 28 6d 61 63 20 65 70 73 20 6f 66 20 des.precision.about.(mac.eps.of.
1380 73 69 6e 67 6c 65 20 70 72 65 63 69 73 69 6f 6e 29 20 73 71 75 61 72 65 64 22 0a 20 20 20 20 20 single.precision).squared"......
13a0 20 28 6c 65 74 2a 20 28 28 6d 61 63 65 70 73 2d 63 6f 6d 70 75 74 61 74 69 6f 6e 2d 64 6f 75 62 .(let*.((maceps-computation-doub
13c0 6c 65 20 28 63 6f 6d 70 75 74 65 2d 6d 61 63 65 70 73 20 28 6c 61 6d 62 64 61 20 28 78 29 20 78 le.(compute-maceps.(lambda.(x).x
13e0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
1400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 2e 30 64 30 0a ..........................1.0d0.
1420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 2e 30 64 30 29 29 0a ........................1.0d0)).
1460 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 63 65 70 73 2d 63 6f 6d 70 75 74 61 74 69 6f 6e .............(maceps-computation
1480 2d 73 69 6e 67 6c 65 20 28 63 6f 6d 70 75 74 65 2d 6d 61 63 65 70 73 20 28 6c 61 6d 62 64 61 20 -single.(compute-maceps.(lambda.
14a0 28 78 29 20 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (x).x)..........................
14c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 ...............................1
14e0 2e 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .0..............................
1500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 2e 30 29 29 ...........................1.0))
1520 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 73 74 2d 64 6f 75 62 6c 65 2d 68 20 28 63 61 ..............(last-double-h.(ca
1540 64 61 72 20 28 6c 61 73 74 20 6d 61 63 65 70 73 2d 63 6f 6d 70 75 74 61 74 69 6f 6e 2d 64 6f 75 dar.(last.maceps-computation-dou
1560 62 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 73 74 2d 73 69 6e 67 6c 65 ble)))..............(last-single
1580 2d 68 20 28 63 61 64 61 72 20 28 6c 61 73 74 20 6d 61 63 65 70 73 2d 63 6f 6d 70 75 74 61 74 69 -h.(cadar.(last.maceps-computati
15a0 6f 6e 2d 73 69 6e 67 6c 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 73 20 28 77 69 74 68 69 on-single)))).........(is.(withi
15c0 6e 2d 72 61 6e 67 65 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 6c 61 73 74 2d n-range-p...............(-.last-
15e0 64 6f 75 62 6c 65 2d 68 20 28 2a 20 6c 61 73 74 2d 73 69 6e 67 6c 65 2d 68 20 6c 61 73 74 2d 73 double-h.(*.last-single-h.last-s
1600 69 6e 67 6c 65 2d 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 0a 20 20 20 20 20 20 ingle-h))...............0.......
1620 20 20 20 20 20 20 20 20 6c 61 73 74 2d 73 69 6e 67 6c 65 2d 68 29 29 29 29 0a 0a 0a 0a 0a 0a 0a ........last-single-h)))).......
1640 23 31 2f 32 30 20 20 20 20 20 20 20 20 20 20 20 31 36 39 36 39 30 38 31 32 34 20 20 35 30 31 20 #1/20...........1696908124..501.
1660 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 32 36 30 20 20 20 20 20 20 20 60 0a 74 65 73 74 ..20....100644..260.......`.test
1680 73 2c 73 75 69 74 65 2e 6c 69 73 70 00 00 00 00 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a 63 6c 2d s,suite.lisp....(in-package.:cl-
16a0 75 73 65 72 29 0a 28 64 65 66 70 61 63 6b 61 67 65 20 6c 69 7a 66 63 6d 2f 74 65 73 74 73 0a 20 user).(defpackage.lizfcm/tests..
16c0 20 28 3a 75 73 65 20 3a 63 6c 0a 20 20 20 20 20 20 20 20 3a 66 69 76 65 61 6d 29 0a 20 20 28 3a .(:use.:cl.........:fiveam)...(:
16e0 65 78 70 6f 72 74 20 3a 72 75 6e 21 0a 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69 7a 66 63 6d 2d export.:run!............:lizfcm-
1700 74 65 73 74 2d 73 75 69 74 65 29 29 0a 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a 6c 69 7a 66 63 6d test-suite)).(in-package.:lizfcm
1720 2f 74 65 73 74 73 29 0a 0a 28 64 65 66 2d 73 75 69 74 65 20 6c 69 7a 66 63 6d 2d 74 65 73 74 2d /tests)..(def-suite.lizfcm-test-
1740 73 75 69 74 65 0a 20 20 20 20 3a 64 65 73 63 72 69 70 74 69 6f 6e 20 22 54 68 65 20 75 6c 74 69 suite.....:description."The.ulti
1760 6d 61 74 65 20 70 61 72 65 6e 74 20 74 65 73 74 20 73 75 69 74 65 22 29 0a 0a 0a 0a 0a 0a 0a 0a mate.parent.test.suite")........
1780 23 31 2f 32 30 20 20 20 20 20 20 20 20 20 20 20 31 36 39 36 39 30 38 31 32 34 20 20 35 30 31 20 #1/20...........1696908124..501.
17a0 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 39 39 36 20 20 20 20 20 20 20 60 0a 74 65 73 74 ..20....100644..996.......`.test
17c0 73 2c 74 61 62 6c 65 2e 6c 69 73 70 00 00 00 00 28 64 65 66 70 61 63 6b 61 67 65 20 6c 69 7a 66 s,table.lisp....(defpackage.lizf
17e0 63 6d 2f 74 65 73 74 73 2e 74 61 62 6c 65 0a 20 20 28 3a 75 73 65 20 3a 63 6c 0a 20 20 20 20 20 cm/tests.table...(:use.:cl......
1800 20 20 20 3a 66 69 76 65 61 6d 0a 20 20 20 20 20 20 20 20 3a 6c 69 7a 66 63 6d 2e 75 74 69 6c 73 ...:fiveam.........:lizfcm.utils
1820 0a 20 20 20 20 20 20 20 20 3a 6c 69 7a 66 63 6d 2f 74 65 73 74 73 29 0a 20 20 28 3a 65 78 70 6f .........:lizfcm/tests)...(:expo
1840 72 74 20 3a 61 70 70 72 6f 78 2d 73 75 69 74 65 29 29 0a 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a rt.:approx-suite)).(in-package.:
1860 6c 69 7a 66 63 6d 2f 74 65 73 74 73 2e 74 61 62 6c 65 29 0a 0a 28 64 65 66 2d 73 75 69 74 65 20 lizfcm/tests.table)..(def-suite.
1880 74 61 62 6c 65 2d 73 75 69 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 3a 69 6e 20 6c 69 7a 66 63 table-suite............:in.lizfc
18a0 6d 2d 74 65 73 74 2d 73 75 69 74 65 29 0a 28 69 6e 2d 73 75 69 74 65 20 74 61 62 6c 65 2d 73 75 m-test-suite).(in-suite.table-su
18c0 69 74 65 29 0a 0a 28 64 65 66 75 6e 20 66 69 62 20 28 6e 29 0a 20 20 28 63 6f 6e 64 20 28 28 3c ite)..(defun.fib.(n)...(cond.((<
18e0 20 6e 20 32 29 20 6e 29 0a 20 20 20 20 20 20 20 20 28 74 20 28 2b 20 28 66 69 62 20 28 2d 20 6e .n.2).n).........(t.(+.(fib.(-.n
1900 20 31 29 29 20 28 66 69 62 20 28 2d 20 6e 20 32 29 29 29 29 29 29 0a 0a 28 74 65 73 74 20 74 61 .1)).(fib.(-.n.2))))))..(test.ta
1920 62 6c 65 2d 6f 66 2d 66 69 62 2d 76 61 6c 73 0a 20 20 20 20 20 20 3a 64 65 73 63 72 69 70 74 69 ble-of-fib-vals.......:descripti
1940 6f 6e 20 22 74 61 62 6c 65 20 67 65 6e 65 72 61 74 65 73 20 63 6f 72 72 65 63 74 6c 79 22 0a 20 on."table.generates.correctly"..
1960 20 20 20 20 20 28 6c 65 74 2a 20 28 28 68 65 61 64 65 72 73 20 27 28 22 6e 22 20 22 66 69 62 28 .....(let*.((headers.'("n"."fib(
1980 6e 29 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 2d 76 61 6c 75 65 73 20 27 28 28 n)"))..............(n-values.'((
19a0 31 29 20 28 32 29 20 28 33 29 20 28 34 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 1).(2).(3).(4)))..............(e
19c0 78 70 65 63 74 65 64 20 60 28 28 22 6e 22 20 22 66 69 62 28 6e 29 22 29 0a 20 20 20 20 20 20 20 xpected.`(("n"."fib(n)")........
19e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 20 2c 28 66 69 62 20 31 29 29 0a 20 ..................(1.,(fib.1))..
1a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 32 20 2c 28 66 69 62 ........................(2.,(fib
1a20 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 33 .2))..........................(3
1a40 20 2c 28 66 69 62 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .,(fib.3))......................
1a60 20 20 20 20 28 34 20 2c 28 66 69 62 20 34 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(4.,(fib.4))))..............
1a80 28 74 61 62 6c 65 64 20 28 6c 69 7a 66 63 6d 2e 75 74 69 6c 73 3a 74 61 62 6c 65 20 28 3a 68 65 (tabled.(lizfcm.utils:table.(:he
1aa0 61 64 65 72 73 20 68 65 61 64 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 aders.headers...................
1ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1ae0 20 3a 64 6f 6d 61 69 6e 2d 6f 72 64 65 72 20 28 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .:domain-order.(n)..............
1b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1b20 20 20 20 20 20 20 3a 64 6f 6d 61 69 6e 2d 76 61 6c 75 65 73 20 6e 2d 76 61 6c 75 65 73 29 0a 20 ......:domain-values.n-values)..
1b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1b60 20 20 20 20 20 20 20 20 28 66 69 62 20 6e 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 73 20 28 ........(fib.n)))).........(is.(
1b80 65 71 75 61 6c 20 65 78 70 65 63 74 65 64 20 74 61 62 6c 65 64 29 29 29 29 0a 0a 0a 0a 0a 0a 0a equal.expected.tabled)))).......
1ba0 23 31 2f 32 38 20 20 20 20 20 20 20 20 20 20 20 31 36 39 36 39 30 38 31 32 34 20 20 35 30 31 20 #1/28...........1696908124..501.
1bc0 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 38 34 34 20 20 20 20 20 20 20 60 0a 74 65 73 74 ..20....100644..844.......`.test
1be0 73 2c 76 65 63 74 6f 72 2e 6c 69 73 70 00 00 00 00 00 00 00 00 00 00 00 28 64 65 66 70 61 63 6b s,vector.lisp...........(defpack
1c00 61 67 65 20 6c 69 7a 66 63 6d 2f 74 65 73 74 73 2e 76 65 63 74 6f 72 0a 20 20 28 3a 75 73 65 20 age.lizfcm/tests.vector...(:use.
1c20 3a 63 6c 0a 20 20 20 20 20 20 20 20 3a 66 69 76 65 61 6d 0a 20 20 20 20 20 20 20 20 3a 6c 69 7a :cl.........:fiveam.........:liz
1c40 66 63 6d 2e 76 65 63 74 6f 72 0a 20 20 20 20 20 20 20 20 3a 6c 69 7a 66 63 6d 2e 75 74 69 6c 73 fcm.vector.........:lizfcm.utils
1c60 0a 20 20 20 20 20 20 20 20 3a 6c 69 7a 66 63 6d 2f 74 65 73 74 73 29 0a 20 20 28 3a 65 78 70 6f .........:lizfcm/tests)...(:expo
1c80 72 74 20 3a 76 65 63 74 6f 72 2d 73 75 69 74 65 29 29 0a 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a rt.:vector-suite)).(in-package.:
1ca0 6c 69 7a 66 63 6d 2f 74 65 73 74 73 2e 76 65 63 74 6f 72 29 0a 0a 28 64 65 66 2d 73 75 69 74 65 lizfcm/tests.vector)..(def-suite
1cc0 20 76 65 63 74 6f 72 2d 73 75 69 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 3a 69 6e 20 6c 69 7a .vector-suite............:in.liz
1ce0 66 63 6d 2d 74 65 73 74 2d 73 75 69 74 65 29 0a 28 69 6e 2d 73 75 69 74 65 20 76 65 63 74 6f 72 fcm-test-suite).(in-suite.vector
1d00 2d 73 75 69 74 65 29 0a 0a 28 74 65 73 74 20 70 2d 6e 6f 72 6d 0a 20 20 20 20 20 20 3a 64 65 73 -suite)..(test.p-norm.......:des
1d20 63 72 69 70 74 69 6f 6e 20 22 63 6f 6d 70 75 74 65 73 20 70 2d 6e 6f 72 6d 22 0a 20 20 20 20 20 cription."computes.p-norm"......
1d40 20 28 6c 65 74 20 28 28 76 20 27 28 31 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c .(let.((v.'(1.1)).............(l
1d60 65 6e 67 74 68 20 28 73 71 72 74 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 32 2d 6e ength.(sqrt.2)).............(2-n
1d80 6f 72 6d 20 28 70 2d 6e 6f 72 6d 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 73 20 28 77 69 orm.(p-norm.2))).........(is.(wi
1da0 74 68 69 6e 2d 72 61 6e 67 65 2d 70 20 28 66 75 6e 63 61 6c 6c 20 32 2d 6e 6f 72 6d 20 76 29 0a thin-range-p.(funcall.2-norm.v).
1dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 6e 67 ............................leng
1de0 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 th.............................0
1e00 2e 30 30 30 30 31 29 29 29 29 0a 0a 28 74 65 73 74 20 76 65 63 74 6f 72 2d 64 69 73 74 61 6e 63 .00001))))..(test.vector-distanc
1e20 65 0a 20 20 20 20 20 20 3a 64 65 73 63 72 69 70 74 69 6f 6e 20 22 63 6f 6d 70 75 74 65 73 20 64 e.......:description."computes.d
1e40 69 73 74 61 6e 63 65 20 76 69 61 20 6e 6f 72 6d 22 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 istance.via.norm".......(let.((v
1e60 31 20 27 28 30 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 76 32 20 27 28 31 20 31 29 1.'(0.0)).............(v2.'(1.1)
1e80 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 73 74 20 28 73 71 72 74 20 32 29 29 29 0a 20 ).............(dist.(sqrt.2)))..
1ea0 20 20 20 20 20 20 20 28 69 73 20 28 77 69 74 68 69 6e 2d 72 61 6e 67 65 2d 70 20 28 64 69 73 74 .......(is.(within-range-p.(dist
1ec0 61 6e 63 65 20 76 31 20 76 32 20 28 70 2d 6e 6f 72 6d 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 ance.v1.v2.(p-norm.2))..........
1ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 73 74 0a 20 20 20 20 20 20 20 20 ...................dist.........
1f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 2e 30 30 30 30 31 29 29 29 29 0a ....................0.00001)))).
1f20 0a 0a 0a 0a 0a 0a 0a 0a 23 31 2f 32 38 20 20 20 20 20 20 20 20 20 20 20 31 36 39 36 39 30 38 31 ........#1/28...........16969081
1f40 32 33 20 20 35 30 31 20 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 31 34 30 20 20 20 20 20 23..501...20....100644..140.....
1f60 20 20 60 0a 75 74 69 6c 73 2c 70 61 63 6b 61 67 65 2e 6c 69 73 70 00 00 00 00 00 00 00 00 00 00 ..`.utils,package.lisp..........
1f80 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a 63 6c 2d 75 73 65 72 29 0a 28 64 65 66 70 61 63 6b 61 67 (in-package.:cl-user).(defpackag
1fa0 65 20 6c 69 7a 66 63 6d 2e 75 74 69 6c 73 0a 20 20 28 3a 75 73 65 20 3a 63 6c 29 0a 20 20 28 3a e.lizfcm.utils...(:use.:cl)...(:
1fc0 65 78 70 6f 72 74 20 3a 77 69 74 68 69 6e 2d 72 61 6e 67 65 2d 70 0a 20 20 20 20 20 20 20 20 20 export.:within-range-p..........
1fe0 20 20 3a 74 61 62 6c 65 29 29 0a 0a 0a 0a 0a 0a 23 31 2f 32 30 20 20 20 20 20 20 20 20 20 20 20 ..:table))......#1/20...........
2000 31 36 39 36 39 30 38 31 32 33 20 20 35 30 31 20 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 1696908123..501...20....100644..
2020 33 36 34 20 20 20 20 20 20 20 60 0a 75 74 69 6c 73 2c 74 61 62 6c 65 2e 6c 69 73 70 00 00 00 00 364.......`.utils,table.lisp....
2040 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a 6c 69 7a 66 63 6d 2e 75 74 69 6c 73 29 0a 0a 28 64 65 66 (in-package.:lizfcm.utils)..(def
2060 6d 61 63 72 6f 20 74 61 62 6c 65 20 28 28 26 6b 65 79 20 68 65 61 64 65 72 73 20 64 6f 6d 61 69 macro.table.((&key.headers.domai
2080 6e 2d 6f 72 64 65 72 20 64 6f 6d 61 69 6e 2d 76 61 6c 75 65 73 29 20 26 62 6f 64 79 20 62 6f 64 n-order.domain-values).&body.bod
20a0 79 29 0a 20 20 60 28 63 6f 6e 73 0a 20 20 20 20 20 2c 68 65 61 64 65 72 73 0a 20 20 20 20 20 28 y)...`(cons......,headers......(
20c0 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 74 75 70 6c 65 29 0a 20 20 20 20 20 20 20 20 20 mapcar.(lambda.(tuple)..........
20e0 20 20 20 20 20 20 28 64 65 73 74 72 75 63 74 75 72 69 6e 67 2d 62 69 6e 64 20 2c 64 6f 6d 61 69 ......(destructuring-bind.,domai
2100 6e 2d 6f 72 64 65 72 20 74 75 70 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 n-order.tuple..................(
2120 61 70 70 65 6e 64 20 74 75 70 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 append.tuple....................
2140 20 20 20 20 20 20 28 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......(list.....................
2160 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2c .......,@body))))..............,
2180 64 6f 6d 61 69 6e 2d 76 61 6c 75 65 73 29 29 29 0a 0a 0a 0a 0a 0a 0a 0a 23 31 2f 32 38 20 20 20 domain-values)))........#1/28...
21a0 20 20 20 20 20 20 20 20 31 36 39 36 39 30 38 31 32 34 20 20 35 30 31 20 20 20 32 30 20 20 20 20 ........1696908124..501...20....
21c0 31 30 30 36 34 34 20 20 31 37 32 20 20 20 20 20 20 20 60 0a 75 74 69 6c 73 2c 77 69 74 68 69 6e 100644..172.......`.utils,within
21e0 2d 72 61 6e 67 65 2e 6c 69 73 70 00 00 00 00 00 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a 6c 69 7a -range.lisp.....(in-package.:liz
2200 66 63 6d 2e 75 74 69 6c 73 29 0a 0a 28 64 65 66 75 6e 20 77 69 74 68 69 6e 2d 72 61 6e 67 65 2d fcm.utils)..(defun.within-range-
2220 70 20 28 78 20 74 72 75 65 2d 76 61 6c 75 65 20 64 65 6c 74 61 29 0a 20 20 28 61 6e 64 20 28 3c p.(x.true-value.delta)...(and.(<
2240 20 78 20 28 2b 20 74 72 75 65 2d 76 61 6c 75 65 20 64 65 6c 74 61 29 29 0a 20 20 20 20 20 20 20 .x.(+.true-value.delta))........
2260 28 3e 20 78 20 28 2d 20 74 72 75 65 2d 76 61 6c 75 65 20 64 65 6c 74 61 29 29 29 29 0a 0a 0a 0a (>.x.(-.true-value.delta))))....
2280 23 31 2f 32 38 20 20 20 20 20 20 20 20 20 20 20 31 36 39 36 39 30 38 31 32 34 20 20 35 30 31 20 #1/28...........1696908124..501.
22a0 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 31 37 32 20 20 20 20 20 20 20 60 0a 76 65 63 74 ..20....100644..172.......`.vect
22c0 6f 72 2c 64 69 73 74 61 6e 63 65 2e 6c 69 73 70 00 00 00 00 00 00 00 00 28 69 6e 2d 70 61 63 6b or,distance.lisp........(in-pack
22e0 61 67 65 20 3a 6c 69 7a 66 63 6d 2e 76 65 63 74 6f 72 29 0a 0a 28 64 65 66 75 6e 20 64 69 73 74 age.:lizfcm.vector)..(defun.dist
2300 61 6e 63 65 20 28 76 31 20 76 32 20 6e 6f 72 6d 29 0a 20 20 28 6c 65 74 2a 20 28 28 64 20 28 6d ance.(v1.v2.norm)...(let*.((d.(m
2320 61 70 63 61 72 20 23 27 2d 20 76 31 20 76 32 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 6e 67 apcar.#'-.v1.v2))..........(leng
2340 74 68 20 28 66 75 6e 63 61 6c 6c 20 6e 6f 72 6d 20 64 29 29 29 0a 20 20 20 20 6c 65 6e 67 74 68 th.(funcall.norm.d))).....length
2360 29 29 0a 0a 0a 0a 0a 0a 23 31 2f 32 30 20 20 20 20 20 20 20 20 20 20 20 31 36 39 36 39 30 38 31 ))......#1/20...........16969081
2380 32 34 20 20 35 30 31 20 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 33 30 30 20 20 20 20 20 24..501...20....100644..300.....
23a0 20 20 60 0a 76 65 63 74 6f 72 2c 6e 6f 72 6d 2e 6c 69 73 70 00 00 00 00 28 69 6e 2d 70 61 63 6b ..`.vector,norm.lisp....(in-pack
23c0 61 67 65 20 3a 6c 69 7a 66 63 6d 2e 76 65 63 74 6f 72 29 0a 0a 28 64 65 66 75 6e 20 70 2d 6e 6f age.:lizfcm.vector)..(defun.p-no
23e0 72 6d 20 28 70 29 0a 20 20 28 6c 61 6d 62 64 61 20 28 76 29 0a 20 20 20 20 28 65 78 70 74 0a 20 rm.(p)...(lambda.(v).....(expt..
2400 20 20 20 20 20 28 72 65 64 75 63 65 20 23 27 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .....(reduce.#'+...............(
2420 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 mapcar.(lambda.(x)..............
2440 20 20 20 20 20 20 20 20 20 20 20 28 61 62 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........(abs.................
2460 20 20 20 20 20 20 20 20 20 20 28 65 78 70 74 20 78 20 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 ..........(expt.x.p)))..........
2480 20 20 20 20 20 20 20 20 20 20 20 20 20 76 29 29 0a 20 20 20 20 20 20 28 2f 20 31 20 70 29 29 29 .............v)).......(/.1.p)))
24a0 29 0a 0a 28 64 65 66 75 6e 20 6d 61 78 2d 6e 6f 72 6d 20 28 76 29 0a 20 20 28 72 65 64 75 63 65 )..(defun.max-norm.(v)...(reduce
24c0 20 23 27 6d 61 78 20 76 29 29 0a 0a 0a 0a 0a 0a 23 31 2f 32 38 20 20 20 20 20 20 20 20 20 20 20 .#'max.v))......#1/28...........
24e0 31 36 39 36 39 30 38 31 32 34 20 20 35 30 31 20 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 1696908124..501...20....100644..
2500 31 34 38 20 20 20 20 20 20 20 60 0a 76 65 63 74 6f 72 2c 70 61 63 6b 61 67 65 2e 6c 69 73 70 00 148.......`.vector,package.lisp.
2520 00 00 00 00 00 00 00 00 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a 63 6c 2d 75 73 65 72 29 0a 28 64 ........(in-package.:cl-user).(d
2540 65 66 70 61 63 6b 61 67 65 20 6c 69 7a 66 63 6d 2e 76 65 63 74 6f 72 0a 20 20 28 3a 75 73 65 20 efpackage.lizfcm.vector...(:use.
2560 3a 63 6c 29 0a 20 20 28 3a 65 78 70 6f 72 74 0a 20 20 20 20 3a 70 2d 6e 6f 72 6d 0a 20 20 20 20 :cl)...(:export.....:p-norm.....
2580 3a 6d 61 78 2d 6e 6f 72 6d 0a 20 20 20 20 3a 64 69 73 74 61 6e 63 65 29 29 0a 0a 0a 0a 0a 0a 0a :max-norm.....:distance)).......