Classes | Namespaces | Macros | Enumerations | Functions
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

 PLMD
 
 PLMD::switchContainers
 

Macros

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

Enumerations

enum  PLMD::switchContainers::rationalForm : bool { PLMD::switchContainers::rationalForm::standard, PLMD::switchContainers::rationalForm::simplified }
 
enum  PLMD::switchContainers::rationalPow : bool { PLMD::switchContainers::rationalPow::standard, PLMD::switchContainers::rationalPow::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< baseSwitch > PLMD::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 ;