276 I : AlgIteratorFactory<F> |
276 I : AlgIteratorFactory<F> |
277 { |
277 { |
278 let inner_τ = inner.fb_τ0 / mA_normest; |
278 let inner_τ = inner.fb_τ0 / mA_normest; |
279 |
279 |
280 match inner.method { |
280 match inner.method { |
281 InnerMethod::FB | InnerMethod::Default => |
281 InnerMethod::FB => |
282 quadratic_unconstrained_fb(mA, g, λ, x, inner_τ, iterator), |
282 quadratic_unconstrained_fb(mA, g, λ, x, inner_τ, iterator), |
283 InnerMethod::SSN => |
283 InnerMethod::SSN => |
284 quadratic_unconstrained_ssn(mA, g, λ, x, inner_τ, iterator).unwrap_or_else(|e| { |
284 quadratic_unconstrained_ssn(mA, g, λ, x, inner_τ, iterator).unwrap_or_else(|e| { |
285 println!("{}", format!("{e}. Using FB fallback.").red()); |
285 println!("{}", format!("{e}. Using FB fallback.").red()); |
286 let ins = InnerSettings::<F>::default(); |
286 let ins = InnerSettings::<F>::default(); |
287 quadratic_unconstrained_fb(mA, g, λ, x, inner_τ, ins.iterator_options) |
287 quadratic_unconstrained_fb(mA, g, λ, x, inner_τ, ins.iterator_options) |
288 }), |
288 }), |
289 InnerMethod::PDPS => unimplemented!(), |
289 other => unimplemented!("${other:?} is unimplemented"), |
290 } |
290 } |
291 } |
291 } |