@@ -478,41 +478,46 @@ void getKktFailures(const HighsOptions& options, const bool is_qp,
478478 }
479479
480480 if (printf_kkt || options.log_dev_level > 0 ) {
481- printf (" getKktFailures:: cost norm = %8.3g; bound norm = %8.3g\n " ,
482- highs_norm_costs, highs_norm_bounds);
483- printf (
484- " getKktFailures: LP (abs / rel) "
485- " Col (abs / rel) Row (abs / rel)\n " );
486-
487- printf (
481+ highsLogDev (options.log_options , HighsLogType::kInfo ,
482+ " getKktFailures:: cost norm = %8.3g; bound norm = %8.3g\n " ,
483+ highs_norm_costs, highs_norm_bounds);
484+ highsLogDev (options.log_options , HighsLogType::kInfo ,
485+ " getKktFailures: LP (abs / rel) "
486+ " Col (abs / rel) Row (abs / rel)\n " );
487+
488+ highsLogDev (
489+ options.log_options , HighsLogType::kInfo ,
488490 " getKktFailures: primal infeasibility %8.3g / %8.3g %8.3g / "
489491 " %8.3g %8.3g / %8.3g\n " ,
490492 highs_info.max_primal_infeasibility ,
491493 highs_info.max_relative_primal_infeasibility ,
492494 max_col_primal_infeasibility, max_relative_col_primal_infeasibility,
493495 max_row_primal_infeasibility, max_relative_row_primal_infeasibility);
494496 if (have_dual_solution)
495- printf (
497+ highsLogDev (
498+ options.log_options , HighsLogType::kInfo ,
496499 " getKktFailures: dual infeasibility %8.3g / %8.3g %8.3g / "
497500 " %8.3g %8.3g / %8.3g\n " ,
498501 highs_info.max_dual_infeasibility ,
499502 highs_info.max_relative_dual_infeasibility ,
500503 max_col_dual_infeasibility, max_relative_col_dual_infeasibility,
501504 max_row_dual_infeasibility, max_relative_row_dual_infeasibility);
502505 if (get_residuals) {
503- printf (" getKktFailures: primal residual %8.3g / %8.3g\n " ,
504- highs_info.max_primal_residual_error ,
505- highs_info.max_relative_primal_residual_error );
506+ highsLogDev (options.log_options , HighsLogType::kInfo ,
507+ " getKktFailures: primal residual %8.3g / %8.3g\n " ,
508+ highs_info.max_primal_residual_error ,
509+ highs_info.max_relative_primal_residual_error );
506510 if (have_dual_solution)
507- printf (" getKktFailures: dual residual %8.3g / %8.3g\n " ,
508- highs_info.max_dual_residual_error ,
509- highs_info.max_relative_dual_residual_error );
511+ highsLogDev (options.log_options , HighsLogType::kInfo ,
512+ " getKktFailures: dual residual %8.3g / %8.3g\n " ,
513+ highs_info.max_dual_residual_error ,
514+ highs_info.max_relative_dual_residual_error );
510515 }
511516 if (!is_qp && have_dual_solution)
512- printf (" getKktFailures: objective gap %8.3g\n " ,
513- highs_info.primal_dual_objective_error );
517+ highsLogDev (options.log_options , HighsLogType::kInfo ,
518+ " getKktFailures: objective gap %8.3g\n " ,
519+ highs_info.primal_dual_objective_error );
514520 }
515-
516521 // Assign primal (and possibly dual) solution status according to
517522 // existence of primal and dual feasibilities
518523 //
0 commit comments