]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/include/vmfuncs.h
remove home-made 'uint', 'uchar', 'ushort', etc replace by uint32_t, uint8_t, uint16_t
[creaMaracasVisu.git] / lib / maracasVisuLib / include / vmfuncs.h
index 976cd2ce70bb74ec31cfa5b58b29cd5eadf70fd1..9abbaf6ff8606b236155ac829921823f5e17dca9 100644 (file)
@@ -29,6 +29,8 @@
 #include <memory.h>
 #include "mathdefs.h"
 
+#include <creaSystem.h>
+
 using namespace std;
 
 namespace gtm
@@ -47,14 +49,14 @@ namespace gtm
      */
     template< class T >
     inline
-    void VectorPrint( std::ostream& o, T* v, uint n, bool col )
+    void VectorPrint( std::ostream& o, T* v, uint32_t n, bool col )
     {
-       uint i;
+       uint32_t i;
        
        o << n << ": [";
        if( col ) o << endl;
        else      o << " ";
-       for( uint i = 0; i < n; i++ ) {
+       for( uint32_t i = 0; i < n; i++ ) {
            
            o << v[ i ];
            if( col ) o << endl;
@@ -72,7 +74,7 @@ namespace gtm
      */
     template< class T >
     inline
-    T* VectorAllocateMemory( uint n )
+    T* VectorAllocateMemory( uint32_t n )
     {
        T* v = new T[ n ];
 
@@ -103,7 +105,7 @@ namespace gtm
      */
     template< class T >
     inline
-    void VectorAssignMemory( T* v, T* v_o, uint n )
+    void VectorAssignMemory( T* v, T* v_o, uint32_t n )
     {
        memcpy( v, v_o, sizeof( T ) * n );
 
@@ -117,7 +119,7 @@ namespace gtm
      */
     template< class T >
     inline
-    T* VectorCopyMemory( T* v, uint n )
+    T* VectorCopyMemory( T* v, uint32_t n )
     {
        T* n_v = VectorAllocateMemory< T >( n );
        VectorAssignMemory< T >( n_v, v, n );
@@ -134,9 +136,9 @@ namespace gtm
      */
     template< class T >
     inline
-    void VectorAssignScalar( T* v, T s, uint n )
+    void VectorAssignScalar( T* v, T s, uint32_t n )
     {
-       uint i;
+       uint32_t i;
 
        for( i = 0; i < n; v[ i ] = s, i++ );
 
@@ -153,9 +155,9 @@ namespace gtm
      */
     template< class T >
     inline
-    void VectorMatrixCast( T** ma, T* v, uint n, uint m, bool col )
+    void VectorMatrixCast( T** ma, T* v, uint32_t n, uint32_t m, bool col )
     {
-       uint i;
+       uint32_t i;
 
        for( i = 0; i < ( ( col )? m: n ); i++ )
            ma[ ( col )? n: i ][ ( col )? i: m ] = v[ i ];
@@ -172,9 +174,9 @@ namespace gtm
      */
     template< class T >
     inline
-    void VectorAdd( T* v, T* v_l, T* v_r, uint n )
+    void VectorAdd( T* v, T* v_l, T* v_r, uint32_t n )
     {
-       uint i;
+       uint32_t i;
 
        for( i = 0; i < n; v[ i ] = v_l[ i ] + v_r[ i ], i++ );
 
@@ -190,9 +192,9 @@ namespace gtm
      */
     template< class T >
     inline
-    void VectorSubtract( T* v, T* v_l, T* v_r, uint n )
+    void VectorSubtract( T* v, T* v_l, T* v_r, uint32_t n )
     {
-       uint i;
+       uint32_t i;
 
        for( i = 0; i < n; v[ i ] = v_l[ i ] - v_r[ i ], i++ );
 
@@ -225,10 +227,10 @@ namespace gtm
      */
     template< class T >
     inline
-    T VectorDotProduct( T* v_l, T* v_r, uint n )
+    T VectorDotProduct( T* v_l, T* v_r, uint32_t n )
     {
        T ret;
-       uint i;
+       uint32_t i;
 
        for( i = 0, ret = ( T )0; i < n; ret = ret + ( v_l[ i ] * v_r[ i ] ), i++ );
        return( ret );
@@ -245,9 +247,9 @@ namespace gtm
      */
     template< class T >
     inline
-    void VectorScalarProduct( T* v, T* v_l, T s, uint n )
+    void VectorScalarProduct( T* v, T* v_l, T s, uint32_t n )
     {
-       uint i;
+       uint32_t i;
 
        for( i = 0; i < n; v[ i ] = v_l[ i ] * s, i++ );
 
@@ -261,7 +263,7 @@ namespace gtm
      */
     template< class T >
     inline
-    T VectorNorm( T* v, uint n )
+    T VectorNorm( T* v, uint32_t n )
     {
        return( ( T )( sqrt( ( double )( VectorDotProduct< T >( v, v, n ) ) ) ) );
 
@@ -276,9 +278,9 @@ namespace gtm
      */
     template< class T >
     inline
-    void VectorNormalize( T* v, T* v_o, uint n )
+    void VectorNormalize( T* v, T* v_o, uint32_t n )
     {
-       uint i;
+       uint32_t i;
        T norm = VectorNorm< T >( v_o, n );
 
        norm = ( norm == ( T )0 )? ( T )1: norm;
@@ -300,9 +302,9 @@ namespace gtm
      */
     template< class T >
     inline
-    void MatrixPrint( std::ostream& o, T** ma, uint n, uint m )
+    void MatrixPrint( std::ostream& o, T** ma, uint32_t n, uint32_t m )
     {
-       uint i, j;
+       uint32_t i, j;
 
        o << n << " x " << m << endl;
        for( j = 0; j < m; j++ ) {
@@ -322,9 +324,9 @@ namespace gtm
      */
     template< class T >
     inline
-    T** MatrixAllocateMemory( uint n, uint m )
+    T** MatrixAllocateMemory( uint32_t n, uint32_t m )
     {
-       uint i;
+       uint32_t i;
        T** ma = new T*[ n ];
 
        for( i = 0; i < n; i++ ) {
@@ -347,9 +349,9 @@ namespace gtm
      */
     template< class T >
     inline
-    void MatrixAssignMemory( T** ma, T** ma_o, uint n, uint m )
+    void MatrixAssignMemory( T** ma, T** ma_o, uint32_t n, uint32_t m )
     {
-       uint i;
+       uint32_t i;
 
        for( i = 0; i < n; i++ )
            memcpy( ma[ i ], ma_o[ i ], sizeof( T ) * m );
@@ -365,7 +367,7 @@ namespace gtm
      */
     template< class T >
     inline
-    T** MatrixCopyMemory( T** ma, uint n, uint m )
+    T** MatrixCopyMemory( T** ma, uint32_t n, uint32_t m )
     {
        T** n_ma = MatrixAllocateMemory< T >( n, m );
        MatrixAssignMemory< T >( n_ma, ma, n, m );
@@ -383,9 +385,9 @@ namespace gtm
      */
     template< class T >
     inline
-    void MatrixAssignScalar( T** ma, T s, uint n, uint m )
+    void MatrixAssignScalar( T** ma, T s, uint32_t n, uint32_t m )
     {
-       uint i, j;
+       uint32_t i, j;
 
        for( i = 0; i < n; i++ )
            for( j = 0; j < m; j++ )
@@ -404,9 +406,9 @@ namespace gtm
      */
     template< class T >
     inline
-    void MatrixVectorCast( T* v, T** ma, uint n, uint m, bool col )
+    void MatrixVectorCast( T* v, T** ma, uint32_t n, uint32_t m, bool col )
     {
-       uint i;
+       uint32_t i;
 
        for( i = 0; i < ( ( col )? m: n ); i++ )
            v[ i ] = ma[ ( col )? n: i ][ ( col )? i: m ];
@@ -421,9 +423,9 @@ namespace gtm
      */
     template< class T >
     inline
-    void MatrixFreeMemory( T** ma, uint n )
+    void MatrixFreeMemory( T** ma, uint32_t n )
     {
-       uint i;
+       uint32_t i;
 
        if( ma ) {
 
@@ -446,9 +448,9 @@ namespace gtm
      */
     template< class T >
     inline
-    void MatrixAdd( T** ma, T** ma_l, T** ma_r, uint n, uint m )
+    void MatrixAdd( T** ma, T** ma_l, T** ma_r, uint32_t n, uint32_t m )
     {
-       uint i, j;
+       uint32_t i, j;
 
        for( i = 0; i < n; i++ )
            for( j = 0; j < m; ma[ i ][ j ] = ma_l[ i ][ j ] + ma_r[ i ][ j ], j++ );
@@ -466,9 +468,9 @@ namespace gtm
      */
     template< class T >
     inline
-    void MatrixSubtract( T** ma, T** ma_l, T** ma_r, uint n, uint m )
+    void MatrixSubtract( T** ma, T** ma_l, T** ma_r, uint32_t n, uint32_t m )
     {
-       uint i, j;
+       uint32_t i, j;
 
        for( i = 0; i < n; i++ )
            for( j = 0; j < m; ma[ i ][ j ] = ma_l[ i ][ j ] - ma_r[ i ][ j ], j++ );
@@ -487,7 +489,7 @@ namespace gtm
      */
     template< class T >
     inline
-    void MatrixProduct( T** ma, T** ma_l, T** ma_r, uint n, uint m, uint nr )
+    void MatrixProduct( T** ma, T** ma_l, T** ma_r, uint32_t n, uint32_t m, uint32_t nr )
     {
        unsigned i, j, k;
 
@@ -512,9 +514,9 @@ namespace gtm
      */
     template< class T >
     inline
-    void MatrixScalarProduct( T** ma, T** ma_l, T s, uint n, uint m )
+    void MatrixScalarProduct( T** ma, T** ma_l, T s, uint32_t n, uint32_t m )
     {
-       uint i, j;
+       uint32_t i, j;
 
        for( i = 0; i < n; i++ )
            for( j = 0; j < m; ma[ i ][ j ] = ma_l[ i ][ j ] * s, j++ );
@@ -533,9 +535,9 @@ namespace gtm
      */
     template< class T >
     inline
-    void MatrixCofactor( T** ma, T** ma_o, uint i, uint j, uint n, uint m )
+    void MatrixCofactor( T** ma, T** ma_o, uint32_t i, uint32_t j, uint32_t n, uint32_t m )
     {
-       uint k, l;
+       uint32_t k, l;
        
        for( k = 0; k < i; k++ ) {
            
@@ -561,9 +563,9 @@ namespace gtm
      */
     template< class T >
     inline
-    T MatrixDeterminant( T** ma, uint n )
+    T MatrixDeterminant( T** ma, uint32_t n )
     {
-       uint k;
+       uint32_t k;
        T** tmp = NULL;
        T ret = ( T )0, c;
        
@@ -614,9 +616,9 @@ namespace gtm
      */
     template< class T >
     inline
-    void MatrixInverseAdjoint( T** ma, T** ma_o, uint n )
+    void MatrixInverseAdjoint( T** ma, T** ma_o, uint32_t n )
     {
-       uint i, j;
+       uint32_t i, j;
        T** tmp;
        T c;
 
@@ -649,9 +651,9 @@ namespace gtm
      */
     template< class T >
     inline
-    void MatrixInverseGauss( T** ma, T** ma_o, uint n )
+    void MatrixInverseGauss( T** ma, T** ma_o, uint32_t n )
     {
-       uint i, j, k, n2 = 2 * n;
+       uint32_t i, j, k, n2 = 2 * n;
        T** ma_a = MatrixAllocateMemory< T >( n2, n );
        T a, b;
 
@@ -699,9 +701,9 @@ namespace gtm
      */
     template< class T >
     inline
-    void MatrixTranspose( T** ma, T** ma_o, uint n, uint m )
+    void MatrixTranspose( T** ma, T** ma_o, uint32_t n, uint32_t m )
     {
-       uint i, j;
+       uint32_t i, j;
 
        for( i = 0; i < m; i++ )
            for( j = 0; j < n; ma[ i ][ j ] = ma_o[ j ][ i ], j++ );
@@ -716,9 +718,9 @@ namespace gtm
      */
     template< class T >
     inline
-    void MatrixLoadIdentity( T** ma, uint n )
+    void MatrixLoadIdentity( T** ma, uint32_t n )
     {
-       uint i, j;
+       uint32_t i, j;
 
        for( i = 0; i < n; i++ )
            for( j = 0; j < n; ma[ i ][ j ] = ( i == j )? ( T )1: ( T )0, j++ );