1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
default Order dec
$include <prelude.sail>
val test : bits(8) -> {|0, 1, 2, 3, 4|}
function test byte = {
[0, 1, 2, 3, 4, 1, 2, 3, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 4, 4, 4, 0, 0, 1, 0, 2, 0, 0, 0, 4, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 4, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 3, 4, 0, 3, 0, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 3, 2, 2, 0, 0, 0, 0, 0, 1, 2, 3, 4, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 0, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 3, 0, 3, 4, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1] : vector(256, dec, {|0, 1, 2, 3, 4|})[unsigned(byte)]
}
val main : unit -> unit
function main() = {
foreach (n from 0 to 255) {
let byte = get_slice_int(8, n, 0);
print_bits("i = ", byte);
print_int("v = ", test(byte))
}
}
|