Skip to content

Commit 06d0bf7

Browse files
committed
Use a constant vector for the sudoku board, delete a FIXME
1 parent 668b39c commit 06d0bf7

File tree

1 file changed

+13
-32
lines changed

1 file changed

+13
-32
lines changed

src/test/bench/sudoku.rs

Lines changed: 13 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -126,40 +126,21 @@ fn write_grid(f: io::Writer, g: grid_t) {
126126
}
127127
}
128128

129+
const default_grid: [[u8]] = [[0, 4, 0, 6, 0, 0, 0, 7, 2, 0], //0
130+
[0, 0, 8, 0, 2, 0, 0, 0, 0, 0], //1
131+
[7, 0, 0, 8, 0, 0, 0, 0, 0, 0], //2
132+
[0, 0, 0, 5, 0, 0, 0, 0, 0, 0], //3
133+
[0, 5, 0, 0, 0, 3, 6, 0, 0, 0], //4
134+
[6, 8, 0, 0, 0, 0, 0, 9, 0, 0], //5
135+
[0, 9, 5, 0, 0, 6, 0, 7, 0, 0], //6
136+
[0, 0, 0, 0, 4, 0, 0, 6, 0, 0], //7
137+
[4, 0, 0, 0, 0, 7, 2, 0, 3, 0], //8
138+
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]];
139+
129140
fn main() {
130141
let args = os::args();
131-
let grid = if vec::len(args) == 1u {
132-
// FIXME create sudoku inline since nested vec consts dont work yet
133-
// (#571)
134-
let g = vec::from_fn(10u, |_i| {
135-
vec::to_mut(vec::from_elem(10u, 0 as u8))
136-
});
137-
g[0][1] = 4u8;
138-
g[0][3] = 6u8;
139-
g[0][7] = 3u8;
140-
g[0][8] = 2u8;
141-
g[1][2] = 8u8;
142-
g[1][4] = 2u8;
143-
g[2][0] = 7u8;
144-
g[2][3] = 8u8;
145-
g[3][3] = 5u8;
146-
g[4][1] = 5u8;
147-
g[4][5] = 3u8;
148-
g[4][6] = 6u8;
149-
g[5][0] = 6u8;
150-
g[5][1] = 8u8;
151-
g[5][7] = 9u8;
152-
g[6][1] = 9u8;
153-
g[6][2] = 5u8;
154-
g[6][5] = 6u8;
155-
g[6][7] = 7u8;
156-
g[7][4] = 4u8;
157-
g[7][7] = 6u8;
158-
g[8][0] = 4u8;
159-
g[8][5] = 7u8;
160-
g[8][6] = 2u8;
161-
g[8][8] = 3u8;
162-
grid_ctor(g)
142+
let grid = if args.len() == 1 {
143+
default_grid;
163144
} else {
164145
read_grid(io::stdin())
165146
};

0 commit comments

Comments
 (0)