Fix Mac OS X compilation
[scilab.git] / scilab / modules / ast / includes / types / int.hxx
index fa45eaf..a1f1266 100644 (file)
@@ -23,6 +23,7 @@
 #include "internal.hxx"
 #include "types_transposition.hxx"
 #include "configvariable.hxx"
+#include "type_traits.hxx"
 
 #include <sstream>
 #include <string>
@@ -101,9 +102,18 @@ public :
         return true;
     }
 
-    bool neg(InternalType *& out);
+    bool neg(InternalType *& out)
+    {
+        out = new Int<T>(this->getDims(), this->getDimsArray());
+        type_traits::bin_neg<T, T>(this->m_iSize, this->m_pRealData, static_cast<Int<T> *>(out)->get());
 
-    virtual bool transpose(InternalType *& out);
+        return true;
+    }
+
+    virtual bool transpose(InternalType *& out)
+    {
+        return type_traits::transpose(*this, out);
+    }
 
     bool operator==(const InternalType& it)
     {
@@ -675,6 +685,7 @@ typedef Int<unsigned short> UInt16;
 typedef Int<unsigned int> UInt32;
 typedef Int<unsigned long long> UInt64;
 
+#ifdef _MSC_VER
 template class Int<char>;
 template class Int<unsigned char>;
 template class Int<short>;
@@ -683,6 +694,7 @@ template class Int<int>;
 template class Int<unsigned int>;
 template class Int<long long>;
 template class Int<unsigned long long>;
+#endif
 }