mirror of
https://github.com/GaloisInc/cryptol.git
synced 2025-01-05 23:17:42 +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)
|