MCPcopy Index your code
hub / github.com/numpy/numpy / test_hardmask

Method test_hardmask

numpy/ma/tests/test_core.py:2108–2161  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

2106 assert_equal(mx.mask, [1, 1, 0])
2107
2108 def test_hardmask(self):
2109 # Test hard_mask
2110 d = arange(5)
2111 n = [0, 0, 0, 1, 1]
2112 m = make_mask(n)
2113 xh = array(d, mask=m, hard_mask=True)
2114 # We need to copy, to avoid updating d in xh !
2115 xs = array(d, mask=m, hard_mask=False, copy=True)
2116 xh[[1, 4]] = [10, 40]
2117 xs[[1, 4]] = [10, 40]
2118 assert_equal(xh._data, [0, 10, 2, 3, 4])
2119 assert_equal(xs._data, [0, 10, 2, 3, 40])
2120 assert_equal(xs.mask, [0, 0, 0, 1, 0])
2121 assert_(xh._hardmask)
2122 assert_(not xs._hardmask)
2123 xh[1:4] = [10, 20, 30]
2124 xs[1:4] = [10, 20, 30]
2125 assert_equal(xh._data, [0, 10, 20, 3, 4])
2126 assert_equal(xs._data, [0, 10, 20, 30, 40])
2127 assert_equal(xs.mask, nomask)
2128 xh[0] = masked
2129 xs[0] = masked
2130 assert_equal(xh.mask, [1, 0, 0, 1, 1])
2131 assert_equal(xs.mask, [1, 0, 0, 0, 0])
2132 xh[:] = 1
2133 xs[:] = 1
2134 assert_equal(xh._data, [0, 1, 1, 3, 4])
2135 assert_equal(xs._data, [1, 1, 1, 1, 1])
2136 assert_equal(xh.mask, [1, 0, 0, 1, 1])
2137 assert_equal(xs.mask, nomask)
2138 # Switch to soft mask
2139 xh.soften_mask()
2140 xh[:] = arange(5)
2141 assert_equal(xh._data, [0, 1, 2, 3, 4])
2142 assert_equal(xh.mask, nomask)
2143 # Switch back to hard mask
2144 xh.harden_mask()
2145 xh[xh < 3] = masked
2146 assert_equal(xh._data, [0, 1, 2, 3, 4])
2147 assert_equal(xh._mask, [1, 1, 1, 0, 0])
2148 xh[filled(xh > 1, False)] = 5
2149 assert_equal(xh._data, [0, 1, 2, 5, 5])
2150 assert_equal(xh._mask, [1, 1, 1, 0, 0])
2151
2152 xh = array([[1, 2], [3, 4]], mask=[[1, 0], [0, 0]], hard_mask=True)
2153 xh[0] = 0
2154 assert_equal(xh._data, [[1, 0], [3, 4]])
2155 assert_equal(xh._mask, [[1, 0], [0, 0]])
2156 xh[-1, -1] = 5
2157 assert_equal(xh._data, [[1, 0], [3, 5]])
2158 assert_equal(xh._mask, [[1, 0], [0, 0]])
2159 xh[filled(xh < 5, False)] = 2
2160 assert_equal(xh._data, [[1, 2], [2, 5]])
2161 assert_equal(xh._mask, [[1, 0], [0, 0]])
2162
2163 def test_hardmask_again(self):
2164 # Another test of hardmask

Callers

nothing calls this directly

Calls 7

make_maskFunction · 0.90
arrayFunction · 0.90
assert_equalFunction · 0.90
filledFunction · 0.90
assert_Function · 0.85
soften_maskMethod · 0.45
harden_maskMethod · 0.45

Tested by

no test coverage detected