@@ -29,16 +29,14 @@ use io::{ReaderUtil, WriterUtil};
29
29
// If called without arguments, sudoku solves a built-in example sudoku
30
30
//
31
31
32
- export grid_t, read_grid, solve_grid, write_grid;
33
-
34
32
// internal type of sudoku grids
35
33
type grid = ~[ ~[ mut u8] ] ;
36
34
37
35
// exported type of sudoku grids
38
- enum grid_t { grid_ctor( grid ) , }
36
+ pub enum grid_t { grid_ctor( grid ) , }
39
37
40
38
// read a sudoku problem from file f
41
- fn read_grid ( f : io:: Reader ) -> grid_t {
39
+ pub fn read_grid ( f : io:: Reader ) -> grid_t {
42
40
assert f. read_line ( ) == ~"9 , 9 "; /* assert first line is exactly "9,9" */
43
41
44
42
let g = vec:: from_fn ( 10 u, { |_i|
@@ -56,7 +54,7 @@ fn read_grid(f: io::Reader) -> grid_t {
56
54
}
57
55
58
56
// solve sudoku grid
59
- fn solve_grid ( g : grid_t ) {
57
+ pub fn solve_grid ( g : grid_t ) {
60
58
fn next_color ( g : grid , row : u8 , col : u8 , start_color : u8 ) -> bool {
61
59
if start_color < 10u8 {
62
60
// colors not yet used
@@ -126,7 +124,7 @@ fn solve_grid(g: grid_t) {
126
124
}
127
125
}
128
126
129
- fn write_grid ( f : io:: Writer , g : grid_t ) {
127
+ pub fn write_grid ( f : io:: Writer , g : grid_t ) {
130
128
for u8:: range( 0u8 , 9u8 ) |row| {
131
129
f. write_str ( fmt ! ( "%u" , ( * g) [ row] [ 0 ] as uint) ) ;
132
130
for u8:: range( 1u8 , 9u8 ) |col| {
0 commit comments