\doxysection{Policy.\+hpp}
\hypertarget{Policy_8hpp_source}{}\label{Policy_8hpp_source}\index{/home/chr/devel/PhD/Environment/pub/PCBEnv/pcbenv/cxx/RL/Policy.hpp@{/home/chr/devel/PhD/Environment/pub/PCBEnv/pcbenv/cxx/RL/Policy.hpp}}

\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ GYM\_PCB\_RL\_POLICY\_H}}
\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ GYM\_PCB\_RL\_POLICY\_H}}
\DoxyCodeLine{00003\ }
\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Py.hpp"{}}}
\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ <vector>}}
\DoxyCodeLine{00006\ }
\DoxyCodeLine{00007\ \textcolor{keyword}{class\ }\mbox{\hyperlink{classPolicy}{Policy}}}
\DoxyCodeLine{00008\ \{}
\DoxyCodeLine{00009\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00010\ \ \ \ \ \textcolor{comment}{//\ @MinProbability:\ for\ stochastic\ policy\ only,\ applied\ before\ temperature}}
\DoxyCodeLine{00011\ \ \ \ \ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structPolicy_1_1CommonParams}{CommonParams}}}
\DoxyCodeLine{00012\ \ \ \ \ \{}
\DoxyCodeLine{00013\ \ \ \ \ \ \ \ \ std::string\_view\ Class\{\textcolor{stringliteral}{"{}constant"{}}\};}
\DoxyCodeLine{00014\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{float}\ Epsilon\{0.0f\};}
\DoxyCodeLine{00015\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{float}\ Temperature\{1.0f\};}
\DoxyCodeLine{00016\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{float}\ Tolerance\{0.0f\};}
\DoxyCodeLine{00017\ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{float}\ MinProbability\{0.0f\};}
\DoxyCodeLine{00018\ \ \ \ \ \ \ \ \ \textcolor{keyword}{static}\ \mbox{\hyperlink{structPolicy_1_1CommonParams}{CommonParams}}\ from(PyObject\ *);}
\DoxyCodeLine{00019\ \ \ \ \ \};}
\DoxyCodeLine{00020\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00021\ \ \ \ \ \textcolor{keyword}{static}\ \mbox{\hyperlink{classPolicy}{Policy}}\ *create(\textcolor{keyword}{const}\ \mbox{\hyperlink{structPolicy_1_1CommonParams}{CommonParams}}\&);}
\DoxyCodeLine{00022\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00023\ \ \ \ \ \textcolor{keyword}{virtual}\ uint\ decide(\textcolor{keyword}{const}\ std::vector<float>\&)\ \{\ \textcolor{keywordflow}{return}\ 0;\ \}}
\DoxyCodeLine{00024\ }
\DoxyCodeLine{00025\ \ \ \ \ \textcolor{keyword}{virtual}\ \mbox{\hyperlink{classPolicy}{\string~Policy}}()\ \{\ \}}
\DoxyCodeLine{00026\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ setFastActionMask(uint32\_t)\ \{\ \}}
\DoxyCodeLine{00027\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ setEpsilon(\textcolor{keywordtype}{float})\ \{\ \}}
\DoxyCodeLine{00028\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{void}\ setTemperature(\textcolor{keywordtype}{float})\ \{\ \}}
\DoxyCodeLine{00029\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{float}\ getEpsilon()\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ 1.0f;\ \}}
\DoxyCodeLine{00030\ \ \ \ \ \textcolor{keyword}{virtual}\ \textcolor{keywordtype}{float}\ getTemperature()\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ 1.0f;\ \}}
\DoxyCodeLine{00031\ \};}
\DoxyCodeLine{00032\ }
\DoxyCodeLine{00033\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ GYM\_PCB\_RL\_POLICY\_H}}

\end{DoxyCode}
