mirror of
https://github.com/pybind/pybind11.git
synced 2025-02-20 15:40:45 +00:00
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.
This commit is contained in:
parent
b063e64b19
commit
4a22091d45
@ -9,6 +9,7 @@ from example import dense_r, dense_c
|
||||
from example import dense_passthrough_r, dense_passthrough_c
|
||||
from example import sparse_r, sparse_c
|
||||
from example import sparse_passthrough_r, sparse_passthrough_c
|
||||
from example import double_row, double_col
|
||||
import numpy as np
|
||||
|
||||
ref = np.array(
|
||||
@ -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_r(sparse_c) = %s" % check(sparse_passthrough_r(sparse_c())))
|
||||
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
|
||||
pt_c(sparse_c) = OK
|
||||
pt_r(sparse_c) = 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
|
||||
|
Loading…
Reference in New Issue
Block a user