File: bitvector.sail

package info (click to toggle)
sail-ocaml 0.19.1%2Bdfsg5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 18,008 kB
  • sloc: ml: 75,941; ansic: 8,848; python: 1,342; exp: 560; sh: 474; makefile: 218; cpp: 36
file content (31 lines) | stat: -rw-r--r-- 731 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
default Order dec

$include <vector_dec.sail>

$option --sv-bits-size 256

val test : (bitvector(16, dec), bitvector(200, dec)) -> bool

function test (x, y)  = {
  print_bits("x = ", x);
  print_bits("y = ", y);
  true
}

val main : unit -> unit

function main () = {
  if test(0xBEEF, sail_zeros(200)) then () else ();
  let z = 0xCAFE;
  print_bits("z = ", z);
  print_bits("zero_extend(z) = ", sail_zero_extend(z, 32));
  let q = 0xAB_FEED_DEAD_BEEF_CAFE;
  print_bits("q = ", q);
  let k = 0xFF;
  print_bits("k = ", k);
  print_bits("k + k = ", add_bits(k, k));
  print_bits("0xFF + 1 = ", add_bits_int(0xFF, 1));
  print_bits("0xFF + 2 = ", add_bits_int(0xFF, 2));
  print_bits("0xFF + 3 = ", add_bits_int(0xFF, 3));
  ()
}