home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / xco212p.zip / CDEF / limits.def < prev    next >
Text File  |  1995-05-30  |  1KB  |  62 lines

  1. (* Copyright (c) xTech 1993,95.  All Rights Reserved *)
  2. <*+ CSTDLIB  *>
  3. <*+ NOHEADER*>
  4. <*+ M2EXTENSIONS*>
  5. <*+ M2ADDTYPES*>
  6. DEFINITION MODULE [2] limits;
  7.  
  8. FROM SYSTEM IMPORT int, unsigned;
  9.  
  10. <*# IF __GEN_C__ THEN *>
  11.  
  12. VAR
  13.   (* the following constants are declared as read-only variables *)
  14.   (* to improve portability. *)
  15.  
  16.   CHAR_BIT     -: int;
  17.  
  18.   UCHAR_MAX    -: unsigned;
  19.   USHRT_MAX    -: unsigned;
  20.   UINT_MAX     -: unsigned;
  21.   ULONG_MAX    -: LONGCARD;
  22.  
  23.   CHAR_MAX     -: int;
  24.   SCHAR_MAX    -: int;
  25.   SHRT_MAX     -: int;
  26.   INT_MAX      -: int;
  27.   LONG_MAX     -: LONGINT;
  28.  
  29.   CHAR_MIN     -: int;
  30.   SCHAR_MIN    -: int;
  31.   SHRT_MIN     -: int;
  32.   INT_MIN      -: int;
  33.   LONG_MIN     -: LONGINT;
  34.  
  35. <*# ELSIF __GEN_X86__ THEN *>
  36. CONST 
  37.   CHAR_BIT     = 8; 
  38.  
  39.   UCHAR_MAX    = 255; 
  40.   USHRT_MAX    = 10000H; 
  41.   ULONG_MAX    = 80000000H;
  42.   UINT_MAX     = ULONG_MAX; 
  43.  
  44.   CHAR_MAX     = 255; (* depends on whether char is signed or not *)
  45.   SCHAR_MAX    = 127; 
  46.   SHRT_MAX     = 7FFFH; 
  47.   LONG_MAX     = 7FFFFFFFH; 
  48.   INT_MAX      = LONG_MAX; 
  49.  
  50.   CHAR_MIN     = 0; 
  51.   SCHAR_MIN    = - SCHAR_MAX -1; 
  52.   SHRT_MIN     = - SHRT_MAX -1; 
  53.   INT_MIN      = - LONG_MAX -1; 
  54.   LONG_MIN     = - LONG_MAX -1; 
  55.  
  56. <*# ELSE *>
  57.         *** not implemented ***
  58. <*# END *>
  59.  
  60.  
  61. END limits.
  62.