36 if (s.length() == 0 || s.length() == 2 || s.length() > 3)
38 char c =
static_cast<char>(tolower(s[s.length() - 1]));
61 static int dim(
const std::string &s) {
62 if (s.length() == 0 || s.length() == 2 || s.length() > 3)
67 if (
c <
'1' ||
c >
'9')
73 static int appType(
const std::string &s) {
74 if (s.length() == 0 || s.length() == 2 || s.length() > 3)
78 char c =
static_cast<char>(tolower(s[0]));
98 static std::string
str() {
return std::string(
"u"); }
113#define DEFINE_DISCTYPE_SCALAR(TYPE, STRING) \
115struct DiscType< TYPE > : public DiscTypeBase { \
116 static std::string str() { return std::string(STRING); } \
141#define DEFINE_DISCTYPE_APPTYPE(TYPE, STRING) \
142template<class T, unsigned D> \
143struct DiscType< TYPE<T, D> > : public DiscTypeBase { \
144 static std::string str() { \
146 std::string retval = STRING; \
148 retval += DiscType<T>::str(); \
constexpr double c
The velocity of light in m/s.
#define DEFINE_DISCTYPE_SCALAR(TYPE, STRING)
#define DEFINE_DISCTYPE_APPTYPE(TYPE, STRING)
static int scalarType(const std::string &s)
static int appType(const std::string &s)
static int dim(const std::string &s)