Replaced unsigned char with uint8_t in Cython Codebase (9 files) #29597
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.
Replace unsigned char with uint8_t in Cython Codebase
Reference Issues/PRs
Fixes #29588
Files Updated
./sklearn/metrics/_pairwise_distances_reduction/_radius_neighbors_classmode.pyx.tp
./sklearn/ensemble/_hist_gradient_boosting/common.pxd
./sklearn/ensemble/_hist_gradient_boosting/_bitset.pyx
./sklearn/ensemble/_hist_gradient_boosting/_predictor.pyx
./sklearn/ensemble/_hist_gradient_boosting/splitting.pyx
./sklearn/ensemble/_hist_gradient_boosting/histogram.pyx
./sklearn/ensemble/_hist_gradient_boosting/_binning.pyx
./sklearn/ensemble/_hist_gradient_boosting/_bitset.pxd
./sklearn/linear_model/_sgd_fast.pyx.tp
Motivation
Using uint8_t instead of unsigned char makes the code more explicit and easier to reason about the range of admissible values (0-255). This change aligns with the recent efforts to use consistent type definitions throughout the codebase.