324 I : AlgIteratorFactory<F> |
324 I : AlgIteratorFactory<F> |
325 { |
325 { |
326 let inner_τ = inner.fb_τ0 / mA_normest; |
326 let inner_τ = inner.fb_τ0 / mA_normest; |
327 |
327 |
328 match inner.method { |
328 match inner.method { |
329 InnerMethod::FB | InnerMethod::Default => |
329 InnerMethod::FB => |
330 quadratic_nonneg_fb(mA, g, λ, x, inner_τ, iterator), |
330 quadratic_nonneg_fb(mA, g, λ, x, inner_τ, iterator), |
331 InnerMethod::SSN => |
331 InnerMethod::SSN => |
332 quadratic_nonneg_ssn(mA, g, λ, x, inner_τ, iterator).unwrap_or_else(|e| { |
332 quadratic_nonneg_ssn(mA, g, λ, x, inner_τ, iterator).unwrap_or_else(|e| { |
333 println!("{}", format!("{e}. Using FB fallback.").red()); |
333 println!("{}", format!("{e}. Using FB fallback.").red()); |
334 let ins = InnerSettings::<F>::default(); |
334 let ins = InnerSettings::<F>::default(); |
335 quadratic_nonneg_fb(mA, g, λ, x, inner_τ, ins.iterator_options) |
335 quadratic_nonneg_fb(mA, g, λ, x, inner_τ, ins.iterator_options) |
336 }), |
336 }), |
337 InnerMethod::PDPS => unimplemented!(), |
337 other => unimplemented!("${other:?} is unimplemented"), |
338 } |
338 } |
339 } |
339 } |