| <%inherit file="base.tpl.cpp"/>\ |
| <%namespace name="tests" file="opivv_opivx_test.tpl.cpp"/> |
| <% |
| import numpy as np |
| # Generate test vectors using python |
| N = 5 |
| ii32 = np.iinfo(np.int32) |
| src1_data = np.random.random_integers(ii32.min, ii32.max, N).astype(np.int32) |
| src2_data = np.random.random_integers(ii32.min, ii32.max, N).astype(np.int32) |
| # Don't allow divide by zero |
| src2_data[src2_data==0] = 1 |
| ref_vv_data = np.divide(src1_data,src2_data).astype(np.int32) |
| rs1 = np.int32(np.random.randint(ii32.min, ii32.max)) |
| # Don't allow divide by zero |
| if rs1 == 0: |
| rs1 = 1 |
| ref_vx_data = np.divide(src1_data, rs1).astype(np.int32) |
| |
| # Convert test vectors to strings for array initialization |
| src1 = parent.module.to_carr_str(src1_data) |
| src2 = parent.module.to_carr_str(src2_data) |
| ref_vv = parent.module.to_carr_str(ref_vv_data) |
| ref_vx = parent.module.to_carr_str(ref_vx_data) |
| %>\ |
| ${tests.test_opivv_opivx("int32_t", op, src1, src2, rs1, ref_vv, ref_vx)} |