Login
7 branches 0 tags
Benjamin Vincent Schulenburg Made binary operations more robust and 64bit 84f8e31 3 years ago 437 Commits
nujel / tests / fast / day6.nuj
#!/usr/bin/env nujel

[defun 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]]]

[defun do-steps [l count]
       [for [i 0 count]
            [set! l [step l]]]
       l]

[defun 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.input"] ","] int]]]
[def result [sum [do-steps input 80]]]
[when [!= result 349549]
      [throw [list :wrong-result "Wrong result" result]]]
[def result [sum [do-steps input 256]]]
[when [!= result 1589590444365]
      [throw [list :wrong-result "Wrong result" result]]]