mirror of
https://github.com/GaloisInc/cryptol.git
synced 2024-11-11 00:26:13 +03:00
20 lines
591 B
Plaintext
20 lines
591 B
Plaintext
mk_buggy_fib_no_init : {a} (fin a, a >= 1) => [a] ->
|
|
([1], ([8], [8], [a])) -> ([8], ([8], [8], [a]))
|
|
mk_buggy_fib_no_init magic (_, (fn, fn1, k)) = (fn', (fn1, fn2, k+1))
|
|
where
|
|
fn2 = fn + fn1
|
|
// Change output when state has magic value.
|
|
fn' = fn + if k == magic then 1 else 0
|
|
|
|
generate : {n, ix, a} (fin ix, fin n, n >= 1, ix >= width (n - 1)) => ([ix] -> a) -> [n]a
|
|
generate f = [ f i | i <- [0 .. n-1] ]
|
|
|
|
infixl 1 $
|
|
f $ x = f x
|
|
|
|
foo : [10][4]
|
|
foo = generate $ \(i:[8]) -> if i == 0 then 1 else foo@(i-1)
|
|
|
|
bar : [10][4]
|
|
bar = generate \(i:[8]) -> if i == 0 then 1 else foo@(i-1)
|