simd: trampoline hpc::cascade as ndarray::simd::cascade - #273
Conversation
Consumers under the all-SIMD-from-ndarray::simd invariant need the Belichtungsmesser surface (Cascade::expose -> Band, recalibrate, PackedDatabase, adaptive_resolution) without reaching into crate::hpc directly — the Prozentrang/distribution-shape payload work in the consumer stack reads exposure bands through this path. Whole-module alias rather than an item list, so new cascade items arrive without a re-export edit. Both modules share the identical std feature gate. cargo clippy --lib -D warnings green; cargo fmt --check clean. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K3RyLEbuNSHxxB3NTTrGki
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe change re-exports ChangesCascade API exposure
Estimated code review effort: 1 (Trivial) | ~3 minutes Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_18a85429-31d0-4835-9cc7-c91936602cad) |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_e3aa2e8e-f36d-4f95-bd46-9a57be7f99fe) |
What
One re-export:
pub use crate::hpc::cascade;insidesrc/simd.rs, making the Belichtungsmesser surface (Cascade::expose → Band,recalibrate(ShiftAlert),PackedDatabase,adaptive_resolution,RankedHit,PreciseMode) reachable asndarray::simd::cascade::*.Why
The consumer stack enforces "all SIMD from
ndarray::simd" (the simd-savant invariant). The banded exposure-meter machinery lives undercrate::hpc::cascade, so consumers computing distribution-shape / percentile-rank payloads (the Prozentrang work in the downstream stack) had no sanctioned path to it. This follows the established trampoline pattern already used forhpc::bitwise,hpc::fft,hpc::fingerprint,hpc::quantized,hpc::cam_pq, andhpc::heel_f64x8in the same section ofsimd.rs.Whole-module alias rather than an item list, so future cascade items surface without further re-export edits.
simdandhpcshare the identicalstdfeature gate (lib.rs:238/lib.rs:498), so no additional cfg is needed.Verification
cargo clippy --lib -- -D warnings— green (compiles the re-export, proving path resolution)cargo fmt --check— clean🤖 Generated with Claude Code
https://claude.ai/code/session_01K3RyLEbuNSHxxB3NTTrGki
Generated by Claude Code
Summary by CodeRabbit