@@ -35,17 +35,28 @@ def test(mat):
3535 assert np .all (mat [:2 , :3 ] == np .ones ((2 , 3 )))
3636
3737 mat .fill (0.0 )
38+ mat [:, :] = np .arange (rows * cols ).reshape (rows , cols )
39+ printMatrix (mat )
40+ mat0 = mat .copy ()
3841 mat_as_C_order = np .array (mat , order = "F" )
39- getBlock (mat_as_C_order , 0 , 0 , 3 , 2 )[:, :] = 1.0
42+ for i , rowsize , colsize in ([0 , 3 , 2 ], [1 , 1 , 2 ], [0 , 3 , 1 ]):
43+ print ("taking block [{}:{}, {}:{}]" .format (i , rowsize + i , 0 , colsize ))
44+ B = getBlock (mat_as_C_order , i , 0 , rowsize , colsize )
45+ lhs = mat_as_C_order [i : rowsize + i , :colsize ]
46+ print ("should be:\n {}\n got:\n {}" .format (lhs , B ))
47+ assert np .array_equal (lhs , B .reshape (rowsize , colsize ))
48+
49+ B [:] = 1.0
50+ rhs = np .ones ((rowsize , colsize ))
51+ assert np .array_equal (mat_as_C_order [i : rowsize + i , :colsize ], rhs )
4052
41- assert np . all ( mat_as_C_order [:3 , :2 ] == np . ones (( 3 , 2 )))
53+ mat_as_C_order [:, :] = mat0
4254
43- mat_as_C_order [:3 , :2 ] = 0.0
4455 mat_copy = mat_as_C_order .copy ()
4556 editBlock (mat_as_C_order , 0 , 0 , 3 , 2 )
4657 mat_copy [:3 , :2 ] = np .arange (6 ).reshape (3 , 2 )
4758
48- assert np .all (mat_as_C_order == mat_copy )
59+ assert np .array_equal (mat_as_C_order , mat_copy )
4960
5061 class ModifyBlockImpl (modify_block ):
5162 def __init__ (self ):
0 commit comments