/* range.c */
#include <stdio.h>
#include <limits.h>
#define LOWER_BOUND <your min here>
#define UPPER_BOUND <your max here>
/* Determine minimal numeric type for range */
#if LOWER_BOUND < LONG_MIN || LONG_MAX < UPPER_BOUND
typedef double Num_t;
#elif LOWER_BOUND < INT_MIN || INT_MAX < UPPER_BOUND
typedef long Num_t;
#elif LOWER_BOUND < SCHAR_MIN || SCHAR_MAX < UPPER_BOUND
typedef int Num_t;
#else
typedef signed char Num_t;
#endif
main()
{
Num_t x;
printf("sizeof(Num_t) == %d\n",sizeof x);
return 0;
}
/* End of File */