forked from rust-ndarray/ndarray
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathformat.rs
74 lines (62 loc) · 1.37 KB
/
format.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
use ndarray::prelude::*;
use ndarray::rcarr1;
#[test]
fn formatting() {
let a = rcarr1::<f32>(&[1., 2., 3., 4.]);
assert_eq!(format!("{}", a), "[1, 2, 3, 4]");
assert_eq!(format!("{:4}", a), "[ 1, 2, 3, 4]");
let a = a.reshape((4, 1, 1));
assert_eq!(
format!("{}", a),
"\
[[[1]],
[[2]],
[[3]],
[[4]]]"
);
assert_eq!(
format!("{:4}", a),
"\
[[[ 1]],
[[ 2]],
[[ 3]],
[[ 4]]]",
);
let a = a.reshape((2, 2));
assert_eq!(
format!("{}", a),
"\
[[1, 2],
[3, 4]]"
);
assert_eq!(
format!("{:4}", a),
"\
[[ 1, 2],
[ 3, 4]]"
);
let b = arr0::<f32>(3.5);
assert_eq!(format!("{}", b), "3.5");
let s = format!("{:.3e}", aview1::<f32>(&[1.1, 2.2, 33., 440.]));
assert_eq!(s, "[1.100e0, 2.200e0, 3.300e1, 4.400e2]");
let s = format!("{:02x}", aview1::<u8>(&[1, 0xff, 0xfe]));
assert_eq!(s, "[01, ff, fe]");
}
#[test]
fn debug_format() {
let a = Array2::<i32>::zeros((3, 4));
assert_eq!(
format!("{:?}", a),
"\
[[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]], shape=[3, 4], strides=[4, 1], layout=C (0x1), const ndim=2"
);
assert_eq!(
format!("{:?}", a.into_dyn()),
"\
[[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]], shape=[3, 4], strides=[4, 1], layout=C (0x1), dynamic ndim=2"
);
}