@@ -707,8 +707,9 @@ void HighsPostsolveStack::DuplicateColumn::undo(const HighsOptions& options,
707707 solution.col_value [col] = colLower;
708708 else
709709 solution.col_value [col] = std::min (0.0 , colUpper);
710- solution.col_value [duplicateCol] =
711- double ((HighsCDouble (mergeVal) - solution.col_value [col]) / colScale);
710+ solution.col_value [duplicateCol] = static_cast <double >(
711+ (static_cast <HighsCDouble>(mergeVal) - solution.col_value [col]) /
712+ colScale);
712713
713714 bool recomputeCol = false ;
714715
@@ -746,8 +747,9 @@ void HighsPostsolveStack::DuplicateColumn::undo(const HighsOptions& options,
746747 assert (!basis.valid );
747748 solution.col_value [col] = std::ceil (solution.col_value [col] -
748749 options.mip_feasibility_tolerance );
749- solution.col_value [duplicateCol] =
750- double ((HighsCDouble (mergeVal) - solution.col_value [col]) / colScale);
750+ solution.col_value [duplicateCol] = static_cast <double >(
751+ (static_cast <HighsCDouble>(mergeVal) - solution.col_value [col]) /
752+ colScale);
751753 }
752754 } else {
753755 // setting col to its lower bound yielded a feasible value for
@@ -1209,9 +1211,8 @@ void HighsPostsolveStack::DuplicateColumn::undoFix(
12091211 }
12101212 }
12111213 const double residual_tolerance = 1e-12 ;
1212- double residual =
1213- std::fabs (double (HighsCDouble (x_v) + HighsCDouble (y_v) * scale -
1214- HighsCDouble (mergeValue)));
1214+ double residual = std::fabs (static_cast <double >(
1215+ static_cast <HighsCDouble>(x_v) - computeInvValue (y_v)));
12151216 const bool x_y_ok =
12161217 isFeasible (x_lo, x_v, x_up) && isFeasible (y_lo, y_v, y_up) &&
12171218 (!x_int || isInteger (x_v)) && (!y_int || isInteger (y_v)) &&
0 commit comments