Skip to content

Conversation

@sefffal
Copy link
Owner

@sefffal sefffal commented Nov 25, 2025

No description provided.

claude and others added 8 commits November 25, 2025 15:42
Implements a new API for solving orbits at multiple epochs simultaneously:

1. Generic fallback implementation:
   - orbitsolve(orbit, epochs::AbstractVector) loops over each epoch
   - Works with any solver type and orbit type

2. Automatic solver selection:
   - orbitsolve(orbit, epochs, Auto()) automatically dispatches to
     vectorized Markley solver for elliptical orbits (e < 1)
   - Falls back to generic implementation for hyperbolic orbits

3. Vectorized Markley solver:
   - orbitsolve(orbit, epochs, Markley()) uses SIMD-optimized
     vectorized Kepler equation solving
   - Implements kepler_solver_phased! with phased computation:
     * Phase 1: Range reduction (fully SIMD)
     * Phase 2: Algebraic computation (partially SIMD)
     * Phase 3: Newton refinement (SIMD with trig functions)
   - Solves all Kepler equations at once for improved performance

The implementation is minimal and generic, dispatching correctly based on
solver type while maintaining backwards compatibility with existing code.

Tests added in test/test_vectorized_orbitsolve.jl verify correctness
across different orbit types and solvers.
- Add Bumper.jl dependency to Project.toml
- Use @no_escape and @alloc macros for temporary workspace allocations
- Eliminates allocation overhead when repeatedly calling with same number of epochs
- Arena allocator provides stack-like performance for temporary buffers
@codecov-commenter
Copy link

codecov-commenter commented Nov 25, 2025

Codecov Report

❌ Patch coverage is 82.11382% with 22 lines in your changes missing coverage. Please review.
✅ Project coverage is 32.74%. Comparing base (52d7eb9) to head (7e19a80).

Files with missing lines Patch % Lines
src/PlanetOrbits.jl 78.12% 14 Missing ⚠️
src/kepsolve-markley.jl 86.44% 8 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #17      +/-   ##
==========================================
+ Coverage   26.11%   32.74%   +6.63%     
==========================================
  Files          15       15              
  Lines        1187     1310     +123     
==========================================
+ Hits          310      429     +119     
- Misses        877      881       +4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

4 participants