Skip to content

Commit 356ff38

Browse files
committed
Update structs_10 to nested structs containing array members
1 parent 4e0bbf3 commit 356ff38

File tree

1 file changed

+21
-7
lines changed

1 file changed

+21
-7
lines changed

integration_tests/structs_10.py

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,25 @@
22
from numpy import empty, float64
33

44
@dataclass
5-
class MatVec:
5+
class Mat:
66
mat: f64[2, 2]
7+
8+
@dataclass
9+
class Vec:
710
vec: f64[2]
811

12+
@dataclass
13+
class MatVec:
14+
mat: Mat
15+
vec: Vec
16+
917
def rotate(mat_vec: MatVec) -> f64[2]:
1018
rotated_vec: f64[2] = empty(2, dtype=float64)
11-
rotated_vec[0] = mat_vec.mat[0, 0] * mat_vec.vec[0] + mat_vec.mat[0, 1] * mat_vec.vec[1]
12-
rotated_vec[1] = mat_vec.mat[1, 0] * mat_vec.vec[0] + mat_vec.mat[1, 1] * mat_vec.vec[1]
19+
rotated_vec[0] = mat_vec.mat.mat[0, 0] * mat_vec.vec.vec[0] + mat_vec.mat.mat[0, 1] * mat_vec.vec.vec[1]
20+
rotated_vec[1] = mat_vec.mat.mat[1, 0] * mat_vec.vec.vec[0] + mat_vec.mat.mat[1, 1] * mat_vec.vec.vec[1]
1321
return rotated_vec
1422

15-
def test_rotate_by_90():
23+
def create_MatVec_obj() -> MatVec:
1624
mat: f64[2, 2] = empty((2, 2), dtype=float64)
1725
vec: f64[2] = empty(2, dtype=float64)
1826
mat[0, 0] = 0.0
@@ -21,9 +29,15 @@ def test_rotate_by_90():
2129
mat[1, 1] = 0.0
2230
vec[0] = 1.0
2331
vec[1] = 0.0
24-
mat_vec: MatVec = MatVec(mat, vec)
25-
print(mat_vec.mat[0, 0], mat_vec.mat[0, 1], mat_vec.mat[1, 0], mat_vec.mat[1, 1])
26-
print(mat_vec.vec[0], mat_vec.vec[1])
32+
mat_s: Mat = Mat(mat)
33+
vec_s: Vec = Vec(vec)
34+
mat_vec: MatVec = MatVec(mat_s, vec_s)
35+
return mat_vec
36+
37+
def test_rotate_by_90():
38+
mat_vec: MatVec = create_MatVec_obj()
39+
print(mat_vec.mat.mat[0, 0], mat_vec.mat.mat[0, 1], mat_vec.mat.mat[1, 0], mat_vec.mat.mat[1, 1])
40+
print(mat_vec.vec.vec[0], mat_vec.vec.vec[1])
2741
rotated_vec: f64[2] = rotate(mat_vec)
2842
print(rotated_vec[0], rotated_vec[1])
2943
assert abs(rotated_vec[0] - 0.0) <= 1e-12

0 commit comments

Comments
 (0)