33import numpy as np
44import operator
55
6+ import numpy_quaddtype
67from numpy_quaddtype import QuadPrecDType , QuadPrecision
78
89
@@ -11,6 +12,17 @@ def test_create_scalar_simple():
1112 assert isinstance (QuadPrecision (1.63 ), QuadPrecision )
1213 assert isinstance (QuadPrecision (1 ), QuadPrecision )
1314
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+
1426
1527def test_basic_equality ():
1628 assert QuadPrecision ("12" ) == QuadPrecision (
@@ -140,12 +152,12 @@ def test_inf():
140152def test_dtype_creation ():
141153 dtype = QuadPrecDType ()
142154 assert isinstance (dtype , np .dtype )
143- assert dtype .name == ' QuadPrecDType128'
155+ assert dtype .name == " QuadPrecDType128"
144156
145157
146158def test_array_creation ():
147159 arr = np .array ([1 , 2 , 3 ], dtype = QuadPrecDType ())
148- assert arr .dtype .name == ' QuadPrecDType128'
160+ assert arr .dtype .name == " QuadPrecDType128"
149161 assert all (isinstance (x , QuadPrecision ) for x in arr )
150162
151163
0 commit comments