Make vectors uglier ([]/~). Sorry. Should be temporary. Closes #2725.

This commit is contained in:
Michael Sullivan
2012-06-25 20:00:46 -07:00
parent c087aaf56b
commit 329eca6044
418 changed files with 4123 additions and 4034 deletions

View File

@@ -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]