Main Page   Class Hierarchy   Alphabetical List   Data Structures   File List   Data Fields  

base.Limits.h

00001 /*----------------------------------------------------------------------------
00002   SWORD 2000 - Software With Objects for Rapid Development
00003   Copyright (C) 2003 Eric NICOLAS
00004   ----------------------------------------------------------------------------
00005   SWORD is free software; you can redistribute it and/or modify
00006   it under the terms of the GNU Lesser General Public License as published by
00007   the Free Software Foundation; either version 2 of the License, or
00008   (at your option) any later version.
00009 
00010   SWORD is distributed in the hope that it will be useful,
00011   but WITHOUT ANY WARRANTY; without even the implied warranty of
00012   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013   GNU Lesser General Public License for more details.
00014 
00015   You should have received a copy of the GNU Lesser General Public License
00016   along with SWORD; if not, write to the Free Software
00017   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00018   --------------------------------------------------------------------------*/
00019 #ifndef _SWORD_BASE_LIMITS_
00020 #define _SWORD_BASE_LIMITS_
00021 
00022 // --- word8
00023 
00024 #define word8_IS_SIGNED          false
00025 #define word8_IS_EXACT           true
00026 #define word8_IS_INTEGER         true
00027 #define word8_RADIX              2
00028 #define word8_DIGITS             8
00029 #define word8_DIGITS10           3
00030 #define word8_MIN                _U8_(0)
00031 #define word8_MAX                _U8_(255)
00032 
00033 // --- word16
00034 
00035 #define word16_IS_SIGNED         false
00036 #define word16_IS_EXACT          true
00037 #define word16_IS_INTEGER        true
00038 #define word16_RADIX             2
00039 #define word16_DIGITS            16
00040 #define word16_DIGITS10          5
00041 #define word16_MIN               _U16_(0)
00042 #define word16_MAX               _U16_(65535)
00043 
00044 // --- word32
00045 
00046 #define word32_IS_SIGNED         false
00047 #define word32_IS_EXACT          true
00048 #define word32_IS_INTEGER        true
00049 #define word32_RADIX             2
00050 #define word32_DIGITS            32
00051 #define word32_DIGITS10          10
00052 #define word32_MIN               _U32_(0)
00053 #define word32_MAX               _U32_(4294967295)
00054 
00055 // --- word64
00056 
00057 #define word64_IS_SIGNED         false
00058 #define word64_IS_EXACT          true
00059 #define word64_IS_INTEGER        true
00060 #define word64_RADIX             2
00061 #define word64_DIGITS            64
00062 #define word64_DIGITS10          20
00063 #define word64_MIN               _U64_(0)
00064 #define word64_MAX               _U64_(18446744073709551615)
00065 
00066 // --- int8
00067 
00068 #define int8_IS_SIGNED           true
00069 #define int8_IS_EXACT            true
00070 #define int8_IS_INTEGER          true
00071 #define int8_RADIX               2
00072 #define int8_DIGITS              8
00073 #define int8_DIGITS10            3
00074 #define int8_MIN                 _I8_(-127)-1
00075 #define int8_MAX                 _I8_( 127)
00076 
00077 // --- int16
00078 
00079 #define int16_IS_SIGNED          true
00080 #define int16_IS_EXACT           true
00081 #define int16_IS_INTEGER         true
00082 #define int16_RADIX              2
00083 #define int16_DIGITS             16
00084 #define int16_DIGITS10           5
00085 #define int16_MIN                _I16_(-32767)-1
00086 #define int16_MAX                _I16_( 32767)
00087 
00088 // --- int32
00089 
00090 #define int32_IS_SIGNED          true
00091 #define int32_IS_EXACT           true
00092 #define int32_IS_INTEGER         true
00093 #define int32_RADIX              2
00094 #define int32_DIGITS             32
00095 #define int32_DIGITS10           10
00096 #define int32_MIN                _I32_(-2147483647)-1
00097 #define int32_MAX                _I32_( 2147483647)
00098 
00099 // --- int64
00100 
00101 #define int64_IS_SIGNED          true
00102 #define int64_IS_EXACT           true
00103 #define int64_IS_INTEGER         true
00104 #define int64_RADIX              2
00105 #define int64_DIGITS             64
00106 #define int64_DIGITS10           20
00107 #define int64_MIN                _I64_(-9223372036854775807)-1
00108 #define int64_MAX                _I64_( 9223372036854775807)
00109 
00110 // --- float32
00111 
00112 #define float32_IS_SIGNED        true
00113 #define float32_IS_EXACT         false
00114 #define float32_IS_INTEGER       false
00115 #define float32_RADIX            2
00116 #define float32_DIGITS           32
00117 #define float32_DIGITS10         6
00118 #define float32_MIN              1.17549435e-38F
00119 #define float32_MAX              3.40282347e+38F
00120 #define float32_INFINITY         0.0F /*@TODO@*/
00121 #define float32_EPSILON          1.19209290e-07F
00122 #define float32_QUIETNAN         0.0F /*@TODO@*/
00123 #define float32_NAN              0.0F /*@TODO@*/
00124 #define float32_MAXEXPONENT      128
00125 #define float32_MAXEXPONENT10    38
00126 #define float32_MINEXPONENT      -125
00127 #define float32_MINEXPONENT10    -37
00128 
00129 // --- float64
00130 
00131 #define float64_IS_SIGNED        true
00132 #define float64_IS_EXACT         false
00133 #define float64_IS_INTEGER       false
00134 #define float64_RADIX            2
00135 #define float64_DIGITS           64
00136 #define float64_DIGITS10         15
00137 #define float64_MIN              2.2250738585072014e-308
00138 #define float64_MAX              1.7976931348623157e+308
00139 #define float64_INFINITY         0.0F /*@TODO@*/
00140 #define float64_EPSILON          2.2204460492503131e-16
00141 #define float64_QUIETNAN         0.0F /*@TODO@*/
00142 #define float64_NAN              0.0F /*@TODO@*/
00143 #define float64_MAXEXPONENT      1024
00144 #define float64_MAXEXPONENT10    308
00145 #define float64_MINEXPONENT      -1021
00146 #define float64_MINEXPONENT10    -307
00147 
00148 #endif // _SWORD_BASE_LIMITS_

Generated on Tue Dec 23 20:08:56 2003 for SWORD by doxygen1.3-rc2