@@ -9,17 +9,17 @@ def verify1d(array: f32[:], result: f32[:], size: i32):
9
9
for i in range (size ):
10
10
assert abs (sin (sin (array [i ])) - result [i ]) <= eps
11
11
12
- def verifynd (array : f32 [:, :, :], result : f32 [:, :, :], size1 : i32 , size2 : i32 , size3 : i32 ):
12
+ def verifynd (array : f64 [:, :, :], result : f64 [:, :, :], size1 : i32 , size2 : i32 , size3 : i32 ):
13
13
i : i32
14
14
j : i32
15
15
k : i32
16
- eps : f32
17
- eps = f32 ( 1e-6 )
16
+ eps : f64
17
+ eps = 1e-12
18
18
19
19
for i in range (size1 ):
20
20
for j in range (size2 ):
21
21
for k in range (size3 ):
22
- assert abs (sin (array [i , j , k ])** f32 ( 2 ) - result [i , j , k ]) <= eps
22
+ assert abs (sin (array [i , j , k ])** 2.0 - result [i , j , k ]) <= eps
23
23
24
24
def verify2d (array : f64 [:, :], result : f64 [:, :], size1 : i32 , size2 : i32 ):
25
25
i : i32
@@ -103,17 +103,17 @@ def elemental_sin():
103
103
104
104
verify1d (array1d , sin1d , 256 )
105
105
106
- arraynd : f32 [ 256 , 64 , 16 ] = empty ((256 , 64 , 16 ), dtype = float32 )
107
- sinnd : f32 [ 256 , 64 , 16 ] = empty ((256 , 64 , 16 ), dtype = float32 )
106
+ arraynd : f64 [ 200 , 64 , 16 ] = empty ((200 , 64 , 16 ), dtype = float64 )
107
+ sinnd : f64 [ 200 , 64 , 16 ] = empty ((200 , 64 , 16 ), dtype = float64 )
108
108
109
- for i in range (256 ):
109
+ for i in range (200 ):
110
110
for j in range (64 ):
111
111
for k in range (16 ):
112
- arraynd [i , j , k ] = f32 (i + j + k )
112
+ arraynd [i , j , k ] = float (i + j + k )
113
113
114
- sinnd = sin (arraynd )** f32 ( 2 )
114
+ sinnd = sin (arraynd )** 2.0
115
115
116
- verifynd (arraynd , sinnd , 256 , 64 , 16 )
116
+ verifynd (arraynd , sinnd , 200 , 64 , 16 )
117
117
118
118
def elemental_cos ():
119
119
i : i32
@@ -162,4 +162,4 @@ def elemental_trig_identity():
162
162
elemental_cos ()
163
163
elemental_trig_identity ()
164
164
elemental_sum ()
165
- elemental_mul ()
165
+ elemental_mul ()
0 commit comments