Make vectors uglier ([]/~). Sorry. Should be temporary. Closes #2725.
This commit is contained in:
@@ -22,7 +22,7 @@ export eq_vec;
|
||||
// for the case where nbits <= 32.
|
||||
|
||||
#[doc = "The bitvector type"]
|
||||
type bitv = @{storage: [mut uint], nbits: uint};
|
||||
type bitv = @{storage: [mut uint]/~, nbits: uint};
|
||||
|
||||
const uint_bits: uint = 32u + (1u << 32u >> 27u);
|
||||
|
||||
@@ -183,7 +183,7 @@ Converts the bitvector to a vector of uint with the same length.
|
||||
|
||||
Each uint in the resulting vector has either value 0u or 1u.
|
||||
"]
|
||||
fn to_vec(v: bitv) -> [uint] {
|
||||
fn to_vec(v: bitv) -> [uint]/~ {
|
||||
let sub = {|x|init_to_vec(v, x)};
|
||||
ret vec::from_fn::<uint>(v.nbits, sub);
|
||||
}
|
||||
@@ -225,7 +225,7 @@ Compare a bitvector to a vector of uint
|
||||
The uint vector is expected to only contain the values 0u and 1u. Both the
|
||||
bitvector and vector must have the same length
|
||||
"]
|
||||
fn eq_vec(v0: bitv, v1: [uint]) -> bool {
|
||||
fn eq_vec(v0: bitv, v1: [uint]/~) -> bool {
|
||||
assert (v0.nbits == vec::len::<uint>(v1));
|
||||
let len = v0.nbits;
|
||||
let mut i = 0u;
|
||||
@@ -262,9 +262,9 @@ mod tests {
|
||||
fn test_1_element() {
|
||||
let mut act;
|
||||
act = bitv(1u, false);
|
||||
assert (eq_vec(act, [0u]));
|
||||
assert (eq_vec(act, [0u]/~));
|
||||
act = bitv(1u, true);
|
||||
assert (eq_vec(act, [1u]));
|
||||
assert (eq_vec(act, [1u]/~));
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -273,11 +273,11 @@ mod tests {
|
||||
// all 0
|
||||
|
||||
act = bitv(10u, false);
|
||||
assert (eq_vec(act, [0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u]));
|
||||
assert (eq_vec(act, [0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u]/~));
|
||||
// all 1
|
||||
|
||||
act = bitv(10u, true);
|
||||
assert (eq_vec(act, [1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u]));
|
||||
assert (eq_vec(act, [1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u]/~));
|
||||
// mixed
|
||||
|
||||
act = bitv(10u, false);
|
||||
@@ -286,7 +286,7 @@ mod tests {
|
||||
set(act, 2u, true);
|
||||
set(act, 3u, true);
|
||||
set(act, 4u, true);
|
||||
assert (eq_vec(act, [1u, 1u, 1u, 1u, 1u, 0u, 0u, 0u, 0u, 0u]));
|
||||
assert (eq_vec(act, [1u, 1u, 1u, 1u, 1u, 0u, 0u, 0u, 0u, 0u]/~));
|
||||
// mixed
|
||||
|
||||
act = bitv(10u, false);
|
||||
@@ -295,7 +295,7 @@ mod tests {
|
||||
set(act, 7u, true);
|
||||
set(act, 8u, true);
|
||||
set(act, 9u, true);
|
||||
assert (eq_vec(act, [0u, 0u, 0u, 0u, 0u, 1u, 1u, 1u, 1u, 1u]));
|
||||
assert (eq_vec(act, [0u, 0u, 0u, 0u, 0u, 1u, 1u, 1u, 1u, 1u]/~));
|
||||
// mixed
|
||||
|
||||
act = bitv(10u, false);
|
||||
@@ -303,7 +303,7 @@ mod tests {
|
||||
set(act, 3u, true);
|
||||
set(act, 6u, true);
|
||||
set(act, 9u, true);
|
||||
assert (eq_vec(act, [1u, 0u, 0u, 1u, 0u, 0u, 1u, 0u, 0u, 1u]));
|
||||
assert (eq_vec(act, [1u, 0u, 0u, 1u, 0u, 0u, 1u, 0u, 0u, 1u]/~));
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -315,14 +315,14 @@ mod tests {
|
||||
assert (eq_vec(act,
|
||||
[0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
|
||||
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
|
||||
0u, 0u, 0u, 0u, 0u]));
|
||||
0u, 0u, 0u, 0u, 0u]/~));
|
||||
// all 1
|
||||
|
||||
act = bitv(31u, true);
|
||||
assert (eq_vec(act,
|
||||
[1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
|
||||
1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
|
||||
1u, 1u, 1u, 1u, 1u]));
|
||||
1u, 1u, 1u, 1u, 1u]/~));
|
||||
// mixed
|
||||
|
||||
act = bitv(31u, false);
|
||||
@@ -337,7 +337,7 @@ mod tests {
|
||||
assert (eq_vec(act,
|
||||
[1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 0u, 0u, 0u, 0u, 0u,
|
||||
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
|
||||
0u, 0u, 0u, 0u, 0u]));
|
||||
0u, 0u, 0u, 0u, 0u]/~));
|
||||
// mixed
|
||||
|
||||
act = bitv(31u, false);
|
||||
@@ -352,7 +352,7 @@ mod tests {
|
||||
assert (eq_vec(act,
|
||||
[0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
|
||||
0u, 0u, 0u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 0u, 0u,
|
||||
0u, 0u, 0u, 0u, 0u]));
|
||||
0u, 0u, 0u, 0u, 0u]/~));
|
||||
// mixed
|
||||
|
||||
act = bitv(31u, false);
|
||||
@@ -366,7 +366,7 @@ mod tests {
|
||||
assert (eq_vec(act,
|
||||
[0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
|
||||
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 1u, 1u,
|
||||
1u, 1u, 1u, 1u, 1u]));
|
||||
1u, 1u, 1u, 1u, 1u]/~));
|
||||
// mixed
|
||||
|
||||
act = bitv(31u, false);
|
||||
@@ -376,7 +376,7 @@ mod tests {
|
||||
assert (eq_vec(act,
|
||||
[0u, 0u, 0u, 1u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
|
||||
0u, 0u, 0u, 0u, 1u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
|
||||
0u, 0u, 0u, 0u, 1u]));
|
||||
0u, 0u, 0u, 0u, 1u]/~));
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -388,14 +388,14 @@ mod tests {
|
||||
assert (eq_vec(act,
|
||||
[0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
|
||||
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
|
||||
0u, 0u, 0u, 0u, 0u, 0u]));
|
||||
0u, 0u, 0u, 0u, 0u, 0u]/~));
|
||||
// all 1
|
||||
|
||||
act = bitv(32u, true);
|
||||
assert (eq_vec(act,
|
||||
[1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
|
||||
1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
|
||||
1u, 1u, 1u, 1u, 1u, 1u]));
|
||||
1u, 1u, 1u, 1u, 1u, 1u]/~));
|
||||
// mixed
|
||||
|
||||
act = bitv(32u, false);
|
||||
@@ -410,7 +410,7 @@ mod tests {
|
||||
assert (eq_vec(act,
|
||||
[1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 0u, 0u, 0u, 0u, 0u,
|
||||
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
|
||||
0u, 0u, 0u, 0u, 0u, 0u]));
|
||||
0u, 0u, 0u, 0u, 0u, 0u]/~));
|
||||
// mixed
|
||||
|
||||
act = bitv(32u, false);
|
||||
@@ -425,7 +425,7 @@ mod tests {
|
||||
assert (eq_vec(act,
|
||||
[0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
|
||||
0u, 0u, 0u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 0u, 0u,
|
||||
0u, 0u, 0u, 0u, 0u, 0u]));
|
||||
0u, 0u, 0u, 0u, 0u, 0u]/~));
|
||||
// mixed
|
||||
|
||||
act = bitv(32u, false);
|
||||
@@ -440,7 +440,7 @@ mod tests {
|
||||
assert (eq_vec(act,
|
||||
[0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
|
||||
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 1u, 1u,
|
||||
1u, 1u, 1u, 1u, 1u, 1u]));
|
||||
1u, 1u, 1u, 1u, 1u, 1u]/~));
|
||||
// mixed
|
||||
|
||||
act = bitv(32u, false);
|
||||
@@ -451,7 +451,7 @@ mod tests {
|
||||
assert (eq_vec(act,
|
||||
[0u, 0u, 0u, 1u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
|
||||
0u, 0u, 0u, 0u, 1u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
|
||||
0u, 0u, 0u, 0u, 1u, 1u]));
|
||||
0u, 0u, 0u, 0u, 1u, 1u]/~));
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -463,14 +463,14 @@ mod tests {
|
||||
assert (eq_vec(act,
|
||||
[0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
|
||||
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
|
||||
0u, 0u, 0u, 0u, 0u, 0u, 0u]));
|
||||
0u, 0u, 0u, 0u, 0u, 0u, 0u]/~));
|
||||
// all 1
|
||||
|
||||
act = bitv(33u, true);
|
||||
assert (eq_vec(act,
|
||||
[1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
|
||||
1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u,
|
||||
1u, 1u, 1u, 1u, 1u, 1u, 1u]));
|
||||
1u, 1u, 1u, 1u, 1u, 1u, 1u]/~));
|
||||
// mixed
|
||||
|
||||
act = bitv(33u, false);
|
||||
@@ -485,7 +485,7 @@ mod tests {
|
||||
assert (eq_vec(act,
|
||||
[1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 0u, 0u, 0u, 0u, 0u,
|
||||
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
|
||||
0u, 0u, 0u, 0u, 0u, 0u, 0u]));
|
||||
0u, 0u, 0u, 0u, 0u, 0u, 0u]/~));
|
||||
// mixed
|
||||
|
||||
act = bitv(33u, false);
|
||||
@@ -500,7 +500,7 @@ mod tests {
|
||||
assert (eq_vec(act,
|
||||
[0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
|
||||
0u, 0u, 0u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 1u, 0u, 0u,
|
||||
0u, 0u, 0u, 0u, 0u, 0u, 0u]));
|
||||
0u, 0u, 0u, 0u, 0u, 0u, 0u]/~));
|
||||
// mixed
|
||||
|
||||
act = bitv(33u, false);
|
||||
@@ -515,7 +515,7 @@ mod tests {
|
||||
assert (eq_vec(act,
|
||||
[0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
|
||||
0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 1u, 1u,
|
||||
1u, 1u, 1u, 1u, 1u, 1u, 0u]));
|
||||
1u, 1u, 1u, 1u, 1u, 1u, 0u]/~));
|
||||
// mixed
|
||||
|
||||
act = bitv(33u, false);
|
||||
@@ -527,7 +527,7 @@ mod tests {
|
||||
assert (eq_vec(act,
|
||||
[0u, 0u, 0u, 1u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
|
||||
0u, 0u, 0u, 0u, 1u, 0u, 0u, 0u, 0u, 0u, 0u, 0u, 0u,
|
||||
0u, 0u, 0u, 0u, 1u, 1u, 1u]));
|
||||
0u, 0u, 0u, 0u, 1u, 1u, 1u]/~));
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
Reference in New Issue
Block a user