expand init API

This commit is contained in:
Laurent Perron
2021-03-23 19:46:34 +01:00
parent 18ef191443
commit 78b814ddcb
3 changed files with 14 additions and 7 deletions

View File

@@ -100,6 +100,8 @@ public class CsIntegerProgramming
static void Main() static void Main()
{ {
Google.OrTools.Init.Init.InitCppLogging("csintegerprogramming.cs", true, false);
Console.WriteLine("---- Integer programming example with GLPK ----"); Console.WriteLine("---- Integer programming example with GLPK ----");
RunIntegerProgrammingExample("GLPK"); RunIntegerProgrammingExample("GLPK");
Console.WriteLine("---- Linear programming example with CBC ----"); Console.WriteLine("---- Linear programming example with CBC ----");

View File

@@ -116,5 +116,7 @@ def main():
if __name__ == '__main__': if __name__ == '__main__':
init.Init.InitCppLogging('integer_programming.py', False) init.Init.InitCppLogging('integer_programming.py',
/*logtostderr=*/True,
/*log_prefix=*/False);
main() main()

View File

@@ -15,17 +15,20 @@ class Init {
// Initialize the C++ logging layer. // Initialize the C++ logging layer.
// If logtostderr is false, all C++ logging will be ignored. // If logtostderr is false, all C++ logging will be ignored.
// If true, all logging will the displayed on stderr. // If true, all logging will the displayed on stderr.
static void InitCppLogging(const std::string& program_name, bool logtostderr) { static void InitCppLogging(const std::string& program_name, bool logtostderr,
absl::SetFlag(&FLAGS_logtostderr, logtostderr); bool log_prefix) {
google::InitGoogleLogging(program_name.c_str()); absl::SetFlag(&FLAGS_logtostderr, logtostderr);
} absl::SetFlag(&FLAGS_log_prefix, log_prefix);
google::InitGoogleLogging(program_name.c_str());
}
// Load the gurobi shared library. // Load the gurobi shared library.
// This is necessary if the library is installed in a non canonical // This is necessary if the library is installed in a non canonical
// directory, or if for any reason, it is not found. // directory, or if for any reason, it is not found.
// You need to pass the full path, including the shared library file. // You need to pass the full path, including the shared library file.
static void LoadGurobiSharedLibrary(const std::string& full_library_path) { // It returns true if the library was found and correctly loaded.
LoadGurobiDynamicLibrary({full_library_path}); static bool LoadGurobiSharedLibrary(const std::string& full_library_path) {
return LoadGurobiDynamicLibrary({full_library_path}).ok();
} }
}; };