example/
example.rs

1use mat::*;
2
3fn main () {
4  println!("mat example: main...");
5  //
6  //  small
7  //
8  let m = Mat::from_vec (
9    (3, 4).into(),
10    vec!['a','b','c','d','e','f','g','h','i','j','k','l']
11  ).unwrap();
12  println!("{}", m);
13
14  println!("rect iter top...");
15  let top = m.top().unwrap();
16  for (Coordinate{row,column}, e) in m.rect_iter (top).unwrap() {
17    println!("coord: ({},{})  elem: {}", row, column, e);
18  }
19
20  println!("rect iter bottom...");
21  let bottom = m.bottom().unwrap();
22  for (Coordinate{row,column}, e) in m.rect_iter (bottom).unwrap() {
23    println!("coord: ({},{})  elem: {}", row, column, e);
24  }
25
26  println!("rect iter left...");
27  let left = m.left().unwrap();
28  for (Coordinate{row,column}, e) in m.rect_iter (left).unwrap() {
29    println!("coord: ({},{})  elem: {}", row, column, e);
30  }
31
32  println!("rect iter right...");
33  let right = m.right().unwrap();
34  for (Coordinate{row,column}, e) in m.rect_iter (right).unwrap() {
35    println!("coord: ({},{})  elem: {}", row, column, e);
36  }
37
38  println!("rect iter column 1...");
39  let column1 = m.column (1).unwrap();
40  for (Coordinate{row,column}, e) in m.rect_iter (column1).unwrap() {
41    println!("coord: ({},{})  elem: {}", row, column, e);
42  }
43
44  println!("rect iter row 1...");
45  let row1 = m.row (1).unwrap();
46  for (Coordinate{row,column}, e) in m.rect_iter (row1).unwrap() {
47    println!("coord: ({},{})  elem: {}", row, column, e);
48  }
49
50  //
51  //  bigger
52  //
53  let mut m = Mat::<char>::default();
54
55  m.resize ((8, 15).into(), 'o');
56  println!("{}", m);
57
58  println!("rect iter mut top...");
59  let top = m.top().unwrap();
60  for (_, e) in m.rect_iter_mut (top).unwrap() {
61    *e = 'X';
62  }
63
64  println!("{}", m);
65
66  println!("rect iter mut lower right block...");
67  let block = Rectangle::from ((
68    (4, 11).into(),
69    (m.height()-4, m.width()-11).into()));
70
71  for (_, e) in m.rect_iter_mut (block).unwrap() {
72    *e = 'I';
73  }
74
75  println!("{}", m);
76
77  println!("rect iter mut column 2...");
78  let col2 = m.column (2).unwrap();
79
80  for (_, e) in m.rect_iter_mut (col2).unwrap() {
81    *e = 'E';
82  }
83
84  println!("{}", m);
85
86  println!("rect iter mut middle box...");
87  let rect = Rectangle::from (((3, 2).into(), (5, 3).into()));
88  for (_, e) in m.rect_iter_mut (rect).unwrap() {
89    *e = 'M';
90  }
91
92  println!("{}", m);
93
94  println!("mat example: ...main");
95}