;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\207" [require chess-display chess-fen chess-ply chess-pos cl-lib ert] 2) #@221 Count all leaf nodes of the tree starting at POSITION pruned at DEPTH. If not called interactively the result is a list of the form (LEAFS CAPTURES EN-PASSANTS CASTLES PROMOTIONS CHECKS CHECKMATES). (fn POSITION DEPTH) (defalias 'chess-perft #[514 "\211\301U\203\302\301\211\211\211\211\211\257\207\303\304\211\305!\205\211G\306U\262\204,\307\310\311\312E\"\210\211\313H\262#\301\211\211\211\211\211\211\302U\203E\211\203A\211@T\262 \211\211\211:\205b\211@\305!\205`\211G\306U\262\262\204o\307\310\314\315E\"\210\211@\262\316\211\211:\205\212\211@\305!\205\210\211G\306U\262\262\204\227\307\310\314\315E\"\210\211\211\211:\205\254\211@\305!\205\252\211G\306U\262\262\204\271\307\310\314\315E\"\210\211A\262\211<\205\314\211@9?\205\314\211A@\266\202\211\305!\205\332\211G\306U\262\204\347\307\310\311\312E\"\210\211\313H\262?#\262\203\370T\262\317\320\"\203 T\262T\262\321\322\323#\203T\262\202#\317\324\"\203#T\262\321\325\326#\203/T\262\321\326\"\203:T\262A\266\202\202B\210\202\327\330!\205R\331\332\301\nG#\301\204a\n\333U\203a\334 \210 \211\203\211@\211\321\335\336\337\340\341\342&\206\305\211\211\211:\205\214\211@\305!\205\212\211G\306U\262\262\204\231\307\310\314\315E\"\210\211@\262\211\305!\205\250\211G\306U\262\204\265\307\310\311\312E\"\210\211\343H\262\211\205\303\321\344\326#\262\262\204\345\211\211:\205\340\211@\305!\205\336\211G\306U\262\262\204\355\307\310\314\315E\"\210\317\346\"\206\270\347\350\211\211:\205 \211@\305!\205 \211G\306U\262\262\204\307\310\314\315E\"\210\211@\262\211\305!\205'\211G\306U\262\2044\307\310\311\312E\"\210\351!\211\352\211\305!\205E\211G\306U\262\204R\307\310\311\312E\"\210\211\353H\262!\305!\205c\211G\306U\262\204p\307\310\311\312E\"\210\211<\204}\307\310\354\355E\"\210\353I\266\262\211\211:\205\232\211@\305!\205\230\211G\306U\262\262\204\247\307\310\314\315E\"\210\211A\262#\356\"\210\357\346#\262\262S\"\211@A@\3338\3608\3618\3628\3638\\\262\\\262\\\262\\\262\\\262 \\\262\f\\\262 \266\203T\262\364\365\366\"#\210A\266\202\202c\266\327\330!\2036\367\370&\207\257\207" [noninteractive 0 1 chess-legal-plies :color vectorp 75 signal wrong-type-argument chess-pos position 70 chess-ply ply #[771 "\300!\205 \211G\301U\262\204\302\303\304\305E\"\210\250\203)\306Y\203)\307X\2041\302\303\310\311E\"\210\211\312>\204?\302\303\313\314E\"\210\300!\205L\211G\301U\262\204Y\302\303\304\305E\"\210\211\250\203j\211\306Y\203j\211\307X\204r\302\303\315\311E\"\210H\266\202\211\316U\203\206\247\205\227\211U\207\317\267\202\224\211\320W\207\211\320V\207\211U\207" [vectorp 75 signal wrong-type-argument chess-pos position 0 63 (integer 0 63) index #1=(t nil 32 75 81 78 66 82 80 107 113 110 98 114 112) (member . #1#) piece-or-color (integer 0 63) 32 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (t 140 nil 144)) 97] 10 "Return non-nil if at POSITION/INDEX there is the given PIECE-OR-COLOR.\nIf PIECE-OR-COLOR is t for white or nil for black, any piece of that\ncolor will do.\n\n(fn POSITION INDEX PIECE-OR-COLOR)"] chess-ply-keyword :en-passant chess-ply-any-keyword :castle :long-castle :promote :check :checkmate called-interactively-p any make-progress-reporter "Perft... " 2 accept-process-output :drawn :perpetual :repetition :flag-fell :resign :aborted 74 :stalemate chess-perft :next-pos apply chess-pos-move vconcat copy-alist 71 list annotations chess-pos-set-preceding-ply chess-ply-set-keyword 3 4 5 6 progress-reporter-force-update format "Perft... (%d nodes) " message "%d nodes (%d captures (%d ep), %d castles, %d promotions and %d checks (%d mate))"] 28 (#$ . 248) (byte-code "\3011 \302\303!0\202\210\202\206\226\304\305\306\303\211\307\303\211\203)\310\311\312\313\"\314\"\262\202\223\211\315!\2055\211G\316U\262\204B\317\320\321\322E\"\210\310!\211\323\211\315!\205S\211G\316U\262\204`\317\320\321\322E\"\210\211\324H\262!\315!\205q\211G\316U\262\204~\317\320\321\322E\"\210\211<\204\213\317\320\325\326E\"\210\324I\266\266\202!$!\327\330\331\"D\207" [chess-starting-position (error) chess-display-position nil chess-fen-to-pos read-string "FEN: " chess-pos-to-fen vconcat make-vector 64 32 [nil nil nil nil nil nil t nil nil nil nil] vectorp 75 signal wrong-type-argument chess-pos position copy-alist 71 list annotations read-number "Depth: " 1] 17)]) (byte-code "\300\301\302\303\301\304\305\304\306\304&\"\210\300\307\302\303\307\304\310\304\306\304&\"\210\300\311\302\303\311\304\312\304\306\313&\"\210\300\314\302\303\314\304\315\304\306\316&\"\210\300\317\302\303\317\304\320\304\306\321&\"\210\300\322\302\303\322\304\323\304\306\324&\"\210\300\325\302\303\325\304\326\304\306\327&\"\210\300\330\302\303\330\304\331\304\306\332&\"\210\300\333\302\303\333\304\334\304\306\335&\"\210\300\336\302\303\336\304\337\304\306\340&\"\210\300\341\302\303\341\304\342\304\306\343&\"\210\300\344\302\303\344\304\345\304\306\346&\"\210\300\347\302\303\347\304\350\304\306\351&\"\210\300\352\302\303\352\304\353\304\306\354&\"\210\300\355\302\303\355\304\356\304\306\304&\"\210\300\357\302\303\357\304\360\304\306\361&\"\210\300\362\302\303\362\304\363\304\306\364&\"\210\300\365\302\303\365\304\366\304\306\367&\"\210\370\371!\207" [ert-set-test chess-perft-startpos-depth1 record ert-test nil #[0 "\302C\3031\215\304\305\306\211\203\307\310\311\312\"\313\"\262\202\204 \211\314!\205&\211G\315U\262\2043\316\317\320\321E\"\210\307!\211\322\211\314!\205D\211G\315U\262\204Q\316\317\320\321E\"\210\211\323H\262!\314!\205b\211G\315U\262\204o\316\317\320\321E\"\210\211<\204|\316\317\324\325E\"\210\323I\266\266\202\326\")\327D0\202\230\316\240\210\211@AD\262\330C\306C\331\332%\216\333\242\"\240)\204\264\334\242!\210\210\211\242\207" [signal-hook-function chess-starting-position equal (error) ert--should-signal-hook chess-perft nil vconcat make-vector 64 32 #3=[nil nil nil nil nil nil t nil nil nil nil] vectorp 75 signal wrong-type-argument chess-pos position copy-alist 71 list annotations 1 #1=(20 0 0 0 0 0 0) #2=#:ert-form-evaluation-aborted-23 make-closure #[0 "\303\304C\305\300\242\301BD\244\302\242\306=?\205\307\302\242D\244\302\242\306=?\205.\310\311N\211\205,\312\313\301\"D\262\244\240\210\314\303\242!\207" [V0 V1 V2 V3 (should (equal (chess-perft (chess-pos-create) 1) '#1#)) :form #2# :value equal ert-explainer :explanation apply ert--signal-should-execution] 7] apply ert-fail] 13] :passed chess-perft-startpos-depth2 #[0 "\302C\3031\215\304\305\306\211\203\307\310\311\312\"\313\"\262\202\204 \211\314!\205&\211G\315U\262\2043\316\317\320\321E\"\210\307!\211\322\211\314!\205D\211G\315U\262\204Q\316\317\320\321E\"\210\211\323H\262!\314!\205b\211G\315U\262\204o\316\317\320\321E\"\210\211<\204|\316\317\324\325E\"\210\323I\266\266\202\326\")\327D0\202\230\316\240\210\211@AD\262\330C\306C\331\332%\216\333\242\"\240)\204\264\334\242!\210\210\211\242\207" [signal-hook-function chess-starting-position equal (error) ert--should-signal-hook chess-perft nil vconcat make-vector 64 32 #3# vectorp 75 signal wrong-type-argument chess-pos position copy-alist 71 list annotations 2 #4=(400 0 0 0 0 0 0) #5=#:ert-form-evaluation-aborted-28 make-closure #[0 "\303\304C\305\300\242\301BD\244\302\242\306=?\205\307\302\242D\244\302\242\306=?\205.\310\311N\211\205,\312\313\301\"D\262\244\240\210\314\303\242!\207" [V0 V1 V2 V3 (should (equal (chess-perft (chess-pos-create) 2) '#4#)) :form #5# :value equal ert-explainer :explanation apply ert--signal-should-execution] 7] apply ert-fail] 13] chess-perft-startpos-depth3 #[0 "\302C\3031\215\304\305\306\211\203\307\310\311\312\"\313\"\262\202\204 \211\314!\205&\211G\315U\262\2043\316\317\320\321E\"\210\307!\211\322\211\314!\205D\211G\315U\262\204Q\316\317\320\321E\"\210\211\323H\262!\314!\205b\211G\315U\262\204o\316\317\320\321E\"\210\211<\204|\316\317\324\325E\"\210\323I\266\266\202\326\")\327D0\202\230\316\240\210\211@AD\262\330C\306C\331\332%\216\333\242\"\240)\204\264\334\242!\210\210\211\242\207" [signal-hook-function chess-starting-position equal (error) ert--should-signal-hook chess-perft nil vconcat make-vector 64 32 #3# vectorp 75 signal wrong-type-argument chess-pos position copy-alist 71 list annotations 3 #6=(8902 34 0 0 0 12 0) #7=#:ert-form-evaluation-aborted-33 make-closure #[0 "\303\304C\305\300\242\301BD\244\302\242\306=?\205\307\302\242D\244\302\242\306=?\205.\310\311N\211\205,\312\313\301\"D\262\244\240\210\314\303\242!\207" [V0 V1 V2 V3 (should (equal (chess-perft (chess-pos-create) 3) '#6#)) :form #7# :value equal ert-explainer :explanation apply ert--signal-should-execution] 7] apply ert-fail] 13] (:capture :check) chess-perft-startpos-depth4 #[0 "\302C\3031\215\304\305\306\211\203\307\310\311\312\"\313\"\262\202\204 \211\314!\205&\211G\315U\262\2043\316\317\320\321E\"\210\307!\211\322\211\314!\205D\211G\315U\262\204Q\316\317\320\321E\"\210\211\323H\262!\314!\205b\211G\315U\262\204o\316\317\320\321E\"\210\211<\204|\316\317\324\325E\"\210\323I\266\266\202\326\")\327D0\202\230\316\240\210\211@AD\262\330C\306C\331\332%\216\333\242\"\240)\204\264\334\242!\210\210\211\242\207" [signal-hook-function chess-starting-position equal (error) ert--should-signal-hook chess-perft nil vconcat make-vector 64 32 #3# vectorp 75 signal wrong-type-argument chess-pos position copy-alist 71 list annotations 4 #8=(197281 1576 0 0 0 469 8) #9=#:ert-form-evaluation-aborted-38 make-closure #[0 "\303\304C\305\300\242\301BD\244\302\242\306=?\205\307\302\242D\244\302\242\306=?\205.\310\311N\211\205,\312\313\301\"D\262\244\240\210\314\303\242!\207" [V0 V1 V2 V3 (should (equal (chess-perft (chess-pos-create) 4) '#8#)) :form #9# :value equal ert-explainer :explanation apply ert--signal-should-execution] 7] apply ert-fail] 13] (:capture :check :checkmate) chess-perft-startpos-depth5 #[0 "\302C\3031\215\304\305\306\211\203\307\310\311\312\"\313\"\262\202\204 \211\314!\205&\211G\315U\262\2043\316\317\320\321E\"\210\307!\211\322\211\314!\205D\211G\315U\262\204Q\316\317\320\321E\"\210\211\323H\262!\314!\205b\211G\315U\262\204o\316\317\320\321E\"\210\211<\204|\316\317\324\325E\"\210\323I\266\266\202\326\")\327D0\202\230\316\240\210\211@AD\262\330C\306C\331\332%\216\333\242\"\240)\204\264\334\242!\210\210\211\242\207" [signal-hook-function chess-starting-position equal (error) ert--should-signal-hook chess-perft nil vconcat make-vector 64 32 #3# vectorp 75 signal wrong-type-argument chess-pos position copy-alist 71 list annotations 5 #10=(4865609 82719 258 0 0 27351 347) #11=#:ert-form-evaluation-aborted-43 make-closure #[0 "\303\304C\305\300\242\301BD\244\302\242\306=?\205\307\302\242D\244\302\242\306=?\205.\310\311N\211\205,\312\313\301\"D\262\244\240\210\314\303\242!\207" [V0 V1 V2 V3 (should (equal (chess-perft (chess-pos-create) 5) '#10#)) :form #11# :value equal ert-explainer :explanation apply ert--signal-should-execution] 7] apply ert-fail] 13] (:capture :en-passant :check :checkmate) chess-perft-kiwipete-depth1 #[0 "\301\302!\303C\3041\305\306\307\")\310D0\202!\311\240\210\211@AD\262\312C\313C\314\315%\216\316\242\"\240)\204=\317\242!\210\210\211\242\207" [signal-hook-function chess-fen-to-pos "r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq -" equal (error) ert--should-signal-hook chess-perft 1 #12=(48 8 0 2 0 0 0) signal #13=#:ert-form-evaluation-aborted-48 nil make-closure #[0 "\303\304C\305\300\242\301BD\244\302\242\306=?\205\307\302\242D\244\302\242\306=?\205.\310\311N\211\205,\312\313\301\"D\262\244\240\210\314\303\242!\207" [V0 V1 V2 V3 (should (equal (chess-perft position 1) '#12#)) :form #13# :value equal ert-explainer :explanation apply ert--signal-should-execution] 7] apply ert-fail] 11] (:capture :castle) chess-perft-kiwipete-depth2 #[0 "\301\302!\303C\3041\305\306\307\")\310D0\202!\311\240\210\211@AD\262\312C\313C\314\315%\216\316\242\"\240)\204=\317\242!\210\210\211\242\207" [signal-hook-function chess-fen-to-pos "r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq -" equal (error) ert--should-signal-hook chess-perft 2 #14=(2039 351 1 91 0 3 0) signal #15=#:ert-form-evaluation-aborted-53 nil make-closure #[0 "\303\304C\305\300\242\301BD\244\302\242\306=?\205\307\302\242D\244\302\242\306=?\205.\310\311N\211\205,\312\313\301\"D\262\244\240\210\314\303\242!\207" [V0 V1 V2 V3 (should (equal (chess-perft position 2) '#14#)) :form #15# :value equal ert-explainer :explanation apply ert--signal-should-execution] 7] apply ert-fail] 11] (:capture :en-passant :castle :check) chess-perft-kiwipete-depth3 #[0 "\301\302!\303C\3041\305\306\307\")\310D0\202!\311\240\210\211@AD\262\312C\313C\314\315%\216\316\242\"\240)\204=\317\242!\210\210\211\242\207" [signal-hook-function chess-fen-to-pos "r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq -" equal (error) ert--should-signal-hook chess-perft 3 #16=(97862 17102 45 3162 0 993 1) signal #17=#:ert-form-evaluation-aborted-58 nil make-closure #[0 "\303\304C\305\300\242\301BD\244\302\242\306=?\205\307\302\242D\244\302\242\306=?\205.\310\311N\211\205,\312\313\301\"D\262\244\240\210\314\303\242!\207" [V0 V1 V2 V3 (should (equal (chess-perft position 3) '#16#)) :form #17# :value equal ert-explainer :explanation apply ert--signal-should-execution] 7] apply ert-fail] 11] (:capture :en-passant :castle :check :checkmate) chess-perft-kiwipete-depth4 #[0 "\301\302!\303C\3041\305\306\307\")\310D0\202!\311\240\210\211@AD\262\312C\313C\314\315%\216\316\242\"\240)\204=\317\242!\210\210\211\242\207" [signal-hook-function chess-fen-to-pos "r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq -" equal (error) ert--should-signal-hook chess-perft 4 #18=(4085603 757163 1929 128013 15172 25523 43) signal #19=#:ert-form-evaluation-aborted-63 nil make-closure #[0 "\303\304C\305\300\242\301BD\244\302\242\306=?\205\307\302\242D\244\302\242\306=?\205.\310\311N\211\205,\312\313\301\"D\262\244\240\210\314\303\242!\207" [V0 V1 V2 V3 (should (equal (chess-perft position 4) '#18#)) :form #19# :value equal ert-explainer :explanation apply ert--signal-should-execution] 7] apply ert-fail] 11] (:capture :en-passant :castle :promote :check :checkmate) chess-perft-pos3-depth1 #[0 "\301\302!\303C\3041\305\306\307\")\310D0\202!\311\240\210\211@AD\262\312C\313C\314\315%\216\316\242\"\240)\204=\317\242!\210\210\211\242\207" [signal-hook-function chess-fen-to-pos "8/2p5/3p4/KP5r/1R3p1k/8/4P1P1/8 w - -" equal (error) ert--should-signal-hook chess-perft 1 #20=(14 1 0 0 0 2 0) signal #21=#:ert-form-evaluation-aborted-68 nil make-closure #[0 "\303\304C\305\300\242\301BD\244\302\242\306=?\205\307\302\242D\244\302\242\306=?\205.\310\311N\211\205,\312\313\301\"D\262\244\240\210\314\303\242!\207" [V0 V1 V2 V3 (should (equal (chess-perft position 1) '#20#)) :form #21# :value equal ert-explainer :explanation apply ert--signal-should-execution] 7] apply ert-fail] 11] (:capture :check) chess-perft-pos3-depth2 #[0 "\301\302!\303C\3041\305\306\307\")\310D0\202!\311\240\210\211@AD\262\312C\313C\314\315%\216\316\242\"\240)\204=\317\242!\210\210\211\242\207" [signal-hook-function chess-fen-to-pos "8/2p5/3p4/KP5r/1R3p1k/8/4P1P1/8 w - -" equal (error) ert--should-signal-hook chess-perft 2 #22=(191 14 0 0 0 10 0) signal #23=#:ert-form-evaluation-aborted-73 nil make-closure #[0 "\303\304C\305\300\242\301BD\244\302\242\306=?\205\307\302\242D\244\302\242\306=?\205.\310\311N\211\205,\312\313\301\"D\262\244\240\210\314\303\242!\207" [V0 V1 V2 V3 (should (equal (chess-perft position 2) '#22#)) :form #23# :value equal ert-explainer :explanation apply ert--signal-should-execution] 7] apply ert-fail] 11] (:capture :check) chess-perft-pos3-depth3 #[0 "\301\302!\303C\3041\305\306\307\")\310D0\202!\311\240\210\211@AD\262\312C\313C\314\315%\216\316\242\"\240)\204=\317\242!\210\210\211\242\207" [signal-hook-function chess-fen-to-pos "8/2p5/3p4/KP5r/1R3p1k/8/4P1P1/8 w - -" equal (error) ert--should-signal-hook chess-perft 3 #24=(2812 209 2 0 0 267 0) signal #25=#:ert-form-evaluation-aborted-78 nil make-closure #[0 "\303\304C\305\300\242\301BD\244\302\242\306=?\205\307\302\242D\244\302\242\306=?\205.\310\311N\211\205,\312\313\301\"D\262\244\240\210\314\303\242!\207" [V0 V1 V2 V3 (should (equal (chess-perft position 3) '#24#)) :form #25# :value equal ert-explainer :explanation apply ert--signal-should-execution] 7] apply ert-fail] 11] (:capture :en-passant :check) chess-perft-pos3-depth4 #[0 "\301\302!\303C\3041\305\306\307\")\310D0\202!\311\240\210\211@AD\262\312C\313C\314\315%\216\316\242\"\240)\204=\317\242!\210\210\211\242\207" [signal-hook-function chess-fen-to-pos "8/2p5/3p4/KP5r/1R3p1k/8/4P1P1/8 w - -" equal (error) ert--should-signal-hook chess-perft 4 #26=(43238 3348 123 0 0 1680 17) signal #27=#:ert-form-evaluation-aborted-83 nil make-closure #[0 "\303\304C\305\300\242\301BD\244\302\242\306=?\205\307\302\242D\244\302\242\306=?\205.\310\311N\211\205,\312\313\301\"D\262\244\240\210\314\303\242!\207" [V0 V1 V2 V3 (should (equal (chess-perft position 4) '#26#)) :form #27# :value equal ert-explainer :explanation apply ert--signal-should-execution] 7] apply ert-fail] 11] (:capture :en-passant :check :checkmate) chess-perft-pos3-depth5 #[0 "\301\302!\303C\3041\305\306\307\")\310D0\202!\311\240\210\211@AD\262\312C\313C\314\315%\216\316\242\"\240)\204=\317\242!\210\210\211\242\207" [signal-hook-function chess-fen-to-pos "8/2p5/3p4/KP5r/1R3p1k/8/4P1P1/8 w - -" equal (error) ert--should-signal-hook chess-perft 5 #28=(674624 52051 1165 0 0 52950 0) signal #29=#:ert-form-evaluation-aborted-88 nil make-closure #[0 "\303\304C\305\300\242\301BD\244\302\242\306=?\205\307\302\242D\244\302\242\306=?\205.\310\311N\211\205,\312\313\301\"D\262\244\240\210\314\303\242!\207" [V0 V1 V2 V3 (should (equal (chess-perft position 5) '#28#)) :form #29# :value equal ert-explainer :explanation apply ert--signal-should-execution] 7] apply ert-fail] 11] (:capture :en-passant :check) chess-perft-pos4-depth1 #[0 "\301\302!\303C\3041\305\306\307\")\310D0\202!\311\240\210\211@AD\262\312C\313C\314\315%\216\316\242\"\240)\204=\317\242!\210\210\211\242\207" [signal-hook-function chess-fen-to-pos "r3k2r/Pppp1ppp/1b3nbN/nP6/BBP1P3/q4N2/Pp1P2PP/R2Q1RK1 w kq -" equal (error) ert--should-signal-hook chess-perft 1 #30=(6 0 0 0 0 0 0) signal #31=#:ert-form-evaluation-aborted-93 nil make-closure #[0 "\303\304C\305\300\242\301BD\244\302\242\306=?\205\307\302\242D\244\302\242\306=?\205.\310\311N\211\205,\312\313\301\"D\262\244\240\210\314\303\242!\207" [V0 V1 V2 V3 (should (equal (chess-perft position 1) '#30#)) :form #31# :value equal ert-explainer :explanation apply ert--signal-should-execution] 7] apply ert-fail] 11] chess-perft-pos4-depth2 #[0 "\301\302!\303C\3041\305\306\307\")\310D0\202!\311\240\210\211@AD\262\312C\313C\314\315%\216\316\242\"\240)\204=\317\242!\210\210\211\242\207" [signal-hook-function chess-fen-to-pos "r3k2r/Pppp1ppp/1b3nbN/nP6/BBP1P3/q4N2/Pp1P2PP/R2Q1RK1 w kq -" equal (error) ert--should-signal-hook chess-perft 2 #32=(264 87 0 6 48 10 0) signal #33=#:ert-form-evaluation-aborted-98 nil make-closure #[0 "\303\304C\305\300\242\301BD\244\302\242\306=?\205\307\302\242D\244\302\242\306=?\205.\310\311N\211\205,\312\313\301\"D\262\244\240\210\314\303\242!\207" [V0 V1 V2 V3 (should (equal (chess-perft position 2) '#32#)) :form #33# :value equal ert-explainer :explanation apply ert--signal-should-execution] 7] apply ert-fail] 11] (:capture :castle :promotion :check) chess-perft-pos4-depth3 #[0 "\301\302!\303C\3041\305\306\307\")\310D0\202!\311\240\210\211@AD\262\312C\313C\314\315%\216\316\242\"\240)\204=\317\242!\210\210\211\242\207" [signal-hook-function chess-fen-to-pos "r3k2r/Pppp1ppp/1b3nbN/nP6/BBP1P3/q4N2/Pp1P2PP/R2Q1RK1 w kq -" equal (error) ert--should-signal-hook chess-perft 3 #34=(9467 1021 4 0 120 38 22) signal #35=#:ert-form-evaluation-aborted-103 nil make-closure #[0 "\303\304C\305\300\242\301BD\244\302\242\306=?\205\307\302\242D\244\302\242\306=?\205.\310\311N\211\205,\312\313\301\"D\262\244\240\210\314\303\242!\207" [V0 V1 V2 V3 (should (equal (chess-perft position 3) '#34#)) :form #35# :value equal ert-explainer :explanation apply ert--signal-should-execution] 7] apply ert-fail] 11] (:capture :en-passant :promotion :check :checkmate) chess-perft-pos4-depth4 #[0 "\301\302!\303C\3041\305\306\307\")\310D0\202!\311\240\210\211@AD\262\312C\313C\314\315%\216\316\242\"\240)\204=\317\242!\210\210\211\242\207" [signal-hook-function chess-fen-to-pos "r3k2r/Pppp1ppp/1b3nbN/nP6/BBP1P3/q4N2/Pp1P2PP/R2Q1RK1 w kq -" equal (error) ert--should-signal-hook chess-perft 4 #36=(422333 131393 0 7795 60032 15492 5) signal #37=#:ert-form-evaluation-aborted-108 nil make-closure #[0 "\303\304C\305\300\242\301BD\244\302\242\306=?\205\307\302\242D\244\302\242\306=?\205.\310\311N\211\205,\312\313\301\"D\262\244\240\210\314\303\242!\207" [V0 V1 V2 V3 (should (equal (chess-perft position 4) '#36#)) :form #37# :value equal ert-explainer :explanation apply ert--signal-should-execution] 7] apply ert-fail] 11] (:capture :castle :promotion :check :checkmate) provide chess-perft] 10)