@@ -462,14 +462,20 @@ void HPolytopeCPP::apply_rounding(int rounding_method, double* new_A, double* ne
462462 // run the rounding method
463463 if (rounding_method == 1 ) { // max ellipsoid
464464 round_res = inscribed_ellipsoid_rounding<MT, VT, NT>(P, CheBall.first );
465-
466465 } else if (rounding_method == 2 ) { // isotropization
467466 round_res = svd_rounding<AcceleratedBilliardWalk, MT, VT>(P, CheBall, 1 , rng);
468467 } else if (rounding_method == 3 ) { // min ellipsoid
469- round_res = min_sampling_covering_ellipsoid_rounding<AcceleratedBilliardWalk, MT, VT>(P,
470- CheBall,
471- walk_len,
472- rng);
468+ round_res = min_sampling_covering_ellipsoid_rounding
469+ <AcceleratedBilliardWalk, MT, VT>(P, CheBall, walk_len, rng);
470+ } else if (rounding_method == 4 ) { // log barrier
471+ round_res = inscribed_ellipsoid_rounding
472+ <MT, VT, NT, decltype (P), decltype (CheBall.first ), 2 >(P, CheBall.first );
473+ } else if (rounding_method == 5 ) { // Vaidya barrier
474+ round_res = inscribed_ellipsoid_rounding
475+ <MT, VT, NT, decltype (P), decltype (CheBall.first ), 3 >(P, CheBall.first );
476+ } else if (rounding_method == 6 ) { // volumetric barrier
477+ round_res = inscribed_ellipsoid_rounding
478+ <MT, VT, NT, decltype (P), decltype (CheBall.first ), 4 >(P, CheBall.first );
473479 } else {
474480 throw std::runtime_error (" Unknown rounding method." );
475481 }
0 commit comments