- let zero_zero_twentyone_sixteen = _mm_set_ps(0.0f32, 0.0f32, 21.0f32, 16.0f32);
- zero_zero_den_num = _mm_mul_ps(zero_zero_den_num, zero_zero_twentyone_sixteen);
- }
-
- let zero_zero_vden_vnum = _mm_set_ps(0.0f32, 0.0f32, value_denominator as f32, value_numerator as f32);
- let zero_zero_rden_rnum = _mm_mul_ps(zero_zero_den_num, zero_zero_vden_vnum);
-
- let mut res = AlignedFloats([0.0; 4]);
- _mm_store_ps(&mut res.0[0], zero_zero_rden_rnum);
- res.0[0] / res.0[1]
-}
-
-#[inline(always)]
-#[cfg(not(target_feature = "sse"))]
-unsafe fn do_nonlinear_success_probability(
- amount_msat: u64, min_liquidity_msat: u64, max_liquidity_msat: u64, capacity_msat: u64,
- value_numerator: u64, value_denominator: u64, times_16_on_21: bool,
-) -> f32 {
- let (num, mut den) = rust_nonlinear_success_probability(
- amount_msat, min_liquidity_msat, max_liquidity_msat, capacity_msat
- );
- let value = (value_numerator as f32) / (value_denominator as f32);
- if times_16_on_21 {
- den = den * 21 / 16;
+ let zero_zero_twentyone_sixteen = FourF32::new(0.0f32, 0.0f32, 21.0f32, 16.0f32);
+ zero_zero_den_num = zero_zero_den_num * zero_zero_twentyone_sixteen;