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