1 (* Test functions which construct and extract fixed-length ints
12 let zeroes = zeroes_bitstring i in
15 zeroes : i : bitstring;
23 0x5a : 8 : littleendian;
25 0x5a : 8 : nativeendian;
26 0xa5a5 : 16 : littleendian;
27 0xa5a5 : 16 : bigendian;
28 0xa5a5 : 16 : nativeendian;
29 0xeeddcc : 24 : littleendian;
30 0xeeddcc : 24 : bigendian;
31 0xeeddcc : 24 : nativeendian;
32 0x48888888 : 31 : littleendian;
33 0x48888888 : 31 : bigendian;
34 0x48888888 : 31 : nativeendian;
35 0xaabbccdd_l : 32 : littleendian;
36 0xaabbccdd_l : 32 : bigendian;
37 0xaabbccdd_l : 32 : nativeendian;
38 0xaabbccddeeff_L : 48 : littleendian;
39 0xaabbccddeeff_L : 48 : bigendian;
40 0xaabbccddeeff_L : 48 : nativeendian;
41 0x0011aabbccddeeff_L : 64 : littleendian;
42 0x0011aabbccddeeff_L : 64 : bigendian;
43 0x0011aabbccddeeff_L : 64 : nativeendian
47 | { _ : i : bitstring;
49 b0 : 2 : littleendian;
51 b2 : 2 : nativeendian;
52 c0 : 3 : littleendian;
54 c2 : 3 : nativeendian;
55 d0 : 8 : littleendian;
57 d2 : 8 : nativeendian;
58 e0 : 16 : littleendian;
60 e2 : 16 : nativeendian;
61 f0 : 24 : littleendian;
63 f2 : 24 : nativeendian;
64 g0 : 31 : littleendian;
66 g2 : 31 : nativeendian;
67 h0 : 32 : littleendian;
69 h2 : 32 : nativeendian;
70 j0 : 48 : littleendian;
72 j2 : 48 : nativeendian;
73 k0 : 64 : littleendian;
75 k2 : 64 : nativeendian
99 || j0 <> 0xaabbccddeeff_L
100 || j1 <> 0xaabbccddeeff_L
101 || j2 <> 0xaabbccddeeff_L
102 || k0 <> 0x0011aabbccddeeff_L
103 || k1 <> 0x0011aabbccddeeff_L
104 || k2 <> 0x0011aabbccddeeff_L
106 eprintf "15_extract_int: match failed %b %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %ld %ld %ld %Ld %Ld %Ld %Ld %Ld %Ld\n"
107 a b0 b1 b2 c0 c1 c2 d0 d1 d2 e0 e1 e2 f0 f1 f2 g0 g1 g2 h0 h1 h2 j0 j1 j2 k0 k1 k2;
111 failwith "15_extract_int"