Commit 43f6aa68 by Wenzel Jakob

added numpy test (minor): check that 'strides' is respected even when creating new arrays

- This actually works with no changes, I just wasn't 100% convinced and
  decided to write a test to see if it's true.
parent 26df8523
...@@ -91,4 +91,12 @@ test_initializer numpy_array([](py::module &m) { ...@@ -91,4 +91,12 @@ test_initializer numpy_array([](py::module &m) {
def_index_fn(mutate_data_t, arr_t&); def_index_fn(mutate_data_t, arr_t&);
def_index_fn(at_t, const arr_t&); def_index_fn(at_t, const arr_t&);
def_index_fn(mutate_at_t, arr_t&); def_index_fn(mutate_at_t, arr_t&);
sm.def("make_f_array", [] {
return py::array_t<float>({ 2, 2 }, { 4, 8 });
});
sm.def("make_c_array", [] {
return py::array_t<float>({ 2, 2 }, { 8, 4 });
});
}); });
...@@ -148,3 +148,13 @@ def test_bounds_check(arr): ...@@ -148,3 +148,13 @@ def test_bounds_check(arr):
with pytest.raises(IndexError) as excinfo: with pytest.raises(IndexError) as excinfo:
index_at(arr, 0, 4) index_at(arr, 0, 4)
assert str(excinfo.value) == 'index 4 is out of bounds for axis 1 with size 3' assert str(excinfo.value) == 'index 4 is out of bounds for axis 1 with size 3'
@pytest.requires_numpy
def test_make_c_f_array():
from pybind11_tests.array import (
make_c_array, make_f_array
)
assert make_c_array().flags.c_contiguous
assert not make_c_array().flags.f_contiguous
assert make_f_array().flags.f_contiguous
assert not make_f_array().flags.c_contiguous
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