test-lim.cc

Go to the documentation of this file.
00001 #include "config.h"
00002 
00003 #include <cassert>
00004 
00005 #ifdef HAVE_LIMITS
00006 #include <limits>
00007 #endif
00008 
00009 #include <limits.h>
00010 #include <float.h>
00011 
00012 #include "lim.h"
00013 
00014 int main(int argc, char* argv[])
00015 {
00016         assert(max_limit<bool>() == true);
00017         assert(min_limit<bool>() == false);
00018 
00019         assert(max_limit<char>() == CHAR_MAX);
00020         assert(min_limit<char>() == CHAR_MIN);
00021 
00022         assert(max_limit<signed char>() == SCHAR_MAX);
00023         assert(min_limit<signed char>() == SCHAR_MIN);
00024 
00025         assert(max_limit<unsigned char>() == UCHAR_MAX);
00026         assert(min_limit<unsigned char>() == 0);
00027 
00028         assert(max_limit<short>() == SHRT_MAX);
00029         assert(min_limit<short>() == SHRT_MIN);
00030 
00031         assert(max_limit<unsigned short>() == USHRT_MAX);
00032         assert(min_limit<unsigned short>() == 0);
00033 
00034         assert(max_limit<int>() == INT_MAX);
00035         assert(min_limit<int>() == INT_MIN);
00036 
00037         assert(max_limit<unsigned int>() == UINT_MAX);
00038         assert(min_limit<unsigned int>() == 0);
00039 
00040         assert(max_limit<long>() == LONG_MAX);
00041         assert(min_limit<long>() == LONG_MIN);
00042 
00043         assert(max_limit<unsigned long>() == ULONG_MAX);
00044         assert(min_limit<unsigned long>() == 0);
00045 
00046         assert(max_limit<float>() == FLT_MAX);
00047         assert(min_limit<float>() == FLT_MIN);
00048 
00049         assert(max_limit<double>() == DBL_MAX);
00050         assert(min_limit<double>() == DBL_MIN);
00051 
00052 #ifdef HAVE_LIMITS
00053         assert(max_limit<bool>() == std::numeric_limits<bool>::max());
00054         assert(min_limit<bool>() == std::numeric_limits<bool>::min());
00055 
00056         assert(max_limit<char>() == std::numeric_limits<char>::max());
00057         assert(min_limit<char>() == std::numeric_limits<char>::min());
00058 
00059         assert(max_limit<signed char>() == std::numeric_limits<signed char>::max());
00060         assert(min_limit<signed char>() == std::numeric_limits<signed char>::min());
00061 
00062         assert(max_limit<unsigned char>() == std::numeric_limits<unsigned char>::max());
00063         assert(min_limit<unsigned char>() == std::numeric_limits<unsigned char>::min());
00064 
00065         assert(max_limit<short>() == std::numeric_limits<short>::max());
00066         assert(min_limit<short>() == std::numeric_limits<short>::min());
00067 
00068         assert(max_limit<unsigned short>() == std::numeric_limits<unsigned short>::max());
00069         assert(min_limit<unsigned short>() == std::numeric_limits<unsigned short>::min());
00070 
00071         assert(max_limit<int>() == std::numeric_limits<int>::max());
00072         assert(min_limit<int>() == std::numeric_limits<int>::min());
00073 
00074         assert(max_limit<unsigned int>() == std::numeric_limits<unsigned int>::max());
00075         assert(min_limit<unsigned int>() == std::numeric_limits<unsigned int>::min());
00076 
00077         assert(max_limit<long>() == std::numeric_limits<long>::max());
00078         assert(min_limit<long>() == std::numeric_limits<long>::min());
00079 
00080         assert(max_limit<unsigned long>() == std::numeric_limits<unsigned long>::max());
00081         assert(min_limit<unsigned long>() == std::numeric_limits<unsigned long>::min());
00082 
00083         assert(max_limit<float>() == std::numeric_limits<float>::max());
00084         assert(min_limit<float>() == std::numeric_limits<float>::min());
00085 
00086         assert(max_limit<double>() == std::numeric_limits<double>::max());
00087         assert(min_limit<double>() == std::numeric_limits<double>::min());
00088 #endif
00089 
00090         return(0);
00091 }

Generated on Mon Jul 12 12:02:51 2004 for rvm by doxygen 1.3.6