From f225c51d96783d926c0d413d0bb67ac031ebd029 Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Tue, 9 Dec 2025 17:32:15 -0500 Subject: [PATCH] [p9] cleanup --- p9/p9.org | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/p9/p9.org b/p9/p9.org index 4f6663f..b43a4c4 100644 --- a/p9/p9.org +++ b/p9/p9.org @@ -103,21 +103,21 @@ OK, the datapoints are all corners. Now I know. Find which way is inside #+end_src #+begin_src emacs-lisp - (defun incompatible-p (rect corner) - (let ((minx (min (caar rect) (cadr rect))) - (maxx (max (caar rect) (cadr rect))) - (miny (min (cadar rect) (caddr rect))) - (maxy (max (cadar rect) (caddr rect))) - (px (caar corner)) - (py (cadar corner)) - (quadrant-list (cdr (assoc (cdr corner) quadrant-map)))) - (or (and (= px minx) (< miny py) (< py maxy) (< 2 (length (-intersection '(1 4) quadrant-list)))) ; on left edge - (and (= px maxx) (< miny py) (< py maxy) (< 2 (length (-intersection '(2 3) quadrant-list)))) - (and (= py miny) (< minx px) (< px maxx) (< 2 (length (-intersection '(3 4) quadrant-list)))) - (and (= py maxy) (< minx px) (< px maxx) (< 2 (length (-intersection '(1 2) quadrant-list))))))) - - (setq final-rects (-remove (lambda (rect) (--any (incompatible-p rect it) data-corners)) rects-sifted)) - (-max (-map #'area final-rects)) + (defun incompatible-p (rect corner) + (let ((minx (min (caar rect) (cadr rect))) + (maxx (max (caar rect) (cadr rect))) + (miny (min (cadar rect) (caddr rect))) + (maxy (max (cadar rect) (caddr rect))) + (px (caar corner)) + (py (cadar corner)) + (quadrant-list (cdr (assoc (cdr corner) quadrant-map)))) + (or (and (= px minx) (< miny py) (< py maxy) (< 2 (length (-intersection '(1 4) quadrant-list)))) ; on left edge + (and (= px maxx) (< miny py) (< py maxy) (< 2 (length (-intersection '(2 3) quadrant-list)))) + (and (= py miny) (< minx px) (< px maxx) (< 2 (length (-intersection '(1 2) quadrant-list)))) + (and (= py maxy) (< minx px) (< px maxx) (< 2 (length (-intersection '(3 4) quadrant-list))))))) + + (setq final-rects (-remove (lambda (rect) (--any (incompatible-p rect it) data-corners)) rects-sifted)) + (-max (-map #'area final-rects)) #+end_src #+RESULTS: @@ -144,6 +144,7 @@ OK, the datapoints are all corners. Now I know. Find which way is inside | (11 1) | 9 | 5 | | (11 1) | 2 | 5 | | (11 1) | 2 | 3 | + | (11 1) | 7 | 3 | | (11 7) | 9 | 7 | | (11 7) | 9 | 5 |