1
1
from lpython import i32 , f64 , f32
2
- from numpy import empty , sin , cos , reshape
2
+ from numpy import empty , sin , cos , reshape , int32 , float32 , float64
3
3
4
4
def verify1d (array : f32 [:], result : f32 [:], size : i32 ):
5
5
i : i32
@@ -55,9 +55,9 @@ def elemental_sum():
55
55
j : i32
56
56
k : i32
57
57
58
- array_a : f64 [100 ] = empty (100 )
59
- array_b : f64 [100 ] = empty (100 )
60
- array_c : f64 [100 ] = empty (100 )
58
+ array_a : f64 [100 ] = empty (100 , dtype = float64 )
59
+ array_b : f64 [100 ] = empty (100 , dtype = float64 )
60
+ array_c : f64 [100 ] = empty (100 , dtype = float64 )
61
61
62
62
for i in range (100 ):
63
63
array_a [i ] = float (i )
@@ -74,9 +74,9 @@ def elemental_mul():
74
74
j : i32
75
75
k : i32
76
76
77
- array_a : f64 [100 ] = empty (100 )
78
- array_b : f64 [100 ] = empty (100 )
79
- array_c : f64 [100 ] = empty (100 )
77
+ array_a : f64 [100 ] = empty (100 , dtype = float64 )
78
+ array_b : f64 [100 ] = empty (100 , dtype = float64 )
79
+ array_c : f64 [100 ] = empty (100 , dtype = float64 )
80
80
81
81
for i in range (100 ):
82
82
array_a [i ] = float (i )
@@ -93,8 +93,8 @@ def elemental_sin():
93
93
j : i32
94
94
k : i32
95
95
96
- array1d : f32 [256 ] = empty (256 )
97
- sin1d : f32 [256 ] = empty (256 )
96
+ array1d : f32 [256 ] = empty (256 , dtype = float32 )
97
+ sin1d : f32 [256 ] = empty (256 , dtype = float32 )
98
98
99
99
for i in range (256 ):
100
100
array1d [i ] = f32 (i )
@@ -103,8 +103,8 @@ def elemental_sin():
103
103
104
104
verify1d (array1d , sin1d , 256 )
105
105
106
- arraynd : f64 [256 , 64 , 16 ] = empty ((256 , 64 , 16 ))
107
- sinnd : f64 [256 , 64 , 16 ] = empty ((256 , 64 , 16 ))
106
+ arraynd : f64 [256 , 64 , 16 ] = empty ((256 , 64 , 16 ), dtype = float64 )
107
+ sinnd : f64 [256 , 64 , 16 ] = empty ((256 , 64 , 16 ), dtype = float64 )
108
108
109
109
for i in range (256 ):
110
110
for j in range (64 ):
@@ -119,8 +119,8 @@ def elemental_cos():
119
119
i : i32
120
120
j : i32
121
121
122
- array2d : f64 [256 , 64 ] = empty ((256 , 64 ))
123
- cos2d : f64 [256 , 64 ] = empty ((256 , 64 ))
122
+ array2d : f64 [256 , 64 ] = empty ((256 , 64 ), dtype = float64 )
123
+ cos2d : f64 [256 , 64 ] = empty ((256 , 64 ), dtype = float64 )
124
124
125
125
for i in range (256 ):
126
126
for j in range (64 ):
@@ -138,9 +138,9 @@ def elemental_trig_identity():
138
138
eps : f32
139
139
eps = f32 (1e-6 )
140
140
141
- arraynd : f32 [64 , 32 , 8 , 4 ] = empty ((64 , 32 , 8 , 4 ))
142
- observed : f32 [64 , 32 , 8 , 4 ] = empty ((64 , 32 , 8 , 4 ))
143
- observed1d : f32 [65536 ] = empty (65536 )
141
+ arraynd : f32 [64 , 32 , 8 , 4 ] = empty ((64 , 32 , 8 , 4 ), dtype = float32 )
142
+ observed : f32 [64 , 32 , 8 , 4 ] = empty ((64 , 32 , 8 , 4 ), dtype = float32 )
143
+ observed1d : f32 [65536 ] = empty (65536 , dtype = float32 )
144
144
145
145
for i in range (64 ):
146
146
for j in range (32 ):
@@ -150,7 +150,7 @@ def elemental_trig_identity():
150
150
151
151
observed = sin (arraynd )** f32 (2 ) + cos (arraynd )** f32 (2 )
152
152
153
- newshape : i32 [1 ] = empty (1 , dtype = int )
153
+ newshape : i32 [1 ] = empty (1 , dtype = int32 )
154
154
newshape [0 ] = 65536
155
155
observed1d = reshape (observed , newshape )
156
156
0 commit comments