pybind11/tests
Jason Rhinelander 17d0283eca Eigen<->numpy referencing support
This commit largely rewrites the Eigen dense matrix support to avoid
copying in many cases: Eigen arguments can now reference numpy data, and
numpy objects can now reference Eigen data (given compatible types).

Eigen::Ref<...> arguments now also make use of the new `convert`
argument use (added in PR #634) to avoid conversion, allowing
`py::arg().noconvert()` to be used when binding a function to prohibit
copying when invoking the function.  Respecting `convert` also means
Eigen overloads that avoid copying will be preferred during overload
resolution to ones that require copying.

This commit also rewrites the Eigen documentation and test suite to
explain and test the new capabilities.
2017-02-24 23:19:50 +01:00
..
test_cmake_build Rename target from pybind11::pybind11 to pybind11::module 2016-12-19 16:34:48 +01:00
CMakeLists.txt Independent tests (#665) 2017-02-24 23:07:53 +01:00
conftest.py WIP: PyPy support (#527) 2016-12-16 15:00:46 +01:00
constructor_stats.h Minor fixes (#613) 2017-01-31 17:28:29 +01:00
object.h Improve custom holder support (#607) 2017-01-31 17:05:44 +01:00
pybind11_tests.cpp Add warning about binding multiple modules (#635) 2017-02-01 10:36:29 +01:00
pybind11_tests.h Replace std::cout with py::print in tests 2016-09-07 01:25:27 +02:00
test_alias_initialization.cpp Implement py::init_alias<>() constructors 2016-09-09 03:04:09 -04:00
test_alias_initialization.py WIP: PyPy support (#527) 2016-12-16 15:00:46 +01:00
test_buffers.cpp WIP: PyPy support (#527) 2016-12-16 15:00:46 +01:00
test_buffers.py WIP: PyPy support (#527) 2016-12-16 15:00:46 +01:00
test_callbacks.cpp Fixed compilation error when binding function accepting some forms of std::function (#689) 2017-02-22 20:00:59 +01:00
test_callbacks.py Fixed compilation error when binding function accepting some forms of std::function (#689) 2017-02-22 20:00:59 +01:00
test_chrono.cpp Changed non system clocks to be time deltas 2016-09-13 20:40:28 +10:00
test_chrono.py Add checks to maintain a consistent Python code style and prevent bugs (#515) 2016-11-20 21:21:54 +01:00
test_class_args.cpp Support std::shared_ptr holder type out of the box 2016-10-20 16:19:58 +02:00
test_class_args.py Set maximum line length for Python style checker (#552) 2016-12-13 00:59:28 +01:00
test_constants_and_functions.cpp Support binding noexcept function/methods in C++17 2016-12-14 20:40:49 +01:00
test_constants_and_functions.py Support binding noexcept function/methods in C++17 2016-12-14 20:40:49 +01:00
test_copy_move_policies.cpp equals needed for test_copy_move_policies to build icpc 2016.3 (#507) 2016-11-17 11:01:11 +01:00
test_copy_move_policies.py Add checks to maintain a consistent Python code style and prevent bugs (#515) 2016-11-20 21:21:54 +01:00
test_docstring_options.cpp Provide more control over automatic generation of docstrings (#486) 2016-11-15 12:38:05 +01:00
test_docstring_options.py Add checks to maintain a consistent Python code style and prevent bugs (#515) 2016-11-20 21:21:54 +01:00
test_eigen.cpp Eigen<->numpy referencing support 2017-02-24 23:19:50 +01:00
test_eigen.py Eigen<->numpy referencing support 2017-02-24 23:19:50 +01:00
test_enum.cpp make arithmetic operators of enum_ optional (#508) 2016-11-17 23:24:47 +01:00
test_enum.py Add checks to maintain a consistent Python code style and prevent bugs (#515) 2016-11-20 21:21:54 +01:00
test_eval_call.py Add checks to maintain a consistent Python code style and prevent bugs (#515) 2016-11-20 21:21:54 +01:00
test_eval.cpp Make error_already_set fetch and hold the Python error 2016-09-10 12:08:32 +02:00
test_eval.py Rewrite eval tests to allow for simple asserts 2016-08-19 16:31:48 +02:00
test_exceptions.cpp Adds automatic casting on assignment of non-pyobject types (#551) 2016-12-12 23:42:52 +01:00
test_exceptions.py Add checks to maintain a consistent Python code style and prevent bugs (#515) 2016-11-20 21:21:54 +01:00
test_inheritance.cpp Make all classes with the same instance size derive from a common base 2017-02-23 15:45:26 +01:00
test_inheritance.py Make all classes with the same instance size derive from a common base 2017-02-23 15:45:26 +01:00
test_issues.cpp Fix debugging output for nameless py::arg_v annotations (#648) 2017-02-08 08:45:51 +01:00
test_issues.py WIP: PyPy support (#527) 2016-12-16 15:00:46 +01:00
test_keep_alive.cpp Replace std::cout with py::print in tests 2016-09-07 01:25:27 +02:00
test_keep_alive.py WIP: PyPy support (#527) 2016-12-16 15:00:46 +01:00
test_kwargs_and_defaults.cpp Add support for positional args with args/kwargs 2017-01-31 17:24:41 +01:00
test_kwargs_and_defaults.py Workaround style check false positive 2017-02-24 23:19:04 +01:00
test_methods_and_attributes.cpp Enable static properties (py::metaclass) by default 2017-02-23 15:45:26 +01:00
test_methods_and_attributes.py Enable static properties (py::metaclass) by default 2017-02-23 15:45:26 +01:00
test_modules.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_modules.py Simplify tests by replacing output capture with asserts where possible 2016-08-19 13:19:38 +02:00
test_multiple_inheritance.cpp Enable static properties (py::metaclass) by default 2017-02-23 15:45:26 +01:00
test_multiple_inheritance.py Make all classes with the same instance size derive from a common base 2017-02-23 15:45:26 +01:00
test_numpy_array.cpp Make string conversion stricter (#695) 2017-02-24 11:33:31 +01:00
test_numpy_array.py Change array's writeable exception to a ValueError 2017-02-24 23:19:50 +01:00
test_numpy_dtypes.cpp Numpy: better compilation errors, long double support (#619) 2017-01-31 17:00:15 +01:00
test_numpy_dtypes.py Numpy: better compilation errors, long double support (#619) 2017-01-31 17:00:15 +01:00
test_numpy_vectorize.cpp Replace std::cout with py::print in tests 2016-09-07 01:25:27 +02:00
test_numpy_vectorize.py Set maximum line length for Python style checker (#552) 2016-12-13 00:59:28 +01:00
test_opaque_types.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_opaque_types.py Prefer non-converting argument overloads 2017-02-03 20:47:17 -05:00
test_operator_overloading.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_operator_overloading.py WIP: PyPy support (#527) 2016-12-16 15:00:46 +01:00
test_pickling.cpp fix segfault in test suite due to typo (fixes #586) 2017-01-04 15:05:20 +01:00
test_pickling.py WIP: PyPy support (#527) 2016-12-16 15:00:46 +01:00
test_python_types.cpp Enable static properties (py::metaclass) by default 2017-02-23 15:45:26 +01:00
test_python_types.py Reimplement static properties by extending PyProperty_Type 2017-02-23 15:45:26 +01:00
test_sequences_and_iterators.cpp Fix test compilation failure under gcc 4.9 (#496) 2016-11-13 10:41:31 +09:00
test_sequences_and_iterators.py Add checks to maintain a consistent Python code style and prevent bugs (#515) 2016-11-20 21:21:54 +01:00
test_smart_ptr.cpp Improve custom holder support (#607) 2017-01-31 17:05:44 +01:00
test_smart_ptr.py Improve custom holder support (#607) 2017-01-31 17:05:44 +01:00
test_stl_binders.cpp Change all_of_t/any_of_t to all_of/any_of, add none_of 2016-12-14 20:42:36 +01:00
test_stl_binders.py Add checks to maintain a consistent Python code style and prevent bugs (#515) 2016-11-20 21:21:54 +01:00
test_virtual_functions.cpp Update OVERLOAD macros to support ref/ptr return type overloads 2016-09-11 01:21:53 -04:00
test_virtual_functions.py WIP: PyPy support (#527) 2016-12-16 15:00:46 +01:00