pub fn spring_work(
spring_constant: f64,
initial_displacement: f64,
final_displacement: f64,
) -> Option<f64>Expand description
Computes work done by an ideal spring force over a displacement interval.
Formula: W = 0.5 * k * (x_initial^2 - x_final^2)
Returns None when spring_constant is negative, when any input is not finite, or when the
computed result is not finite.
ยงExamples
use use_work::spring_work;
assert_eq!(spring_work(100.0, 0.5, 0.0), Some(12.5));
assert_eq!(spring_work(100.0, 0.0, 0.5), Some(-12.5));