ROL
ROL_TrustRegion_U_Types.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Rapid Optimization Library (ROL) Package
4 //
5 // Copyright 2014 NTESS and the ROL contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
15 #ifndef ROL_TRUSTREGION_U_TYPES_HPP
16 #define ROL_TRUSTREGION_U_TYPES_HPP
17 
18 namespace ROL {
19 
36  };
37 
38  inline std::string ETrustRegionUToString(ETrustRegionU tr) {
39  std::string retString;
40  switch(tr) {
41  case TRUSTREGION_U_CAUCHYPOINT: retString = "Cauchy Point"; break;
42  case TRUSTREGION_U_TRUNCATEDCG: retString = "Truncated CG"; break;
43  case TRUSTREGION_U_SPG: retString = "SPG"; break;
44  case TRUSTREGION_U_DOGLEG: retString = "Dogleg"; break;
45  case TRUSTREGION_U_DOUBLEDOGLEG: retString = "Double Dogleg"; break;
46  case TRUSTREGION_U_LAST: retString = "Last Type (Dummy)"; break;
47  default: retString = "INVALID ETrustRegionU";
48  }
49  return retString;
50  }
51 
58  return( (ls == TRUSTREGION_U_CAUCHYPOINT) ||
59  (ls == TRUSTREGION_U_TRUNCATEDCG) ||
60  (ls == TRUSTREGION_U_SPG) ||
61  (ls == TRUSTREGION_U_DOGLEG) ||
63  );
64  }
65 
67  return type = static_cast<ETrustRegionU>(type+1);
68  }
69 
70  inline ETrustRegionU operator++(ETrustRegionU &type, int) {
71  ETrustRegionU oldval = type;
72  ++type;
73  return oldval;
74  }
75 
77  return type = static_cast<ETrustRegionU>(type-1);
78  }
79 
80  inline ETrustRegionU operator--(ETrustRegionU &type, int) {
81  ETrustRegionU oldval = type;
82  --type;
83  return oldval;
84  }
85 
86  inline ETrustRegionU StringToETrustRegionU(std::string s) {
87  s = removeStringFormat(s);
89  if ( !s.compare(removeStringFormat(ETrustRegionUToString(tr))) ) {
90  return tr;
91  }
92  }
94  }
95 } // ROL
96 
97 #endif
EPolyProjAlgo & operator++(EPolyProjAlgo &type)
ETrustRegionU StringToETrustRegionU(std::string s)
std::string removeStringFormat(std::string s)
Definition: ROL_Types.hpp:215
int isValidTrustRegionU(ETrustRegionU ls)
Verifies validity of a TrustRegionU enum.
EPolyProjAlgo & operator--(EPolyProjAlgo &type)
ETrustRegionU
Enumeration of trust-region solver types.
std::string ETrustRegionUToString(ETrustRegionU tr)