Skip to content

Commit 899b2c1

Browse files
authored
Fix bug with floating subdtypes (#36)
Signed-off-by: Thijs Baaijen <[email protected]>
1 parent 000be44 commit 899b2c1

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

src/power_grid_model_ds/_core/model/constants.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def empty(dtype: type):
1616
return ""
1717
if np.issubdtype(dtype, np.dtype("bool")):
1818
return False
19-
if np.issubdtype(dtype, np.float64):
19+
if np.issubdtype(dtype, np.floating):
2020
return np.nan
2121
try:
2222
return np.iinfo(dtype).min

tests/unit/model/arrays/test_build.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,17 @@ class ChildArray(DefaultedFancyTestArray):
4141
test_float4: NDArray[np.float64]
4242

4343

44+
class SizedDTypesArray(FancyArray):
45+
test_float16: NDArray[np.float16]
46+
test_float32: NDArray[np.float32]
47+
test_float64: NDArray[np.float64]
48+
49+
test_int8: NDArray[np.int8]
50+
test_int16: NDArray[np.int16]
51+
test_int32: NDArray[np.int32]
52+
test_int64: NDArray[np.int64]
53+
54+
4455
def test_build_without_array_definition():
4556
with pytest.raises(ArrayDefinitionError):
4657
FancyArray()
@@ -166,6 +177,19 @@ def test_empty():
166177
assert_array_equal([min_int64] * 3, array.test_int)
167178

168179

180+
def test_empty_with_sized_dtypes():
181+
array = SizedDTypesArray.empty(1)
182+
183+
assert_array_equal([np.iinfo(np.int8).min], array.test_int8)
184+
assert_array_equal([np.iinfo(np.int16).min], array.test_int16)
185+
assert_array_equal([np.iinfo(np.int32).min], array.test_int32)
186+
assert_array_equal([np.iinfo(np.int64).min], array.test_int64)
187+
188+
assert_array_equal([np.nan], array.test_float16)
189+
assert_array_equal([np.nan], array.test_float32)
190+
assert_array_equal([np.nan], array.test_float64)
191+
192+
169193
def test_empty_with_defaults():
170194
array = DefaultedFancyTestArray.empty(3)
171195
assert 3 == array.size

0 commit comments

Comments
 (0)