1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//! Raw FFI bindings and safe RAII wrappers for ASSIST.
//!
//! ASSIST is a C library for ephemeris-quality integration of test particles
//! in the solar system, built on top of the REBOUND N-body code. This crate
//! exposes the underlying C API as:
//!
//! - [`ffi`]: raw `extern "C"` bindings to ASSIST functions + types.
//! - [`Ephemeris`]: thin, allocation-owning RAII wrapper around `assist_ephem`.
//! - [`AssistSim`]: a REBOUND simulation with ASSIST forces attached.
//!
//! This crate depends on `librebound-sys` for the REBOUND FFI types
//! (`reb_simulation`, `reb_particle`, [`Simulation`], etc.) and re-exports
//! them at the crate root so downstream consumers can use a single
//! `libassist-sys` import.
//!
//! Higher-level domain logic (orbital-element conversions, observatory
//! handling, light-time iteration, STM propagation, data downloading) lives
//! in the companion `assist-rs` crate, which depends on this one.
pub use ;
// Re-export REBOUND symbols so downstream consumers can keep a single import.
pub use ;
/// Errors produced by the ASSIST FFI wrappers.
///
/// Wraps [`librebound_sys::Error`] for REBOUND-level failures and adds the
/// ASSIST-specific ephemeris error variant. Higher-level errors (light-time
/// convergence, observatory lookup, etc.) live in `assist_rs::Error`, which
/// wraps this type.
pub type Result<T> = Result;