My eyes, they burn! Also runs faster, slightly less buggy.
[ipdf/code.git] / src / gmprat.h
index 3e275d2..b92d5af 100644 (file)
@@ -33,7 +33,7 @@ class Gmprat
                                return "-" + operator-().Str();
                        }
                        double p = Log10();
-                       if (isinf(p))
+                       if (std::isinf(p))
                                return "0";
                                
                        int P = (int)p;
@@ -103,6 +103,10 @@ class Gmprat
                
                Gmprat Abs() const {Gmprat a(*this); mpq_abs(a.m_op, a.m_op); return a;}
                
+               size_t Size() const
+               {
+                       return sizeof(uint64_t) * (mpq_numref(m_op)->_mp_alloc + mpq_denref(m_op)->_mp_alloc);
+               }
                
        private:
                friend std::ostream& operator<<(std::ostream& os, const Gmprat & fith);
@@ -115,7 +119,10 @@ inline std::ostream & operator<<(std::ostream & os, const Gmprat & fith)
        return os;
 }
 
-
+inline std::string Str(const Gmprat & g) {return g.Str();}
+inline double Log10(const Gmprat & g) {return g.Log10();}
+inline size_t Size(const Gmprat & g) {return g.Size();}
+inline Gmprat Abs(const Gmprat & g) {return g.Abs();}
 
 
 #endif //_GMPRAT_H

UCC git Repository :: git.ucc.asn.au