Skip to content

Commit ecf7acf

Browse files
committed
add 2D transpose tests
1 parent b04905e commit ecf7acf

File tree

2 files changed

+136
-0
lines changed

2 files changed

+136
-0
lines changed

tests/2d/numpy/transpose.py

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
try:
2+
from ulab import numpy as np
3+
except ImportError:
4+
import numpy as np
5+
6+
dtypes = (np.uint8, np.int8, np.uint16, np.int16, np.float)
7+
8+
print("Basic 2D transpose")
9+
a = np.array(range(6)).reshape((2, 3))
10+
print("Original array:")
11+
print(a)
12+
print("Transposed (no axes):")
13+
print(a.transpose())
14+
print()
15+
16+
print("2D transpose with axes=(1, 0)")
17+
a = np.array(range(6)).reshape((2, 3))
18+
print("Original array:")
19+
print(a)
20+
print("Transposed with axes=(1, 0):")
21+
print(a.transpose(axes=(1, 0)))
22+
print()
23+
24+
print("2D transpose with axes=(0, 1)")
25+
a = np.array(range(6)).reshape((2, 3))
26+
print("Original array:")
27+
print(a)
28+
print("Transposed with axes=(0, 1):")
29+
print(a.transpose(axes=(0, 1)))
30+
print()
31+
32+
print("1D array transpose")
33+
a = np.array(range(5))
34+
print("Original array:")
35+
print(a)
36+
print("Transposed array:")
37+
print(a.transpose())
38+
print()
39+
40+
print("Transpose of different dtypes")
41+
for dtype in dtypes:
42+
a = np.array(range(4), dtype=dtype).reshape((2, 2))
43+
print('Original array:')
44+
print(a)
45+
print('Transposed array:')
46+
print(a.transpose())
47+
print()
48+
49+
print(".T property vs transpose() method")
50+
a = np.array(range(6)).reshape((2, 3))
51+
print("Original array:")
52+
print(a)
53+
print("Using .T property:")
54+
print(a.T)
55+
print("Using .transpose():")
56+
print(a.transpose())
57+
print("Both should be equal:", np.all(a.T == a.transpose()))
58+
print()

tests/2d/numpy/transpose.py.exp

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
Basic 2D transpose
2+
Original array:
3+
array([[0.0, 1.0, 2.0],
4+
[3.0, 4.0, 5.0]], dtype=float64)
5+
Transposed (no axes):
6+
array([[0.0, 3.0],
7+
[1.0, 4.0],
8+
[2.0, 5.0]], dtype=float64)
9+
10+
2D transpose with axes=(1, 0)
11+
Original array:
12+
array([[0.0, 1.0, 2.0],
13+
[3.0, 4.0, 5.0]], dtype=float64)
14+
Transposed with axes=(1, 0):
15+
array([[0.0, 3.0],
16+
[1.0, 4.0],
17+
[2.0, 5.0]], dtype=float64)
18+
19+
2D transpose with axes=(0, 1)
20+
Original array:
21+
array([[0.0, 1.0, 2.0],
22+
[3.0, 4.0, 5.0]], dtype=float64)
23+
Transposed with axes=(0, 1):
24+
array([[0.0, 1.0, 2.0],
25+
[3.0, 4.0, 5.0]], dtype=float64)
26+
27+
1D array transpose
28+
Original array:
29+
array([0.0, 1.0, 2.0, 3.0, 4.0], dtype=float64)
30+
Transposed array:
31+
array([0.0, 1.0, 2.0, 3.0, 4.0], dtype=float64)
32+
33+
Transpose of different dtypes
34+
Original array:
35+
array([[0, 1],
36+
[2, 3]], dtype=uint8)
37+
Transposed array:
38+
array([[0, 2],
39+
[1, 3]], dtype=uint8)
40+
Original array:
41+
array([[0, 1],
42+
[2, 3]], dtype=int8)
43+
Transposed array:
44+
array([[0, 2],
45+
[1, 3]], dtype=int8)
46+
Original array:
47+
array([[0, 1],
48+
[2, 3]], dtype=uint16)
49+
Transposed array:
50+
array([[0, 2],
51+
[1, 3]], dtype=uint16)
52+
Original array:
53+
array([[0, 1],
54+
[2, 3]], dtype=int16)
55+
Transposed array:
56+
array([[0, 2],
57+
[1, 3]], dtype=int16)
58+
Original array:
59+
array([[0.0, 1.0],
60+
[2.0, 3.0]], dtype=float64)
61+
Transposed array:
62+
array([[0.0, 2.0],
63+
[1.0, 3.0]], dtype=float64)
64+
65+
.T property vs transpose() method
66+
Original array:
67+
array([[0.0, 1.0, 2.0],
68+
[3.0, 4.0, 5.0]], dtype=float64)
69+
Using .T property:
70+
array([[0.0, 3.0],
71+
[1.0, 4.0],
72+
[2.0, 5.0]], dtype=float64)
73+
Using .transpose():
74+
array([[0.0, 3.0],
75+
[1.0, 4.0],
76+
[2.0, 5.0]], dtype=float64)
77+
Both should be equal: True
78+

0 commit comments

Comments
 (0)