[PATCH] numeric, ex: added constructors taking `long long`. Fixes MinGW64 build.
[ginac.git] / ginac / ex.h
index dd3cfe0530ae51f33e72db25bde99fac7760f2e2..abef5ecfb32f3a3e052a9dc54c4af5790b835271 100644 (file)
@@ -87,6 +87,8 @@ public:
        ex(unsigned int i);
        ex(long i);
        ex(unsigned long i);
+       ex(long long i);
+       ex(unsigned long long i);
        ex(double const d);
 
        /** Construct ex from string and a list of symbols. The input grammar is
@@ -236,6 +238,8 @@ private:
        static basic & construct_from_uint(unsigned int i);
        static basic & construct_from_long(long i);
        static basic & construct_from_ulong(unsigned long i);
+       static basic & construct_from_longlong(long long i);
+       static basic & construct_from_ulonglong(unsigned long long i);
        static basic & construct_from_double(double d);
        static ptr<basic> construct_from_string_and_lst(const std::string &s, const ex &l);
        void makewriteable();
@@ -290,6 +294,18 @@ ex::ex(unsigned long i) : bp(construct_from_ulong(i))
        GINAC_ASSERT(bp->flags & status_flags::dynallocated);
 }
 
+inline
+ex::ex(long long i) : bp(construct_from_longlong(i))
+{
+       GINAC_ASSERT(bp->flags & status_flags::dynallocated);
+}
+
+inline
+ex::ex(unsigned long long i) : bp(construct_from_ulonglong(i))
+{
+       GINAC_ASSERT(bp->flags & status_flags::dynallocated);
+}
+
 inline
 ex::ex(double const d) : bp(construct_from_double(d))
 {