#include <extreal.h>
Public Member Functions | |
ExtReal | operator+ (const ExtReal &) const |
ExtReal | operator- (const ExtReal &) const |
ExtReal | operator * (const ExtReal &) const |
ExtReal | operator- () const |
ExtReal (Real v) | |
ExtReal (const EXT_REAL_CODE &cx) | |
ExtReal () | |
Real | Value () const |
bool | IsReal () const |
EXT_REAL_CODE | Code () const |
Private Attributes | |
Real | value |
EXT_REAL_CODE | c |
|
Definition at line 28 of file extreal.h. References Finite.
|
|
Definition at line 29 of file extreal.h.
00029 { c = cx; } |
|
Definition at line 30 of file extreal.h. References Missing. Referenced by operator *(), operator+(), and operator-().
|
|
Definition at line 33 of file extreal.h. References EXT_REAL_CODE.
00033 { return c; } |
|
Definition at line 32 of file extreal.h. References Finite.
|
|
Definition at line 46 of file extreal.cpp. References c, ExtReal(), Finite, Indefinite, Missing, PlusInfinity, and value.
00047 { 00048 if (c==Finite && er.c==Finite) return ExtReal(value*er.value); 00049 if (c==Missing || er.c==Missing) return ExtReal(Missing); 00050 if (c==Indefinite || er.c==Indefinite) return ExtReal(Indefinite); 00051 if (c==Finite) 00052 { 00053 if (value==0.0) return ExtReal(Indefinite); 00054 if (value>0.0) return er; 00055 return (-er); 00056 } 00057 if (er.c==Finite) 00058 { 00059 if (er.value==0.0) return ExtReal(Indefinite); 00060 if (er.value>0.0) return *this; 00061 return -(*this); 00062 } 00063 if (c==PlusInfinity) return er; 00064 return (-er); 00065 } |
|
Definition at line 10 of file extreal.cpp. References c, ExtReal(), Finite, Indefinite, MinusInfinity, Missing, PlusInfinity, and value.
00011 { 00012 if (c==Finite && er.c==Finite) return ExtReal(value+er.value); 00013 if (c==Missing || er.c==Missing) return ExtReal(Missing); 00014 if (c==Indefinite || er.c==Indefinite) return ExtReal(Indefinite); 00015 if (c==PlusInfinity) 00016 { 00017 if (er.c==MinusInfinity) return ExtReal(Indefinite); 00018 return *this; 00019 } 00020 if (c==MinusInfinity) 00021 { 00022 if (er.c==PlusInfinity) return ExtReal(Indefinite); 00023 return *this; 00024 } 00025 return er; 00026 } |
|
Definition at line 67 of file extreal.cpp. References c, ExtReal(), Finite, Indefinite, MinusInfinity, Missing, PlusInfinity, and value.
00068 { 00069 switch (c) 00070 { 00071 case Finite: return ExtReal(-value); 00072 case PlusInfinity: return ExtReal(MinusInfinity); 00073 case MinusInfinity: return ExtReal(PlusInfinity); 00074 case Indefinite: return ExtReal(Indefinite); 00075 case Missing: return ExtReal(Missing); 00076 } 00077 return 0.0; 00078 } |
|
Definition at line 28 of file extreal.cpp. References c, ExtReal(), Finite, Indefinite, MinusInfinity, Missing, PlusInfinity, and value.
00029 { 00030 if (c==Finite && er.c==Finite) return ExtReal(value-er.value); 00031 if (c==Missing || er.c==Missing) return ExtReal(Missing); 00032 if (c==Indefinite || er.c==Indefinite) return ExtReal(Indefinite); 00033 if (c==PlusInfinity) 00034 { 00035 if (er.c==PlusInfinity) return ExtReal(Indefinite); 00036 return *this; 00037 } 00038 if (c==MinusInfinity) 00039 { 00040 if (er.c==MinusInfinity) return ExtReal(Indefinite); 00041 return *this; 00042 } 00043 return er; 00044 } |
|
Definition at line 31 of file extreal.h. References Real.
00031 { return value; } |
|
Definition at line 21 of file extreal.h. Referenced by operator *(), operator+(), and operator-(). |
|
Definition at line 20 of file extreal.h. Referenced by operator *(), operator+(), and operator-(). |