pub use cli_api::{
calculate_zero_angle, calculate_zero_angle_with_conditions, estimate_bc_from_trajectory,
run_monte_carlo, run_monte_carlo_with_wind, AtmosphericConditions, BallisticInputs,
BallisticsError, MonteCarloParams, MonteCarloResults, TrajectoryPoint, TrajectoryResult,
TrajectorySolver, WindConditions,
};
pub use drag_model::DragModel;
pub mod cli_api;
mod drag_model;
pub mod ffi;
#[cfg(target_arch = "wasm32")]
pub mod wasm;
#[cfg(test)]
mod wasm_tests;
pub mod atmosphere;
pub mod constants;
pub mod drag;
mod drag_tables;
pub mod wind;
pub mod wind_shear;
pub mod derivatives;
pub mod trajectory_sampling;
pub mod fast_trajectory;
pub mod trajectory_integration;
pub mod pitch_damping;
pub mod spin_decay;
pub mod spin_drift;
pub mod spin_drift_advanced;
pub mod precession_nutation;
pub mod aerodynamic_jump;
pub mod angle_calculations;
pub mod transonic_drag;
pub mod reynolds;
pub mod form_factor;
pub mod bc_estimation;
pub mod cluster_bc;
pub mod monte_carlo;
pub mod stability;
pub mod stability_advanced;
#[cfg(feature = "online")]
pub mod api_client;
#[cfg(feature = "online")]
pub mod bc_table_download;
pub mod bc_table;
pub mod bc_table_5d;
pub(crate) type InternalBallisticInputs = BallisticInputs;
#[derive(Debug, Clone)]
pub struct BCSegmentData {
pub velocity_min: f64,
pub velocity_max: f64,
pub bc_value: f64,
}