[package]
edition = "2024"
rust-version = "1.87"
name = "rkf78"
version = "0.2.1"
authors = ["Nathan Strange <info@visviva.space>"]
build = false
exclude = [
"tasks/",
"notes/",
".claude/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Runge-Kutta-Fehlberg 7(8) integrator for spacecraft trajectory propagation"
homepage = "https://github.com/VisVivaSpace/rkf78"
documentation = "https://docs.rs/rkf78"
readme = "README.md"
keywords = [
"ode",
"integrator",
"runge-kutta",
"astrodynamics",
"trajectory",
]
categories = [
"science",
"simulation",
"mathematics",
]
license = "MIT"
repository = "https://github.com/VisVivaSpace/rkf78"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = []
gpu = [
"dep:wgpu",
"dep:bytemuck",
"dep:pollster",
]
[lib]
name = "rkf78"
path = "src/lib.rs"
[[example]]
name = "dense_output"
path = "examples/dense_output.rs"
[[example]]
name = "event_detection"
path = "examples/event_detection.rs"
[[example]]
name = "gpu_two_body"
path = "examples/gpu_two_body.rs"
required-features = ["gpu"]
[[example]]
name = "harmonic_oscillator"
path = "examples/harmonic_oscillator.rs"
[[example]]
name = "step_observer"
path = "examples/step_observer.rs"
[[example]]
name = "two_body_orbit"
path = "examples/two_body_orbit.rs"
[[test]]
name = "cross_validation"
path = "tests/cross_validation.rs"
[[test]]
name = "gpu_integration"
path = "tests/gpu_integration.rs"
[[bench]]
name = "integration"
path = "benches/integration.rs"
harness = false
[dependencies.bytemuck]
version = "1"
features = ["derive"]
optional = true
[dependencies.pollster]
version = "0.4"
optional = true
[dependencies.wgpu]
version = "24"
optional = true
[dev-dependencies.approx]
version = "0.5"
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.ode_solvers]
version = "0.4"
[profile.release]
lto = true
codegen-units = 1