Skip to content

group_reduce() - #224

Merged
flexatone merged 4 commits into
masterfrom
223/group-reduce
Aug 4, 2026
Merged

group_reduce()#224
flexatone merged 4 commits into
masterfrom
223/group-reduce

Conversation

@flexatone

Copy link
Copy Markdown
Contributor

No description provided.

@flexatone flexatone self-assigned this Aug 4, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new group_reduce() API to ArrayKit’s C extension for fast per-group reductions over dense factorized codes, exposing it through the Python package and validating behavior via a dedicated test suite.

Changes:

  • Implement group_reduce() in src/methods.c and export it via the extension module method table.
  • Expose group_reduce() in the Python package (__init__.py) and type stubs (__init__.pyi).
  • Add unit tests covering basic behavior, dtype handling, NaN propagation, immutability, equivalence to NumPy, and error cases.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
test/test_group_reduce.py Adds unit tests for group_reduce() across ops, dtypes, NaN behavior, and error handling.
src/methods.h Declares the new group_reduce C-extension entry point.
src/methods.c Implements grouped reductions for float64/int64 and count, with input validation and immutable outputs.
src/_arraykit.c Registers group_reduce in the module method table.
src/init.pyi Adds the public typing stub for group_reduce.
src/init.py Exposes group_reduce at the package top level.
README.rst Documents group_reduce() under “What is New”.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/methods.c Outdated
Comment thread README.rst
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@flexatone
flexatone merged commit ac8d83c into master Aug 4, 2026
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants