Go to the source code of this file.
Defines | |
| #define | MC_Number_Verify(cast, ZERO) |
| #define | MC_Number_Operators1(Number, cast) |
| #define | MC_Number_Operators2(Number, cast, number) |
Functions | |
| void | verify () |
| MathState | verify (cast n) |
| MathState | getState (const char *s) |
| BOOL | isEqualTo (const Number &l, const Number &r) |
| BOOL | isLessThan (const Number &l, const Number &r) |
| BOOL | isBiggerThan (const Number &l, const Number &r) |
| BOOL | operator== (const Number &l, const Number &r) |
| BOOL | operator!= (const Number &l, const Number &r) |
| BOOL | operator< (const Number &l, const Number &r) |
| BOOL | operator<= (const Number &l, const Number &r) |
| BOOL | operator> (const Number &l, const Number &r) |
| BOOL | operator>= (const Number &l, const Number &r) |
| Number | add (const Number &l, const Number &r) |
| Number | sub (const Number &l, const Number &r) |
| Number | mult (const Number &l, const Number &r) |
| Number | div (const Number &l, const Number &r) |
| Number | operator+ (const Number &l, const Number &r) |
| Number | operator- (const Number &l, const Number &r) |
| Number | operator * (const Number &l, const Number &r) |
| Number | operator/ (const Number &l, const Number &r) |
| const Number & | operator= (const Number &N) |
| Number | operator! () |
| Number | operator- () |
| Number | operator-- () |
| Number | operator-- (int) |
| Number | operator++ () |
| Number | operator++ (int) |
| BOOL | isEqualTo (const Number &l, const number &n) |
| BOOL | isLessThan (const Number &l, const number &n) |
| BOOL | isBiggerThan (const Number &l, const number &n) |
| BOOL | operator== (const Number &l, const number n) |
| BOOL | operator!= (const Number &l, const number n) |
| BOOL | operator< (const Number &l, const number n) |
| BOOL | operator<= (const Number &l, const number n) |
| BOOL | operator> (const Number &l, const number n) |
| BOOL | operator>= (const Number &l, const number n) |
| BOOL | operator== (const number n, const Number &r) |
| BOOL | operator!= (const number n, const Number &r) |
| BOOL | operator< (const number n, const Number &r) |
| BOOL | operator<= (const number n, const Number &r) |
| BOOL | operator> (const number n, const Number &r) |
| BOOL | operator>= (const number n, const Number &r) |
| Number | add (const Number &l, const number n) |
| Number | sub (const Number &l, const number n) |
| Number | sub (const number n, const Number &r) |
| Number | mult (const Number &l, const number n) |
| Number | div (const Number &l, const number n) |
| Number | div (const number n, const Number &r) |
| Number | operator+ (number n, const Number &r) |
| Number | operator- (number n, const Number &r) |
| Number | operator * (number n, const Number &r) |
| Number | operator/ (number n, const Number &r) |
| Number | operator+ (const Number &l, const number n) |
| Number | operator- (const Number &l, const number n) |
| Number | operator * (const Number &l, const number n) |
| Number | operator/ (const Number &l, const number n) |
| const Number & | operator= (number n) |
| operator number () const | |
|
|
Definition at line 66 of file MCNumber.hpp. |
|
|
Definition at line 186 of file MCNumber.hpp. |
|
|
Definition at line 14 of file MCNumber.hpp. |
|
||||||||||||
|
Definition at line 258 of file MCNumber.hpp. |
|
||||||||||||
|
Definition at line 111 of file MCNumber.hpp. |
|
||||||||||||
|
Definition at line 289 of file MCNumber.hpp. |
|
||||||||||||
|
Definition at line 282 of file MCNumber.hpp. |
|
||||||||||||
|
Definition at line 126 of file MCNumber.hpp. |
|
|
Definition at line 28 of file MCNumber.hpp. 00028 {
00029 if ( s == NULL ) return Zero;
00030 if ( strlen(s) < 2 ) return Valid;
00031
00032 char* sUp = strupr( strdup( s ) );
00033
00034 char* sPosInf = "POSITIVE INFINITE POSINFINITE +INFINITE";
00035 char* sNegInf = "NEGATIVE INFINITE NEGINFINITE -INFINITE";
00036 char* sNaN = "NAN";
00037 char* sFPError = "FPERROR FLOATING-POINT ERROR FLOAT ERROR";
00038
00039 char* f1 = strstr( sPosInf, sUp );
00040 char* f2 = strstr( sNegInf, sUp );
00041 char* f3 = strstr( sNaN, sUp );
00042 char* f4 = strstr( sFPError, sUp );
00043
00044 long n1 = (long)( f1 - sUp );
00045 long n2 = (long)( f2 - sUp );
00046 long n3 = (long)( f3 - sUp );
00047 long n4 = (long)( f4 - sUp );
00048
00049 #ifdef __J2K__DEBUG
00050 printf("Up=[%s](%d)\n", sUp, strlen(sUp) );
00051 printf("f1=[%s](%d)\n", f1, n1 );
00052 printf("f2=[%s](%d)\n", f2, n2 );
00053 printf("f3=[%s](%d)\n", f3, n3 );
00054 printf("f4=[%s](%d)\n", f4, n4 );
00055 #endif
00056
00057 if ( n1 > 0 ) return PosInf;
00058 if ( n2 > 0 ) return NegInf;
00059 if ( n3 > 0 ) return NaN;
00060 if ( n4 > 0 ) return FPError;
00061
00062 return Valid;
00063 }
|
|
||||||||||||
|
Definition at line 202 of file MCNumber.hpp. 00202 {
00203 cast v = (cast)n;
00204 int temp = MathStateBiggerThan[ (int)l.state ][ (int)verify(v) ];
00205 if ( temp < 2 ) return (BOOL)temp;
00206 return (l.value > v );
00207 }
|
|
||||||||||||
|
Definition at line 80 of file MCNumber.hpp. |
|
||||||||||||
|
Definition at line 188 of file MCNumber.hpp. 00188 {
00189 cast v = (cast)n;
00190 int temp = MathStateEqualTo[ (int)l.state ][ (int)verify(v) ];
00191 if ( temp < 2 ) return (BOOL)temp;
00192 return ( l.value == v );
00193 }
|
|
||||||||||||
|
Definition at line 68 of file MCNumber.hpp. |
|
||||||||||||
|
Definition at line 195 of file MCNumber.hpp. 00195 {
00196 cast v = (cast)n;
00197 int temp = MathStateLessThan[ (int)l.state ][ (int)verify(v) ];
00198 if ( temp < 2 ) return (BOOL)temp;
00199 return ( l.value < v );
00200 }
|
|
||||||||||||
|
Definition at line 74 of file MCNumber.hpp. |
|
||||||||||||
|
Definition at line 276 of file MCNumber.hpp. |
|
||||||||||||
|
Definition at line 121 of file MCNumber.hpp. |
|
||||||||||||
|
Definition at line 321 of file MCNumber.hpp. 00321 {
00322 return mult( l, n );
00323 }
|
|
||||||||||||
|
Definition at line 304 of file MCNumber.hpp. |
|
||||||||||||
|
Definition at line 140 of file MCNumber.hpp. |
|
|
Definition at line 336 of file MCNumber.hpp. 00336 { return (number)value; }
|
|
|
Definition at line 155 of file MCNumber.hpp. 00155 {
00156 return Number( !value, status );
00157 }
|
|
||||||||||||
|
Definition at line 237 of file MCNumber.hpp. |
|
||||||||||||
|
Definition at line 213 of file MCNumber.hpp. 00213 {
00214 return !isEqualTo( l, n );
00215 }
|
|
||||||||||||
|
Definition at line 90 of file MCNumber.hpp. |
|
||||||||||||
|
Definition at line 313 of file MCNumber.hpp. 00313 {
00314 return add( l, n );
00315 }
|
|
||||||||||||
|
Definition at line 296 of file MCNumber.hpp. |
|
||||||||||||
|
Definition at line 132 of file MCNumber.hpp. |
|
|
Definition at line 180 of file MCNumber.hpp. 00180 {
00181 value++;
00182 return *this;
00183 }
|
|
|
Definition at line 175 of file MCNumber.hpp. 00175 {
00176 ++value;
00177 return *this;
00178 }
|
|
||||||||||||
|
Definition at line 317 of file MCNumber.hpp. 00317 {
00318 return sub( l, n );
00319 }
|
|
||||||||||||
|
Definition at line 300 of file MCNumber.hpp. |
|
|
Definition at line 159 of file MCNumber.hpp. 00159 {
00160 if ( (int)status < 4 ) return Number( (-1) * value, Valid );
00161 return Number( (-1) * value, status );
00162 }
|
|
||||||||||||
|
Definition at line 136 of file MCNumber.hpp. |
|
|
Definition at line 170 of file MCNumber.hpp. 00170 {
00171 value--;
00172 return *this;
00173 }
|
|
|
Definition at line 165 of file MCNumber.hpp. 00165 {
00166 --value;
00167 return *this;
00168 }
|
|
||||||||||||
|
Definition at line 325 of file MCNumber.hpp. 00325 {
00326 return div( l, n );
00327 }
|
|
||||||||||||
|
Definition at line 308 of file MCNumber.hpp. |
|
||||||||||||
|
Definition at line 144 of file MCNumber.hpp. |
|
||||||||||||
|
Definition at line 241 of file MCNumber.hpp. 00241 {
00242 return isBiggerThan( r, n );
00243 }
|
|
||||||||||||
|
Definition at line 217 of file MCNumber.hpp. 00217 {
00218 return isLessThan( l, n );
00219 }
|
|
||||||||||||
|
Definition at line 94 of file MCNumber.hpp. 00094 {
00095 return isLessThan( l, r );
00096 }
|
|
||||||||||||
|
Definition at line 245 of file MCNumber.hpp. 00245 {
00246 return ( isBiggerThan( r, n ) || isEqualTo( r, n ) );
00247 }
|
|
||||||||||||
|
Definition at line 221 of file MCNumber.hpp. 00221 {
00222 return ( isLessThan( l, n ) || isEqualTo( l, n ) );
00223 }
|
|
||||||||||||
|
Definition at line 98 of file MCNumber.hpp. 00098 {
00099 return ( isLessThan( l, r ) || isEqualTo( l, r ) );
00100 }
|
|
|
Definition at line 330 of file MCNumber.hpp. 00330 {
00331 value = (cast)n;
00332 status = verify( value );
00333 return *this;
00334 }
|
|
|
Definition at line 149 of file MCNumber.hpp. 00149 {
00150 value = N.value;
00151 status = N.status;
00152 return *this;
00153 }
|
|
||||||||||||
|
Definition at line 233 of file MCNumber.hpp. |
|
||||||||||||
|
Definition at line 209 of file MCNumber.hpp. 00209 {
00210 return isEqualTo( l, n );
00211 }
|
|
||||||||||||
|
Definition at line 86 of file MCNumber.hpp. |
|
||||||||||||
|
Definition at line 249 of file MCNumber.hpp. 00249 {
00250 return isLessThan( r, n );
00251 }
|
|
||||||||||||
|
Definition at line 225 of file MCNumber.hpp. 00225 {
00226 return isBiggerThan( l, n );
00227 }
|
|
||||||||||||
|
Definition at line 102 of file MCNumber.hpp. 00102 {
00103 return isBiggerThan( l, r );
00104 }
|
|
||||||||||||
|
Definition at line 253 of file MCNumber.hpp. 00253 {
00254 return ( isLessThan( r, n ) || isEqualTo( r, n ) );
00255 }
|
|
||||||||||||
|
Definition at line 229 of file MCNumber.hpp. 00229 {
00230 return ( isBiggerThan( l, n ) || isEqualTo( l, n ) );
00231 }
|
|
||||||||||||
|
Definition at line 106 of file MCNumber.hpp. 00106 {
00107 return ( isBiggerThan( l, r ) || isEqualTo( l, r ) );
00108 }
|
|
||||||||||||
|
Definition at line 270 of file MCNumber.hpp. |
|
||||||||||||
|
Definition at line 264 of file MCNumber.hpp. |
|
||||||||||||
|
Definition at line 116 of file MCNumber.hpp. |
|
|
Definition at line 22 of file MCNumber.hpp. |
|
|
Definition at line 15 of file MCNumber.hpp. Referenced by Double::Double(), Float::Float(), Integer::Integer(), JCounter::JCounter::add(), JCounter::JCounter::divideBy(), JCounter::JCounter::multiply(), JCounter::JCounter::operator *(), JCounter::JCounter::operator+(), JCounter::JCounter::operator-(), JCounter::JCounter::operator/(), JCounter::JCounter::substract(), add(), div(), isBiggerThan(), isEqualTo(), isLessThan(), mult(), JCounter::operator+=(), JCounter::operator-=(), operator=(), JCounter::set(), and sub().
|
1.2.11.1 written by Dimitri van Heesch,
© 1997-2001