-
Notifications
You must be signed in to change notification settings - Fork 89
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
C++ refactoring: _getitem_array implementation #959
Conversation
for more information, see https://pre-commit.ci
Copying from Slack,
(roughly) |
For testing, you can alternate between old-style and new-style arrays. The When your project is done, we'll be removing the You can do this by developing with direct comparisons ( result = your_v2_array.something()
assert ak.to_list(result) = [...]
assert result.form.tolist() == {...}
assert v1v2_equal(result, v2_to_v1(your_v2_array).something()) where you get |
for more information, see https://pre-commit.ci
All Content subclass constructors (e.g. calling Additionally, I'll make the very early (low numbered) tests start testing the new code soon. This PR was in very good shape before I started messing with it. A few things were simplified by using kernels, rather than NumPy functions, which is something that we can do now, due to #966. I'll try to get some underlying infrastructure done before you come back to this next week. |
* Starting to implement the type tracer for Awkward-Dask. * Actually testing it. * It predicts Forms and Types. * Convenience methods for making typetracers. * TypeTracer.instance(). * TypeTracerArray.__getitem__(slice). * Black. * Through RecordArray. * Through BitMaskedArray. * Added checks throughout 0896. * Rename test-data.yml to kernel-test-data.yml. * Instrumented tests from #959. * Instrumented tests from #1031. * numpy.broadcast_shapes is too new. * Through 0011_v2-listarray in the v2 tests. * Python 2.7 needs Ellipsis to be spelled out. * Through 0020_v2-support-unsigned-indexes in the v2 tests. * Through 0023_v2-regular-array in the v2 tests. * Through all slicing in the v2 tests; next is 0070_v2-argmin-and-argmax. * Through test_0070_v2-argmin-and-argmax.py in the v2 tests; ak.to_list was wrong, and subsequently the reducer implementation. * First use of 'fill' (had to split into 'fill_zero', 'fill_other'). * Through 0111_v2-jagged-and-masked-getitem in the v2 tests; added nplike.known_shape. * Through 0115_v2-generic-reducer-operation in the v2 tests. * Through 1059_v2-localindex in the v2 tests. * Added typetracer to all v2 tests (where possible). * Fixed pre-commit. * Fixed merge.
Content.__getitem__
in the right orderEmptyArray._getitem_array
NumpyArray._getitem_array
RegularArray._getitem_array
ListArray._getitem_array
ListOffsetArray._getitem_array
RecordArray._getitem_array
handing theallow_lazy
caseIndexedArray._getitem_array
IndexedOptionArray._getitem_array
ByteMaskedArray._getitem_array
BitMaskedArray._getitem_array
UnmaskedArray._getitem_array
UnionArray._getitem_array