diff options
author | Erik Schnetter <schnetter@cct.lsu.edu> | 2010-02-13 18:33:30 -0600 |
---|---|---|
committer | Barry Wardell <barry.wardell@gmail.com> | 2011-12-14 16:45:26 +0000 |
commit | 3b52b3721d634461b2d3840db16735b78a4a8cad (patch) | |
tree | bf192abc623573e7124f3810a7336d1f85fe3c54 /Carpet/CarpetLib/src/typeprops.hh | |
parent | 23a591ba88475bf0842257215f04c9f76a1c3fc4 (diff) |
Combine CarpetLib's INSTANTIATE and Carpet's TYPECASE mechanism into a
single mechanism provided by CarpetLib.
Use this mechanism everywhere.
Diffstat (limited to 'Carpet/CarpetLib/src/typeprops.hh')
-rw-r--r-- | Carpet/CarpetLib/src/typeprops.hh | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Carpet/CarpetLib/src/typeprops.hh b/Carpet/CarpetLib/src/typeprops.hh index e8a1ec342..9e82a8a19 100644 --- a/Carpet/CarpetLib/src/typeprops.hh +++ b/Carpet/CarpetLib/src/typeprops.hh @@ -41,4 +41,49 @@ struct typeprops <CCTK_COMPLEX32> { +static inline int specific_cactus_type (int const vartype) +{ + switch (vartype) { + case CCTK_VARIABLE_INT: +#ifdef CCTK_INTEGER_PRECISION_1 + return CCTK_VARIABLE_INT1; +#endif +#ifdef CCTK_INTEGER_PRECISION_2 + return CCTK_VARIABLE_INT2; +#endif +#ifdef CCTK_INTEGER_PRECISION_4 + return CCTK_VARIABLE_INT4; +#endif +#ifdef CCTK_INTEGER_PRECISION_8 + return CCTK_VARIABLE_INT8; +#endif + return -1; + case CCTK_VARIABLE_REAL: +#ifdef CCTK_REAL_PRECISION_4 + return CCTK_VARIABLE_REAL4; +#endif +#ifdef CCTK_REAL_PRECISION_8 + return CCTK_VARIABLE_REAL8; +#endif +#ifdef CCTK_REAL_PRECISION_16 + return CCTK_VARIABLE_REAL16; +#endif + return -1; + case CCTK_VARIABLE_COMPLEX: +#ifdef CCTK_REAL_PRECISION_4 + return CCTK_VARIABLE_COMPLEX8; +#endif +#ifdef CCTK_REAL_PRECISION_8 + return CCTK_VARIABLE_COMPLEX16; +#endif +#ifdef CCTK_REAL_PRECISION_16 + return CCTK_VARIABLE_COMPLEX32; +#endif + return -1; + } + return vartype; +} + + + #endif // #ifndef TYPEPROPS_HH |