Commit 4a22091d by Ben North

Add tests for doubling row- and col-vectors

Passing a non-contiguous one-dimensional numpy array gives incorrect
results, so three of these tests fail.  The only one passing is the
simple case where the numpy array is contiguous and we are building a
column-major vector.  Subsequent commit will fix the three failing
cases.
parent b063e64b
...@@ -9,6 +9,7 @@ from example import dense_r, dense_c ...@@ -9,6 +9,7 @@ from example import dense_r, dense_c
from example import dense_passthrough_r, dense_passthrough_c from example import dense_passthrough_r, dense_passthrough_c
from example import sparse_r, sparse_c from example import sparse_r, sparse_c
from example import sparse_passthrough_r, sparse_passthrough_c from example import sparse_passthrough_r, sparse_passthrough_c
from example import double_row, double_col
import numpy as np import numpy as np
ref = np.array( ref = np.array(
...@@ -42,3 +43,15 @@ print("pt_r(sparse_r) = %s" % check(sparse_passthrough_r(sparse_r()))) ...@@ -42,3 +43,15 @@ print("pt_r(sparse_r) = %s" % check(sparse_passthrough_r(sparse_r())))
print("pt_c(sparse_c) = %s" % check(sparse_passthrough_c(sparse_c()))) print("pt_c(sparse_c) = %s" % check(sparse_passthrough_c(sparse_c())))
print("pt_r(sparse_c) = %s" % check(sparse_passthrough_r(sparse_c()))) print("pt_r(sparse_c) = %s" % check(sparse_passthrough_r(sparse_c())))
print("pt_c(sparse_r) = %s" % check(sparse_passthrough_c(sparse_r()))) print("pt_c(sparse_r) = %s" % check(sparse_passthrough_c(sparse_r())))
def check_got_vs_ref(got_x, ref_x):
return 'OK' if np.array_equal(got_x, ref_x) else 'NOT OK'
counting_mat = np.arange(9.0, dtype=np.float32).reshape((3, 3))
first_row = counting_mat[0, :]
first_col = counting_mat[:, 0]
print("double_row(first_row) = %s" % check_got_vs_ref(double_row(first_row), 2.0 * first_row))
print("double_col(first_row) = %s" % check_got_vs_ref(double_col(first_row), 2.0 * first_row))
print("double_row(first_col) = %s" % check_got_vs_ref(double_row(first_col), 2.0 * first_col))
print("double_col(first_col) = %s" % check_got_vs_ref(double_col(first_col), 2.0 * first_col))
...@@ -16,3 +16,7 @@ pt_r(sparse_r) = OK ...@@ -16,3 +16,7 @@ pt_r(sparse_r) = OK
pt_c(sparse_c) = OK pt_c(sparse_c) = OK
pt_r(sparse_c) = OK pt_r(sparse_c) = OK
pt_c(sparse_r) = OK pt_c(sparse_r) = OK
double_row(first_row) = OK
double_col(first_row) = OK
double_row(first_col) = OK
double_col(first_col) = OK
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment