-
Notifications
You must be signed in to change notification settings - Fork 1k
Refactor lists::contains
#11019
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
Merged
rapids-bot
merged 218 commits into
rapidsai:branch-22.08
from
ttnghia:refactor_lists_contains
Jun 23, 2022
Merged
Refactor lists::contains
#11019
Changes from all commits
Commits
Show all changes
218 commits
Select commit
Hold shift + click to select a range
64e4160
Rename constant
ttnghia b252c1e
Remove template parameter
ttnghia 06bc976
Remove copydoc in implementation
ttnghia c409fc5
Add template keyword to avoid compiler warning
ttnghia 580afdf
Remove constructor
ttnghia 7408d9a
Cleanup
ttnghia 7432b5b
Change out_validity from a column to device_uvector
ttnghia c94b32b
Add const
ttnghia c6a4218
Remove cudf::detail:: namespace from lists_column_device_view
ttnghia 6c86384
Fix doxygen
ttnghia ff0a761
Add empty struct support function
ttnghia d439fe1
Remove cudf:: prefix
ttnghia 5d64986
Refactor output iters
ttnghia 8babe05
Unify functions
ttnghia 1a87fdc
Fix tests
ttnghia bb45455
Remove variable
ttnghia 47ca5c9
Update doxygen
ttnghia 8b031de
Implement `search_list` functors
ttnghia 8058785
Rewrite dox and change functor name
ttnghia 24aa6a9
Implement `search_functor` specialized for non-struct types
ttnghia 758a3e8
MISC
ttnghia 221cd1c
Implementing `dispatch_index_of`
ttnghia c81b544
Move `is_struct_type` into `struct_view.hpp`
ttnghia 64b0d63
Fix lambda
ttnghia 98c5a57
Complete a (non-working) implementation for non-struct types
ttnghia d103876
Fix compile errors
ttnghia 2afad64
Rename function
ttnghia e2fdccc
Use `scalar_value_accessor` to retrieve scalar key
ttnghia 4f15201
Fix iterators
ttnghia 98f3471
WIP
ttnghia bf0e148
Fix scalar access
ttnghia b5772ee
Add overload for `operator()` that can return a pair iterator for fix…
ttnghia 07ed05e
Remove an overload of `search_all_lists`
ttnghia 247d3e7
Compilable
ttnghia b11149c
Fix has_nulls
ttnghia 399f380
Add overload into optional iterator to support fixed point types
ttnghia 58d3bd6
Use optional iterator
ttnghia 6c65cb2
Misc
ttnghia 47dd0c7
Merge branch 'branch-22.06' into lists_contains_for_structs
ttnghia 6e91f82
Fix compile issues
ttnghia 35ad1bb
Fix tests
ttnghia 63f0b15
Fix all errors
ttnghia f2e59c9
Rename variable
ttnghia b32bc8a
Fix offset for sliced child
ttnghia 7aaee96
Implement `search_functor` for struct
ttnghia 317a5ea
Add back `detail::` namespace to `lists_column_device_view`
ttnghia ba87400
Move back `lists_column_device_view` into `detail::` namespace
ttnghia 36d41a9
Implement structs for search_all_lists
ttnghia 2c460e0
Fix null handling
ttnghia fb79a7b
Misc
ttnghia e1ca105
Rename variables
ttnghia 0e28f48
Add `EmptyInputTest`
ttnghia e6a49fd
Add a simple contains test without null
ttnghia d0bd6c0
Add `ScalarKeyWithNullLists` test
ttnghia b71237c
Add `SlicedListsColumn` test
ttnghia fc9bddd
Add `ScalarKeyNoNullListsWithNullStructs` test
ttnghia e5c1900
Fix has null condition
ttnghia 88ce647
Add `EmptyInputTest` for key column
ttnghia fbe0e24
Add comment and fix validity iterator
ttnghia fa964ee
Add a template parameter to `make_validity_iterator` for scalar
ttnghia af79f5f
Fix copyright year
ttnghia a4b3f18
Fix index
ttnghia 1f70fe4
Add more tests
ttnghia 3d582b5
Add `ColumnKeyWithSlicedListsHavingNulls`
ttnghia 7739539
Fix scalar and has_any_null
ttnghia 9d595ca
Enable all tests
ttnghia 79d0d4d
Fix empty lines
ttnghia d36c688
Add `table_comparator`
ttnghia 0259f44
Adding code to use the new table_comparator
ttnghia a037528
Cleanup
ttnghia 5494c1a
Enable table_comparator
ttnghia f8a6720
Fix index
ttnghia b7ae7be
Cleanup
ttnghia d1c646e
Use validity iterators
ttnghia 43d2be5
Add a function to return row index of the current list
ttnghia 0a7c5a0
Rewrite much of the code
ttnghia ae70e54
Cleanup headers
ttnghia 2dbceaf
Fix the tests with throw message
ttnghia 9c0f22e
Complete cleaning up
ttnghia a1408fc
Remove added code
ttnghia 67bd5a8
Unify functions
ttnghia bd555e5
Merge branch 'branch-22.06' into lists_contains_for_structs
ttnghia 609fac3
Reverse changes in `struct_view.hpp`
ttnghia 9b9fe84
Enable nested types instead of just struct type
ttnghia 14be4ae
Reverse change in `struct_view.hpp`
ttnghia 3126c67
Rename variable
ttnghia 34dc70d
Change comments
ttnghia e4db5ef
Fix error
ttnghia 60c3d93
Merge branch 'branch-22.06' into lists_contains_for_structs
ttnghia b0d6b4e
Add a simple list test
ttnghia 497acc8
Fix comment
ttnghia 5d5d6db
Add list tests
ttnghia 6869fb1
Cleanup
ttnghia 198a156
Merge branch 'branch-22.06' into lists_contains_for_structs
ttnghia 50b8891
Add strong index type.
bdice b9ed4d7
Revert changes to non-experimental row operators.
bdice d67f17e
Use enum for strongly typed index.
bdice 464ed2b
Add two table comparator and adapter.
bdice b26b318
Add friends. :)
bdice 1fd199d
Apply two-table comparator to search algorithms.
bdice 18bd9f0
Move shared lhs/rhs logic into launch_search.
bdice b5b8b39
Improve comments, remove old code.
bdice 4060b4f
Merge remote-tracking branch 'upstream/branch-22.06' into strong-inde…
bdice 73c4b27
Move strong typing code into cudf::experimental::row::lexicographic.
bdice 9cdbe27
Merge remote-tracking branch 'upstream/branch-22.06' into strong-inde…
bdice c8a38fe
Improve comment.
bdice 8b5ef34
Fix docstrings.
bdice 77f85b4
Enable weak ordering machinery (weak_ordering_comparator_impl) to wra…
bdice 529e944
Remove template template parameters.
bdice fb0e192
Use references.
bdice 56d99ba
Use Ts const...
bdice c5998b7
Move strong typing to cudf::experimental::row.
bdice b78d978
Use constexpr.
bdice 3aea8d4
Use custom iterator class.
bdice bbaf360
Use __device__ only.
bdice 4a1d7aa
Add comment.
bdice 09c5661
Use symmetry of comparator (now possible with weak ordering) to avoid…
bdice 290323f
Add constexpr to two_table_device_row_comparator_adapter.
bdice 4c69edd
Remove forward (always accepts lvalues).
bdice ea8c223
Merge branch 'strong-index-type' into strong_typed_index
ttnghia 857f570
Implement strong typed index for equality comparator
ttnghia d9f63f0
Adopt new strong typed index
ttnghia 12f7a8b
Remove header
ttnghia fbd5b90
Indicate reversed signature.
bdice 3db6484
Move constructor to implementation, add shape compatibility check.
bdice 3e81b53
Improve docstrings.
bdice 1834095
Use thrust::iterator_facade.
bdice 9cb656b
Merge branch 'branch-22.06' into strong_typed_index
ttnghia c766bf3
Merge branch 'strong-index-type' into strong_typed_index
ttnghia a311bcc
Add type check
ttnghia b935835
Change parameter side for comparator
ttnghia ff26024
Use const for struct members.
bdice f779bff
Slim down the strong index layer by using a templated struct.
bdice 157abbc
Simplify construction.
bdice a2ac19d
Use size_type const where possible.
bdice 75249e8
Require weakly or strongly typed values for lhs_index and rhs_index.
bdice f50faf5
Merge branch 'strong-index-type' into strong_typed_index
ttnghia bed1162
Unconstrain template typenames.
bdice 6930952
Merge branch 'strong-index-type' into strong_typed_index
ttnghia 2781af1
Remove type check
ttnghia 8b239d4
Update adapter comparator
ttnghia 17bd96c
Merge branch 'branch-22.06' into strong_typed_index
ttnghia ae77f68
Merge branch 'branch-22.06' into strong_typed_index
ttnghia d6b5eb9
Remove deprecated code
ttnghia 5f39a28
Fix comments
ttnghia bf3555c
Fix header check
ttnghia df98698
Fix format
ttnghia b67d070
Rename variables and fix header
ttnghia 4429cc4
Merge branch 'branch-22.06' into strong_typed_index
ttnghia 893db8a
Address review comments
ttnghia 7e69d3b
Merge branch 'branch-22.06' into strong_typed_index
ttnghia c51b053
Fix renaming issue
ttnghia 934ee73
Switch operands
ttnghia cf996f0
Update cpp/src/structs/search/contains.cu
ttnghia 7747f8d
Merge branch 'strong_typed_index' into lists_contains_for_structs
ttnghia 6f20dd6
Adopt strong index types
ttnghia ecd6742
Add type check
ttnghia 14194d4
Merge branch 'branch-22.06' into lists_contains_for_structs
ttnghia b0558bf
Fix comment
ttnghia 795506f
Rewrite functions
ttnghia 261e98c
Add `nested_type_scalar_to_column_view`
ttnghia 4f7ec7d
Merge branch 'column_utility' into lists_contains_for_structs
ttnghia 49661b8
Adopt `nested_type_scalar_to_column_view`
ttnghia 94dee44
Remove header
ttnghia b69b1bb
Add comments, and rewrite utility functions
ttnghia 5f98d5b
Rewrite comments and refactor
ttnghia 9cc4ade
Merge branch 'branch-22.06' into lists_contains_for_structs
ttnghia 91447cf
Rename .cuh into .hpp
ttnghia ead10f2
Merge branch 'column_utility' into lists_contains_for_structs
ttnghia 58a231c
Change header extension
ttnghia 29613bc
Move implementation to cpp file
ttnghia 99f6036
Merge branch 'column_utility' into lists_contains_for_structs
ttnghia a7f9dff
Simplify code
ttnghia dd0f226
Materialize a new column from scalar, not `column_view`
ttnghia dd1f2ee
Merge branch 'branch-22.08' into lists_contains_for_structs
ttnghia 758b781
Merge branch 'branch-22.08' into lists_contains_for_structs
ttnghia 13b57b0
Merge branch 'branch-22.08' into lists_contains_for_structs
ttnghia f45eb15
Reverse `contains_tests.cpp`
ttnghia 2d6adb0
Remove nested type support
ttnghia f8d70bf
Add back headers
ttnghia 84617fc
Add back type check
ttnghia 18934d9
Remove variable
ttnghia ad32b04
Rewrite comments
ttnghia 6b238be
Add doxygen
ttnghia d27f0ce
Remove wrong docs
ttnghia 7cd394d
Add comments
ttnghia 5f3f120
Remove not-yet-used function
ttnghia a3226d9
Change comments
ttnghia c27a4b9
Fix doxygen
ttnghia 2656ca6
Fix comments and use `CUDF_ENABLE_IF`
ttnghia e40d511
Merge branch 'branch-22.08' into refactor_lists_contains
ttnghia 5365f84
Minor fixes
ttnghia fb96c44
Merge branch 'branch-22.08' into refactor_lists_contains
ttnghia 18dc23c
Remove reference from iterators
ttnghia 1408792
Rewrite struct `search_index_fn` into functor `search_lists_fn`
ttnghia 6c489bb
Move `search_list` into private
ttnghia ce18a98
Change `search_list` into static function
ttnghia ccfaf95
Remove redundant template arguments
ttnghia 635d82f
Use all references in lambda
ttnghia 9399722
Rename variables
ttnghia 821302b
Merge branch 'branch-22.08' into refactor_lists_contains
ttnghia bd4ff30
WIP
ttnghia 0626f01
Change template argument name
ttnghia eedd341
Remove input parameter from functions
ttnghia 097c31e
Use CTAD for `search_lists_fn`
ttnghia 110d7d3
Fix tests
ttnghia 217dc0f
Remove `out_validity` array
ttnghia 9626710
Use `thrust::transform` instead of `thrust::tabulate`
ttnghia 364a3db
Attempt to fix compiler error
ttnghia 0215c12
Try to use device lambda
ttnghia 778933a
Move function inside struct
ttnghia 148912a
Move function inside struct
ttnghia a6019b5
Add a default case for unsupported types
ttnghia a370480
Further compact code, and remove ref in device function
ttnghia b112fe8
Merge branch 'branch-22.08' into refactor_lists_contains
ttnghia 9389a08
Merge branch 'branch-22.08' into refactor_lists_contains
ttnghia cb0c736
Merge branch 'branch-22.08' into refactor_lists_contains
ttnghia 980e0ac
Minor change to SFINAE
ttnghia File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.