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().
|