@@ -452,14 +452,20 @@ void HPolytopeCPP::apply_rounding(int rounding_method, double* new_A, double* ne
452452 // run the rounding method
453453 if (rounding_method == 1 ) { // max ellipsoid
454454 round_res = inscribed_ellipsoid_rounding<MT, VT, NT>(P, CheBall.first );
455-
456455 } else if (rounding_method == 2 ) { // isotropization
457456 round_res = svd_rounding<AcceleratedBilliardWalk, MT, VT>(P, CheBall, 1 , rng);
458457 } else if (rounding_method == 3 ) { // min ellipsoid
459- round_res = min_sampling_covering_ellipsoid_rounding<AcceleratedBilliardWalk, MT, VT>(P,
460- CheBall,
461- walk_len,
462- rng);
458+ round_res = min_sampling_covering_ellipsoid_rounding
459+ <AcceleratedBilliardWalk, MT, VT>(P, CheBall, walk_len, rng);
460+ } else if (rounding_method == 4 ) { // log barrier
461+ round_res = inscribed_ellipsoid_rounding
462+ <MT, VT, NT, decltype (P), decltype (CheBall.first ), 2 >(P, CheBall.first );
463+ } else if (rounding_method == 5 ) { // Vaidya barrier
464+ round_res = inscribed_ellipsoid_rounding
465+ <MT, VT, NT, decltype (P), decltype (CheBall.first ), 3 >(P, CheBall.first );
466+ } else if (rounding_method == 6 ) { // volumetric barrier
467+ round_res = inscribed_ellipsoid_rounding
468+ <MT, VT, NT, decltype (P), decltype (CheBall.first ), 4 >(P, CheBall.first );
463469 } else {
464470 throw std::runtime_error (" Unknown rounding method." );
465471 }
0 commit comments