| namespace std { |
| namespace decimal { |
| |
| class decimal32 |
| { |
| public: |
| typedef float __dec32 __attribute__((mode(SD))); |
| decimal32 () : __val(0.e-101DF) {} |
| decimal32 (__dec32 x) : __val(x) {} |
| __dec32 __val; |
| }; |
| |
| class decimal64 |
| { |
| public: |
| typedef float __dec64 __attribute__((mode(DD))); |
| decimal64 () : __val(0.e-398dd) {} |
| decimal64 (__dec64 x) : __val(x) {} |
| __dec64 __val; |
| }; |
| |
| class decimal128 |
| { |
| public: |
| typedef float __dec128 __attribute__((mode(TD))); |
| decimal128 () : __val(0.e-6176DL) {} |
| decimal128 (__dec128 x) : __val(x) {} |
| __dec128 __val; |
| }; |
| |
| inline decimal32 operator+ (decimal32 lhs, decimal32 rhs) |
| { |
| decimal32 tmp; |
| tmp.__val = lhs.__val + rhs.__val; |
| return tmp; |
| } |
| |
| inline decimal64 operator+ (decimal64 lhs, decimal64 rhs) |
| { |
| decimal64 tmp; |
| tmp.__val = lhs.__val + rhs.__val; |
| return tmp; |
| } |
| |
| inline decimal128 operator+ (decimal128 lhs, decimal128 rhs) |
| { |
| decimal128 tmp; |
| tmp.__val = lhs.__val + rhs.__val; |
| return tmp; |
| } |
| |
| inline bool operator!= (decimal32 lhs, decimal32 rhs) |
| { |
| return lhs.__val != rhs.__val; |
| } |
| |
| inline bool operator!= (decimal64 lhs, decimal64 rhs) |
| { |
| return lhs.__val != rhs.__val; |
| } |
| |
| inline bool operator!= (decimal128 lhs, decimal128 rhs) |
| { |
| return lhs.__val != rhs.__val; |
| } |
| } |
| } |