| 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 } |