diff --git a/pystencils_tests/test_vectorization_specific.py b/pystencils_tests/test_vectorization_specific.py index 9b9d34694ccd63a4ab3a5aa4ce4f7df23b10f897..065958624df55d79c79643a91aa1cce70fedad4f 100644 --- a/pystencils_tests/test_vectorization_specific.py +++ b/pystencils_tests/test_vectorization_specific.py @@ -61,6 +61,7 @@ def test_vectorized_abs(instruction_set, dtype): @pytest.mark.parametrize('dtype', ('float', 'double')) @pytest.mark.parametrize('instruction_set', supported_instruction_sets) def test_strided(instruction_set, dtype): + npdtype = np.float64 if dtype == 'double' else np.float32 type_string = "float64" if dtype == 'double' else "float32" f, g = ps.fields(f"f, g : {type_string}[2D]") @@ -77,30 +78,22 @@ def test_strided(instruction_set, dtype): default_number_float=type_string) ast = ps.create_kernel(update_rule, config=config) assert len(warn) == 0 - - ps.show_code(ast) + # ps.show_code(ast) func = ast.compile() - ref_config = pystencils.config.CreateKernelConfig(default_number_float=type_string) - ref_func = ps.create_kernel(update_rule, config=ref_config).compile() + ref_func = ps.create_kernel(update_rule).compile() - # For some reason other array creations fail on the emulated ppc pipeline - size = (25, 19) - arr = np.zeros(size).astype(type_string) - for i in range(size[0]): - for j in range(size[1]): - arr[i, j] = i * j - - - dst = np.zeros_like(arr, dtype=type_string) - ref = np.zeros_like(arr, dtype=type_string) + arr = np.random.random((23 + 2, 17 + 2)).astype(npdtype) + # print("sum arr: ", np.sum(arr)) + # print("arr type: ", arr.dtype) + dst = np.zeros_like(arr, dtype=npdtype) + ref = np.zeros_like(arr, dtype=npdtype) func(g=dst, f=arr) ref_func(g=ref, f=arr) - - print("dst: ", dst) - print("np array: ", arr) - - np.testing.assert_almost_equal(dst[1:-1, 1:-1], ref[1:-1, 1:-1], 13 if dtype == 'double' else 5) + + # print("dst sum: ", np.sum(dst)) + # print("reference sum: ", np.sum(ref)) + np.testing.assert_almost_equal(dst, ref, 13 if dtype == 'double' else 5) @pytest.mark.parametrize('dtype', ('float', 'double'))