Updated notes for day 24 investigation main
authorNeil Smith <NeilNjae@users.noreply.github.com>
Sun, 12 Jan 2025 11:14:41 +0000 (11:14 +0000)
committerNeil Smith <NeilNjae@users.noreply.github.com>
Sun, 12 Jan 2025 11:14:41 +0000 (11:14 +0000)
advent24/notes.hs [deleted file]
advent24/notes.txt [new file with mode: 0644]

diff --git a/advent24/notes.hs b/advent24/notes.hs
deleted file mode 100644 (file)
index 4f049a3..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-(wires, device) <- rd
-putStrLn $ drawTree $ fmap show $ unfoldFromWire device "z01"
-filter (not . snd) [(xi, (bit xi) == part1 (setInputs 0 (bit xi)) device) | xi <- [0..44] ]
-equivalentTree (unfoldFromWire device "z01") (unfoldFromWire device "z01")
-
-
-filter not [ (x + y) == part1 (setInputs x y) device | x <- [0..127] , y <- [0..127] ]
-
-equivalentTree ( unfoldFromWire device "z02") (makeAdder 2 "o1" 0)
-
-putStrLn $ drawTree $ fmap show $ (makeAdder 2 "o1" 0)
-
-[ (k, equivalentTree ( unfoldFromWire device ("z" ++ show2d k)) (makeAdder k "o1" 0)) | k <- [0..15] ]
-
-putStrLn $ unlines $ take 15 $ lines $ drawTree $ fmap show $ unfoldFromWire device "z14"
-putStrLn $ unlines $ take 15 $ lines $ drawTree $ fmap show $ makeAdder 14 "o1" 0
-
-
-filter ((elem "carry01") . inputs) $ renamings device
-filter ((== "vss") . output) $ renamings device
-
-
-
-ghci> putStrLn $ unlines $ fmap show $ sortOn (codeOfName . head . inputs) $ renamings $ swapWires "vss" "z14" device
-
-putStrLn $ unlines $ fmap show $ sortOn (codeOfName . head . inputs) $ device
-
-
-
-
-(wires, device) <- rd
-dc2 = replaceCarry 2 device
-
-
-
diff --git a/advent24/notes.txt b/advent24/notes.txt
new file mode 100644 (file)
index 0000000..ec00b45
--- /dev/null
@@ -0,0 +1,38 @@
+(wires, device) <- rd
+putStrLn $ drawTree $ fmap show $ unfoldFromWire device "z01"
+filter (not . snd) [(xi, (bit xi) == part1 (setInputs 0 (bit xi)) device) | xi <- [0..44] ]
+equivalentTree (unfoldFromWire device "z01") (unfoldFromWire device "z01")
+
+
+filter not [ (x + y) == part1 (setInputs x y) device | x <- [0..127] , y <- [0..127] ]
+
+equivalentTree ( unfoldFromWire device "z02") (makeAdder 2 "o1" 0)
+
+putStrLn $ drawTree $ fmap show $ (makeAdder 2 "o1" 0)
+
+[ (k, equivalentTree ( unfoldFromWire device ("z" ++ show2d k)) (makeAdder k "o1" 0)) | k <- [0..15] ]
+
+putStrLn $ unlines $ take 15 $ lines $ drawTree $ fmap show $ unfoldFromWire device "z14"
+putStrLn $ unlines $ take 15 $ lines $ drawTree $ fmap show $ makeAdder 14 "o1" 0
+
+
+filter ((elem "carry01") . inputs) $ renamings device
+filter ((== "vss") . output) $ renamings device
+
+
+
+ghci> putStrLn $ unlines $ fmap show $ sortOn (codeOfName . head . inputs) $ renamings $ swapWires "vss" "z14" device
+
+putStrLn $ unlines $ fmap show $ sortOn (codeOfName . head . inputs) $ device
+
+
+
+
+(wires, device) <- rd
+dc2 = replaceCarry 2 device
+
+
+foldM (growSpine dc13) (Node {rootLabel = fromJust $ find ((== Carry) . gType) device, subForest = []}) [ (And, (Gate Xor [x0, y0] "")), (Or, (Gate And [x0, y0] "")), (Xor, (Gate Xor [x1, y1] "")) ]
+
+foldM (growSpine d21) (Node {rootLabel = fromJust $ find ((== Carry) . gType) d21, subForest = []})  [ (And, (Gate Xor ["x21", "y21"] "")), (Or, (Gate And ["x21", "y21"] "")), (Xor, (Gate Xor ["x22", "y22"] "")) ]
+