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
18namespace ROL {
19
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) ||
60 (ls == TRUSTREGION_U_SPG) ||
61 (ls == TRUSTREGION_U_DOGLEG) ||
63 );
64 }
65
67 return type = static_cast<ETrustRegionU>(type+1);
68 }
69
71 ETrustRegionU oldval = type;
72 ++type;
73 return oldval;
74 }
75
77 return type = static_cast<ETrustRegionU>(type-1);
78 }
79
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
std::string removeStringFormat(std::string s)
ETrustRegionU StringToETrustRegionU(std::string s)
EPolyProjAlgo & operator--(EPolyProjAlgo &type)
int isValidTrustRegionU(ETrustRegionU ls)
Verifies validity of a TrustRegionU enum.
EPolyProjAlgo & operator++(EPolyProjAlgo &type)
std::string ETrustRegionUToString(ETrustRegionU tr)