X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=common%2FclitkPortability.h;h=7fae01ec9916e31e303465a95685e7fa46d9b0db;hb=afede09ad631dcf7297e3189aeb1d2288fb25902;hp=da1b7ba6c710a18e848b3f4fa906196763e6d0df;hpb=4a567a442ac0d844a894e5de071d51a505d07f4a;p=clitk.git diff --git a/common/clitkPortability.h b/common/clitkPortability.h old mode 100755 new mode 100644 index da1b7ba..7fae01e --- a/common/clitkPortability.h +++ b/common/clitkPortability.h @@ -1,10 +1,44 @@ +/*========================================================================= + Program: vv http://www.creatis.insa-lyon.fr/rio/vv + + Authors belong to: + - University of LYON http://www.universite-lyon.fr/ + - Léon Bérard cancer center http://www.centreleonberard.fr + - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the copyright notices for more information. + + It is distributed under dual licence + + - BSD See included LICENSE.txt file + - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +===========================================================================**/ #ifndef CLITKPORTABILITY_H #define CLITKPORTABILITY_H - +#if defined(WIN32) +# define _USE_MATH_DEFINES //Before math.h include (i.e. cmath) +#endif +#include + #if defined(WIN32) # define rint(x) floor(x+0.5) # define lrint(x) (long)rint(x) -# define _USE_MATH_DEFINES +#endif + +template +int IsNormal(const T val) { +#if defined(_MSC_VER) + return _finite(val); +#else + return std::isnormal(val); +#endif +} + +#if defined(_MSC_VER) +# include +# define mkstemp(x) _mktemp_s(x, sizeof(x)) #endif #endif /* end #define CLITKPORTABILITY_H */