30 #include <boost/multiprecision/cpp_dec_float.hpp>
31 #include <boost/multiprecision/cpp_int.hpp>
34 using namespace boost::multiprecision;
42 numData (
const numData& n);
47 numData (
long unsigned int n);
49 numData (
unsigned int n);
50 numData (std::basic_istream<char>::pos_type n);
57 operator long unsigned int();
58 operator unsigned int();
60 inline numData operator+(numData lhs){
return lhs.num_ + this->num_; }
61 inline numData operator-(numData lhs){
return this->num_ - lhs.num_; }
62 inline numData operator-(){
return -this->num_; }
63 inline numData operator*(numData lhs){
return lhs.num_ * this->num_; }
64 inline numData operator/(numData lhs){
return this->num_ / lhs.num_; }
65 inline numData operator%(numData lhs){
66 int a = lhs.num_, b = this->num_;
69 inline numData& operator+=(
const numData& rhs){
70 this->num_ += rhs.num_;
73 inline numData& operator-=(
const numData& rhs){
74 this->num_ -= rhs.num_;
77 inline numData& operator/=(
const numData& rhs){
78 this->num_ /= rhs.num_;
81 inline numData& operator*=(
const numData& rhs){
82 this->num_ *= rhs.num_;
85 inline numData& operator%=(
const numData& rhs){
86 this->num_ *= rhs.num_;
89 inline double getNum ()
const {
return num_; }
90 inline double& getNum () {
return num_; }
100 ostream& operator<<(ostream& os,
const numData& obj);
101 istream& operator>>(istream& is, numData& obj);
103 bool operator==(
const numData& lhs,
const numData& rhs);
104 bool operator==(
const int& lhs,
const numData& rhs);
105 bool operator==(
const numData& lhs,
const int& rhs);
106 bool operator==(
const double& lhs,
const numData& rhs);
107 bool operator==(
const numData& lhs,
const double& rhs);
110 bool operator!=(
const numData& lhs,
const numData& rhs);
111 bool operator!=(
const int& lhs,
const numData& rhs);
112 bool operator!=(
const numData& lhs,
const int& rhs);
113 bool operator!=(
const double& lhs,
const numData& rhs);
114 bool operator!=(
const numData& lhs,
const double& rhs);
116 bool operator< (
const numData& lhs,
const numData& rhs);
117 bool operator< (
const int& lhs,
const numData& rhs);
118 bool operator< (
const numData& lhs,
const int& rhs);
119 bool operator< (
const double& lhs,
const numData& rhs);
120 bool operator< (
const numData& lhs,
const double& rhs);
122 bool operator> (
const numData& lhs,
const numData& rhs);
123 bool operator> (
const int& lhs,
const numData& rhs);
124 bool operator> (
const numData& lhs,
const int& rhs);
125 bool operator> (
const double& lhs,
const numData& rhs);
126 bool operator> (
const numData& lhs,
const double& rhs);
128 bool operator<=(
const numData& lhs,
const numData& rhs);
129 bool operator<=(
const int& lhs,
const numData& rhs);
130 bool operator<=(
const numData& lhs,
const int& rhs);
131 bool operator<=(
const double& lhs,
const numData& rhs);
132 bool operator<=(
const numData& lhs,
const double& rhs);
134 bool operator>=(
const numData& lhs,
const numData& rhs);
135 bool operator>=(
const int& lhs,
const numData& rhs);
136 bool operator>=(
const numData& lhs,
const int& rhs);
137 bool operator>=(
const double& lhs,
const numData& rhs);
138 bool operator>=(
const numData& lhs,
const double& rhs);
140 numData pow (numData a, numData b ) ;
145 typedef REFCTYPE refC;