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
5afe9df30a
Minor fix in the docs
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
223afe37fa
Add documentation re: PYBIND11_DTYPE macro
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
d0bafd90e0
Add a test for buffer format of unbound struct
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
669e14269d
Add test for a function accepting recarray (WIP)
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
bdc9902041
Add explicit test for recarray format descriptors
2016-08-13 12:43:16 +01:00
Ivan Smirnov
7f913aecab
Add tests for nested recarrays
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
8502f542b3
Add packed recarray tests
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
bb4015ded3
Add a basic test for recarrays and complex dtypes
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
f7143dc589
Update gitignore to ignore debug test builds
2016-08-13 12:43:16 +01:00
Ivan Smirnov
7709d6b77d
Add memoryview type
2016-08-13 12:43:16 +01:00
Ivan Smirnov
8b5fc8b5e1
Dump test output if the test runner fails
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
Ivan Smirnov
a7e62e1ca6
Add buffer_info::as_pybuffer() method
2016-08-13 12:43:16 +01:00
Ivan Smirnov
3dd325b772
Change npy_format_descriptor typenum to static fn
2016-08-13 12:43:16 +01:00
Wenzel Jakob
09f40e010f
Merge pull request #282 from jagerman/key-iterators
...
Add pybind11::make_key_iterator for map iteration
2016-08-12 08:35:45 +02:00
Jason Rhinelander
5aa85be26e
Added pybind11::make_key_iterator for map iteration
...
This allows exposing a dict-like interface to python code, allowing
iteration over keys via:
for k in custommapping:
...
while still allowing iteration over pairs, so that you can also
implement 'dict.items()' functionality which returns a pair iterator,
allowing:
for k, v in custommapping.items():
...
example-sequences-and-iterators is updated with a custom class providing
both types of iteration.
2016-08-11 21:22:05 -04:00