3
3
import numpy as np
4
4
import operator
5
5
6
+ import numpy_quaddtype
6
7
from numpy_quaddtype import QuadPrecDType , QuadPrecision
7
8
8
9
@@ -11,6 +12,17 @@ def test_create_scalar_simple():
11
12
assert isinstance (QuadPrecision (1.63 ), QuadPrecision )
12
13
assert isinstance (QuadPrecision (1 ), QuadPrecision )
13
14
15
+ @pytest .mark .parametrize ("name,expected" , [("pi" , np .pi ), ("e" , np .e ), ("log2e" , np .log2 (np .e )), ("log10e" , np .log10 (np .e )), ("ln2" , np .log (2.0 )), ("ln10" , np .log (10.0 ))])
16
+ def test_math_constant (name , expected ):
17
+ assert isinstance (getattr (numpy_quaddtype , name ), QuadPrecision )
18
+
19
+ assert np .float64 (getattr (numpy_quaddtype , name )) == expected
20
+
21
+
22
+ @pytest .mark .parametrize ("name" , ["max_value" , "epsilon" , "smallest_normal" , "smallest_subnormal" ])
23
+ def test_finfo_constant (name ):
24
+ assert isinstance (getattr (numpy_quaddtype , name ), QuadPrecision )
25
+
14
26
15
27
def test_basic_equality ():
16
28
assert QuadPrecision ("12" ) == QuadPrecision (
@@ -140,12 +152,12 @@ def test_inf():
140
152
def test_dtype_creation ():
141
153
dtype = QuadPrecDType ()
142
154
assert isinstance (dtype , np .dtype )
143
- assert dtype .name == ' QuadPrecDType128'
155
+ assert dtype .name == " QuadPrecDType128"
144
156
145
157
146
158
def test_array_creation ():
147
159
arr = np .array ([1 , 2 , 3 ], dtype = QuadPrecDType ())
148
- assert arr .dtype .name == ' QuadPrecDType128'
160
+ assert arr .dtype .name == " QuadPrecDType128"
149
161
assert all (isinstance (x , QuadPrecision ) for x in arr )
150
162
151
163
0 commit comments