Skip to content

Draft: final diff for PR 72 against main#73

Draft
zanmato1984 wants to merge 25 commits into
mainfrom
draft/selection-span
Draft

Draft: final diff for PR 72 against main#73
zanmato1984 wants to merge 25 commits into
mainfrom
draft/selection-span

Conversation

@zanmato1984

Copy link
Copy Markdown
Owner

Helper PR for reviewing the final combined diff.

This compares draft/selection-span directly against main, so it includes both:

This is intended for diff inspection only. Please review/merge the stacked PRs separately.

zanmato1984 and others added 22 commits November 5, 2025 15:13
Co-authored-by: Felipe Oliveira Carvalho <felipekde@gmail.com>
This reverts commit db970f1e89722dcf65b09553c51ed1b1a4ede3ce.
Introduce SelectionSpan (ContiguousSpan / FilteredSpan / DiscreteSpan) for the scalar kernel selective_exec API.

Currently ExecSpanIterator only emits DiscreteSpan, but VisitSelectionSpanInline allows kernels and tests to handle additional shapes incrementally.

Also cast SelectionVector indices to int64 in the dense gather/execute/scatter fallback since Scatter requires signed indices.
Remove SelectionVectorSpan, use DiscreteSpan directly, emit ContiguousSpan for contiguous selections, and simplify VisitSelectionSpanInline with overload visitors.
- Hide selection backend behind PIMPL (indices/mask/ranges)

- Use backend-specific gather/scatter for selective dense fallback

- Normalize preallocation state + fix tests
- Deduplicate ApplySelectionMask for ArrayData/ArraySpan\n- Fix OUTPUT_NOT_NULL full-span validity init\n- Add unit test for OUTPUT_NOT_NULL selective exec
- Centralize SelectedCount/empty-span checks\n- Reduce scattered selection if/else in ScalarExecutor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant