Skip to content
Snippets Groups Projects
Commit 2561b608 authored by Chris Cantwell's avatar Chris Cantwell
Browse files

Merge branch 'feature/add-support-unsigned-int-session' into 'master'

Add support for unsigned int in SessionReader parameters

See merge request nektar/nektar!2127
parents c1c68034 1f3976a5
No related branches found
No related tags found
No related merge requests found
......@@ -37,6 +37,7 @@ v5.8.0
- Tidy-up SpatialDomains (!2120)
- Remove NekInt, NekInt32, NekInt64, NekUInt, NekUInt32, NekUInt64 typedef (!2123)
- Fix CMake warnings related to modern policy changes (!2129)
- Add support for unsigned int in SessionReader parameters (!2127)
**CI**
- Fix CubeAllElements performance test tolerance (!1943)
......
......@@ -849,6 +849,39 @@ void SessionReader::LoadParameter(const std::string &pName, int &pVar,
}
}
/**
*
*/
void SessionReader::LoadParameter(const std::string &pName,
unsigned int &pVar) const
{
std::string vName = boost::to_upper_copy(pName);
auto paramIter = m_parameters.find(vName);
ASSERTL0(paramIter != m_parameters.end(),
"Required parameter '" + pName + "' not specified in session.");
NekDouble param = round(paramIter->second);
pVar = checked_cast<unsigned int>(param);
}
/**
*
*/
void SessionReader::LoadParameter(const std::string &pName, unsigned int &pVar,
const unsigned int &pDefault) const
{
std::string vName = boost::to_upper_copy(pName);
auto paramIter = m_parameters.find(vName);
if (paramIter != m_parameters.end())
{
NekDouble param = round(paramIter->second);
pVar = checked_cast<unsigned int>(param);
}
else
{
pVar = pDefault;
}
}
/**
*
*/
......@@ -921,6 +954,15 @@ void SessionReader::SetParameter(const std::string &pName, int &pVar)
m_parameters[vName] = pVar;
}
/**
*
*/
void SessionReader::SetParameter(const std::string &pName, unsigned int &pVar)
{
std::string vName = boost::to_upper_copy(pName);
m_parameters[vName] = pVar;
}
/**
*
*/
......
......@@ -201,12 +201,19 @@ public:
/// Load an integer parameter
LIB_UTILITIES_EXPORT void LoadParameter(const std::string &name,
int &var) const;
/// Load an unsigned integer parameter
LIB_UTILITIES_EXPORT void LoadParameter(const std::string &name,
unsigned int &var) const;
/// Load an size_t parameter
LIB_UTILITIES_EXPORT void LoadParameter(const std::string &name,
size_t &var) const;
/// Check for and load an integer parameter.
LIB_UTILITIES_EXPORT void LoadParameter(const std::string &name, int &var,
const int &def) const;
/// Check for and load an unsigned integer parameter.
LIB_UTILITIES_EXPORT void LoadParameter(const std::string &name,
unsigned int &var,
const unsigned int &def) const;
/// Check for and load an size_t parameter.
LIB_UTILITIES_EXPORT void LoadParameter(const std::string &name,
size_t &var,
......@@ -220,6 +227,9 @@ public:
const NekDouble &def) const;
/// Set an integer parameter
LIB_UTILITIES_EXPORT void SetParameter(const std::string &name, int &var);
/// Set an unsigned integer parameter
LIB_UTILITIES_EXPORT void SetParameter(const std::string &name,
unsigned int &var);
/// Set an size_t parameter
LIB_UTILITIES_EXPORT void SetParameter(const std::string &name,
size_t &var);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment