pub fn clip_step( x: &ArrayView1<'_, f64>, direction: &ArrayView1<'_, f64>, alpha: f64, lower: &[Option<f64>], upper: &[Option<f64>], ) -> f64
Clip step size to satisfy bounds