Repository navigation
Improve native array kernels and separate build layers - #57
Merged
Merged
Conversation
Use whole-slice constant-base logarithms and direct Boolean output for numeric comparison scans. Avoid the difference-scan temporary, use Mac's joint sine/cosine routine for bulk complex functions, and inline per-item formula forwarders across crate boundaries. Keep scalar repair and the existing numerical contracts, with regression coverage for scan kinds, tolerances and lane boundaries. See Accuracy and the numerical-kernel documentation.
Allow expm1, log1p, trig, hyperbolic and cbrt recipes to specialize inside their calling kernels across the core/kernel crate boundary. Add ordinary inline hints only, without changing formulas, scalar repair, APIs or numerical contracts.
Keep the short predicate, reduction and polynomial helpers visible to the calling trigonometric recipe so native loops can specialize the operation and vectorize. Leave accurate scalar repair out of line. No algorithms, APIs or numerical contracts change.
Add ordinary inline hints to the two short Kind helpers still called per item in the current native loops. Math bodies and APIs are unchanged; performance validation of this development checkpoint remains pending.
Write mapped products and ready maps directly into their destination through the shared math kernels. Reuse serial map and fold scratch, preserve packed comparison results and convert constant results through their declared kind. Separate timing support into its own crate. Run native correctness and performance tests through nextest, with instruction and allocation counts beside timing budgets. Keep CI free of performance measurements.
Include rustymath-timing after core and kernels in the existing registry publish loop. Update the documented order to match the Cargo dependencies.
Publish the workspace with Cargo rather than maintaining a second list of publishable crates and their dependency order. Keep the existing no-verify release policy and update the development notes.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Separate core, kernels and timing build layers. Improve constant logarithms, scans, floor conversion and Mac joint sine/cosine. Share mapped input/output handling, write products into final storage, batch short ordered folds and reuse serial scratch. Use Cargo-owned workspace publication.