#if !defined(STAR_EXT_INCLUDED) #define STAR_EXT_INCLUDED /* *+ * Name: * extreme.h * * Purpose: * Macros for EXTREME package. * * Language: * C * * Type of module: * C include file. * * Description: * This file may be included in C code which uses the INT_BIG identifier * as an integer type. It defines the value of INT_BIG if it is not * already defined (e.g. on the compiler command line), and it * sets up constants for the maximum and minimum values of the * resulting integral types. * * Author: * MBT: Mark Taylor (Starlink) * * History: * 3-FEB-2000 (MBT): * Original version. *- */ /* Define the INT_BIG macro if it has not already been defined. This line differs for different source variant versions of this include file: for 32-bit systems the definition will be 'int' and for 64-bit systems it will be 'long'. */ #if !defined(INT_BIG) #define INT_BIG @int_big@ #endif /* Include the system header file limits.h, which contains the maximum and minimum constants for int type: INT_MAX, INT_MIN and UINT_MAX. */ #include /* Define new maximum and minimum constants INT_BIG_MAX, INT_BIG_MIN and UINT_BIG_MAX as appropriate. */ #define int 1 #define long 2 #if INT_BIG == int #define INT_BIG_MAX INT_MAX #define INT_BIG_MIN INT_MIN #define UINT_BIG_MAX UINT_MAX #elif INT_BIG == long #define INT_BIG_MAX LONG_MAX #define INT_BIG_MIN LONG_MIN #define UINT_BIG_MAX ULONG_MAX #endif #undef int #undef long #endif /* STAR_EXT_INCLUDED */ /* $Id$ */