4
4
import delayedarray
5
5
6
6
7
- def sanitize_ndarray (x : numpy .ndarray ):
8
- if numpy .ma .is_masked (x ):
9
- if isinstance (x .mask , bool ):
10
- if not x .mask :
11
- return x .data
12
- else :
13
- if not x .mask .any ():
14
- return x .data
15
- return x
16
-
17
-
18
7
def assert_identical_ndarrays (x : numpy .ndarray , y : numpy .ndarray ):
19
- x = sanitize_ndarray (x )
20
- y = sanitize_ndarray (y )
21
- assert numpy .ma .is_masked (x ) == numpy .ma .is_masked (y )
22
- if numpy .ma .is_masked (x ):
8
+ assert numpy .ma .isMaskedArray (x ) == numpy .ma .isMaskedArray (y )
9
+ if numpy .ma .isMaskedArray (x ):
23
10
assert (x .mask == y .mask ).all ()
24
11
comp = is_equal_with_nan (x .data , y .data )
25
12
remask = numpy .logical_or (numpy .zeros (x .shape ), x .mask ) # using an OR to force broadcasting of buggy masks of different shape.
@@ -38,10 +25,8 @@ def is_equal_with_nan(left: numpy.ndarray, right: numpy.ndarray):
38
25
39
26
40
27
def assert_close_ndarrays (x : numpy .ndarray , y : numpy .ndarray ):
41
- x = sanitize_ndarray (x )
42
- y = sanitize_ndarray (y )
43
- assert numpy .ma .is_masked (x ) == numpy .ma .is_masked (y )
44
- if numpy .ma .is_masked (x ):
28
+ assert numpy .ma .isMaskedArray (x ) == numpy .ma .isMaskedArray (y )
29
+ if numpy .ma .isMaskedArray (x ):
45
30
assert (x .mask == y .mask ).all ()
46
31
comp = is_close_with_nan (x .data , y .data )
47
32
remask = numpy .logical_or (numpy .zeros (x .shape , dtype = numpy .bool_ ), x .mask ) # using an OR to force broadcasting of buggy masks of different shape.
@@ -60,7 +45,7 @@ def is_close_with_nan(left: numpy.ndarray, right: numpy.ndarray):
60
45
61
46
62
47
def safe_concatenate (x : List [numpy .ndarray ], axis : int = 0 ):
63
- if any (numpy .ma .is_masked (y ) for y in x ):
48
+ if any (numpy .ma .isMaskedArray (y ) for y in x ):
64
49
return numpy .ma .concatenate (x , axis = axis )
65
50
else :
66
51
return numpy .concatenate (x , axis = axis )
0 commit comments