Login
7 branches 0 tags
Ben (X13/Arch) Simplified things a little 0643405 9 days ago 1260 Commits
nujel / tests / fast / day6.nuj
#!/usr/bin/env nujel

(defn step (a)
       [(ref a 1)
        (ref a 2)
	(ref a 3)
	(ref a 4)
	(ref a 5)
	(ref a 6)
	(+ (ref a 7) (ref a 0))
	(ref a 8)
	(ref a 0)])

(defn do-steps (l count)
       (dotimes (i count l)
                (set! l (step l))))

(defn input/parse (l)
       (def ret [0 0 0 0 0 0 0 0 0])
       (while l
              (array/++ ret (car l))
              (cdr! l))
       ret)

(def input (input/parse (map (split (file/read "tests/fast/day6.dat") ",") read/int)))
(def result (sum (do-steps input 80)))
(when (not= result 349549)
      (throw (list :wrong-result "Wrong result" result)))
(def result (sum (do-steps input 256)))
(when (not= result 1589590444365)
      (throw (list :wrong-result "Wrong result" result)))

(return :success)