@@ -211,6 +211,20 @@ bool optionHipoSystemOk(const HighsLogOptions& report_log_options,
211211 return false ;
212212}
213213
214+ bool optionHipoOrderingOk (const HighsLogOptions& report_log_options,
215+ const string& value) {
216+ if (value == kHipoAmdString || value == kHipoMetisString ||
217+ value == kHipoRcmString || value == kHighsChooseString )
218+ return true ;
219+ highsLogUser (report_log_options, HighsLogType::kError ,
220+ " Value \" %s\" for %s option is not one of \" %s\" , \" %s\" , "
221+ " \" %s\" or \" %s\"\n " ,
222+ value.c_str (), kHipoOrderingString .c_str (),
223+ kHipoAmdString .c_str (), kHipoMetisString .c_str (),
224+ kHipoRcmString .c_str (), kHighsChooseString .c_str ());
225+ return false ;
226+ }
227+
214228bool boolFromString (std::string value, bool & bool_value) {
215229 std::transform (value.begin (), value.end (), value.begin (),
216230 [](unsigned char c) { return std::tolower (c); });
@@ -496,6 +510,9 @@ OptionStatus checkOptionValue(const HighsLogOptions& report_log_options,
496510 } else if (option.name == kHipoSystemString ) {
497511 if (!optionHipoSystemOk (report_log_options, value))
498512 return OptionStatus::kIllegalValue ;
513+ } else if (option.name == kHipoOrderingString ) {
514+ if (!optionHipoOrderingOk (report_log_options, value))
515+ return OptionStatus::kIllegalValue ;
499516 }
500517 return OptionStatus::kOk ;
501518}
0 commit comments