PANOC-ALM
quadratic-penalty
Nonconvex constrained optimization
src
include
panoc-alm
inner
decl
panoc-stop-crit.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <ostream>
4
#include <stdexcept>
5
6
namespace
pa
{
7
8
enum class
PANOCStopCrit
{
9
ApproxKKT = 0,
10
ProjGradNorm,
11
ProjGradUnitNorm,
12
FPRNorm
,
13
};
14
15
inline
const
char
*
enum_name
(
PANOCStopCrit
s) {
16
switch
(s) {
17
case
PANOCStopCrit::ApproxKKT:
return
"ApproxKKT"
;
18
case
PANOCStopCrit::ProjGradNorm:
return
"ProjGradNorm"
;
19
case
PANOCStopCrit::ProjGradUnitNorm:
return
"ProjGradUnitNorm"
;
20
case
PANOCStopCrit::FPRNorm
:
return
"FPRNorm"
;
21
}
22
throw
std::out_of_range(
"invalid value for pa::PANOCStopCrit"
);
23
}
24
25
inline
std::ostream &
operator<<
(std::ostream &os,
PANOCStopCrit
s) {
26
return
os <<
enum_name
(s);
27
}
28
29
}
// namespace pa
pa::enum_name
const char * enum_name(PANOCStopCrit s)
Definition:
panoc-stop-crit.hpp:15
pa
Definition:
alm.hpp:10
pa::PANOCStopCrit
PANOCStopCrit
Definition:
panoc-stop-crit.hpp:8
pa::operator<<
std::ostream & operator<<(std::ostream &os, PANOCStopCrit s)
Definition:
panoc-stop-crit.hpp:25
pa::PANOCStopCrit::ApproxKKT
@ ApproxKKT
Find a ε-approximate KKT point.
Generated by
1.8.20