Loading [MathJax]/extensions/tex2jax.js
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
SwitchingFunction.cpp File Reference
#include "SwitchingFunction.h"
#include "Tools.h"
#include "Keywords.h"
#include "OpenMP.h"
#include <vector>
#include <limits>
#include <algorithm>
#include <optional>

Classes

class  PLMD::switchContainers::cosinusSwitch
 
class  PLMD::switchContainers::cubicSwitch
 
class  PLMD::switchContainers::exponentialSwitch
 
class  PLMD::switchContainers::fastGaussianSwitch
 
class  PLMD::switchContainers::fixedRational< N,, >
 
class  PLMD::switchContainers::leptonSwitch::funcAndDeriv
 Lepton expression. More...
 
class  PLMD::switchContainers::gaussianSwitch
 
class  PLMD::switchContainers::leptonSwitch
 
class  PLMD::switchContainers::nativeqSwitch
 
class  PLMD::switchContainers::rational< isFast, nis2m >
 
class  PLMD::switchContainers::smapSwitch
 
class  PLMD::switchContainers::tanhSwitch
 

Namespaces

namespace  PLMD
 
namespace  PLMD::switchContainers
 

Macros

#define CHECKandPARSE(datastring, keyword, variable, errormsg)
 
#define REQUIREDPARSE(datastring, keyword, variable, errormsg)
 

Enumerations

enum class  PLMD::switchContainers::rationalForm : bool { PLMD::switchContainers::standard , PLMD::switchContainers::simplified }
 
enum class  PLMD::switchContainers::rationalPow : bool { PLMD::switchContainers::standard , PLMD::switchContainers::fast }
 

Functions

template<int EXP, std::enable_if_t<(EXP %2==0), bool > = true>
std::optional< std::unique_ptr< baseSwitch > > PLMD::switchContainers::fixedRationalFactory (double D0, double DMAX, double R0, int N)
 
std::unique_ptr< baseSwitchPLMD::switchContainers::rationalFactory (double D0, double DMAX, double R0, int N, int M)
 

Macro Definition Documentation

◆ CHECKandPARSE

#define CHECKandPARSE ( datastring,
keyword,
variable,
errormsg )
Value:
if(Tools::findKeyword(datastring,keyword) && !Tools::parse(datastring,keyword,variable))\
errormsg="could not parse " keyword;

◆ REQUIREDPARSE

#define REQUIREDPARSE ( datastring,
keyword,
variable,
errormsg )
Value:
if(!Tools::parse(datastring,keyword,variable))\
errormsg=keyword " is required for " + name ;