Commit Graph

361 Commits

Author SHA1 Message Date
Ivan Smirnov
98ba98c06b Add a simplified buffer_info ctor for 1-D case 2016-08-13 12:43:16 +01:00
Ivan Smirnov
6636ae9d4e Also add the new ctors to py::array_t 2016-08-13 12:43:16 +01:00
Ivan Smirnov
6bb0ee1186 Add all possible ctors for py::array 2016-08-13 12:43:16 +01:00
Ivan Smirnov
d77bc8c343 Add dtype(names, offsets, formats, itemsize) ctor 2016-08-13 12:43:16 +01:00
Ivan Smirnov
fc5620afa6 Fix a segfault where func object wasn't released 2016-08-13 12:43:16 +01:00
Ivan Smirnov
01f7409550 Initial implementation of py::dtype 2016-08-13 12:43:16 +01:00
Ivan Smirnov
05cb58ade2 Cleanup: move numpy API bindings out of py::array 2016-08-13 12:43:16 +01:00
Ivan Smirnov
afb07e7e92 Code reordering / cleanup only 2016-08-13 12:43:16 +01:00
Ivan Smirnov
f9c0defed7 Add numpy wrappers for char[] and std::array<char> 2016-08-13 12:43:16 +01:00
Ivan Smirnov
103d5eadc3 Remove redundant definition 2016-08-13 12:43:16 +01:00
Ivan Smirnov
098f9aef73 Replace 4096B format buffer with std::string 2016-08-13 12:43:16 +01:00
Ivan Smirnov
b37985ee0c Fix a comment and wrong indentation 2016-08-13 12:43:16 +01:00
Ivan Smirnov
bf2510ee86 Make buffer_info::as_pybuffer a memoryview ctor 2016-08-13 12:43:16 +01:00
Ivan Smirnov
41c3399021 Update npy_format_descriptor::name() 2016-08-13 12:43:16 +01:00
Ivan Smirnov
076b953ccd Restore dtype equivalence sanity check 2016-08-13 12:43:16 +01:00
Ivan Smirnov
8f2f7cd61c Various cleanup 2016-08-13 12:43:16 +01:00
Ivan Smirnov
8fa09cb871 Strip padding fields in dtypes, update the tests 2016-08-13 12:43:16 +01:00
Ivan Smirnov
13022f1b8c Bugfix: pass struct size as itemsize to descriptor
Without this, partially bound structs will have incorrect itemsize.
2016-08-13 12:43:16 +01:00
Ivan Smirnov
eeb4c043f9 Change field descriptor offset type to size_t 2016-08-13 12:43:16 +01:00
Ivan Smirnov
511401599c Use malloc insterad of calloc for numpy arrays 2016-08-13 12:43:16 +01:00
Ivan Smirnov
5412a05cf0 Rename PYBIND11_DTYPE to PYBIND11_NUMPY_DTYPE 2016-08-13 12:43:16 +01:00
Ivan Smirnov
872bd92575 Use proper type for an int literal 2016-08-13 12:43:16 +01:00
Ivan Smirnov
4c9a160a1d Exclude double type from is_pod_struct 2016-08-13 12:43:16 +01:00
Ivan Smirnov
3b803846d5 Add a few comments throughout numpy.h 2016-08-13 12:43:16 +01:00
Ivan Smirnov
2f01f01866 Always allocate at least one element 2016-08-13 12:43:16 +01:00
Ivan Smirnov
b38ca22e94 Add a few braces for clarity 2016-08-13 12:43:16 +01:00
Ivan Smirnov
95545e6256 Change PB11_IMPL prefix to PYBIND11, add comment 2016-08-13 12:43:16 +01:00
Ivan Smirnov
7bdd74a9fb Fix PYBIND11_DTYPE to work with MSVC compiler 2016-08-13 12:43:16 +01:00
Ivan Smirnov
5dc6c5445d Cosmetic: fix indentation 2016-08-13 12:43:16 +01:00
Ivan Smirnov
73f56830f8 Add detail::is_pod_struct<T> helper 2016-08-13 12:43:16 +01:00
Ivan Smirnov
a0e37f250e npy_format_descriptor::format() - fail if unbound 2016-08-13 12:43:16 +01:00
Ivan Smirnov
5a47a16e47 Revert accidental whitespace change 2016-08-13 12:43:16 +01:00
Ivan Smirnov
40eadfeb73 Make npy_format_descriptor backwards-compat
The typenum for non-structured types is still accessible at ::value,
and the dtype object for all types is accessible at ::dtype().
2016-08-13 12:43:16 +01:00
Ivan Smirnov
95e9b12322 Prefix the FIELD_DESCRIPTOR macro 2016-08-13 12:43:16 +01:00
Ivan Smirnov
5e71e17bdf Make changes to format_descriptor backwards-compat
The format strings that are known at compile time are now accessible
via both ::value and ::format(), and format strings for everything
else is accessible via ::format(). This makes it backwards compatible.
2016-08-13 12:43:16 +01:00
Ivan Smirnov
4f164217e4 Add dtype_of<T>() function, update the tests 2016-08-13 12:43:16 +01:00
Ivan Smirnov
036e8cd32f Remove erroneous py:: prefix in numpy.h 2016-08-13 12:43:16 +01:00
Ivan Smirnov
873d267471 Prefix all macros in numpy.h to avoid name clashes 2016-08-13 12:43:16 +01:00
Ivan Smirnov
1f54cd9209 Use object instead of ptrs in numpy descriptors 2016-08-13 12:43:16 +01:00
Ivan Smirnov
2a7acb6d55 Incref descriptors properly when creating arrays 2016-08-13 12:43:16 +01:00
Ivan Smirnov
f5b166d042 Simplify npy_format_descriptor slightly 2016-08-13 12:43:16 +01:00
Ivan Smirnov
80a3785a66 Borrow field descriptors for recarray dtype 2016-08-13 12:43:16 +01:00
Ivan Smirnov
2e1565e414 Add empty recarray test, check for calloc fail 2016-08-13 12:43:16 +01:00
Ivan Smirnov
f10c84eb9b Release format descriptor args before converting 2016-08-13 12:43:16 +01:00
Ivan Smirnov
2488b32066 Add PYBIND11_DTYPE macro for registering dtypes 2016-08-13 12:43:16 +01:00
Ivan Smirnov
fab02efb10 Switch away from typenums for numpy descriptors 2016-08-13 12:43:16 +01:00
Ivan Smirnov
a67c2b52e4 Use memoryview for constructing array from buffer 2016-08-13 12:43:16 +01:00
Ivan Smirnov
ea2755ccdc Use a macro for numpy API definitions 2016-08-13 12:43:16 +01:00
Ivan Smirnov
7709d6b77d Add memoryview type 2016-08-13 12:43:16 +01:00
Ivan Smirnov
42ad328481 Change format_descriptor::value to a static func 2016-08-13 12:43:16 +01:00