[trunk] Rework assertion to work on 32bits system
[openjpeg.git] / src / lib / openjp2 / invert.c
index b05fabd4f82abf37c0c0bbb8248408d81f8614d0..bb6672d4d2119bb8df54a8055fa06e3ed5c1dec7 100644 (file)
@@ -29,7 +29,7 @@
 /** 
  * LUP decomposition
  */
-static opj_bool opj_lupDecompose(OPJ_FLOAT32 * matrix,
+static OPJ_BOOL opj_lupDecompose(OPJ_FLOAT32 * matrix,
                                  OPJ_UINT32 * permutations, 
                                  OPJ_FLOAT32 * p_swap_area,
                                  OPJ_UINT32 nb_compo);
@@ -62,13 +62,13 @@ static void opj_lupInvert ( OPJ_FLOAT32 * pSrcMatrix,
 /**
  * Matrix inversion.
  */
-opj_bool opj_matrix_inversion_f(OPJ_FLOAT32 * pSrcMatrix,
+OPJ_BOOL opj_matrix_inversion_f(OPJ_FLOAT32 * pSrcMatrix,
                                 OPJ_FLOAT32 * pDestMatrix, 
                                 OPJ_UINT32 nb_compo)
 {
        OPJ_BYTE * l_data = 00;
-       OPJ_UINT32 l_permutation_size = nb_compo * sizeof(OPJ_UINT32);
-       OPJ_UINT32 l_swap_size = nb_compo * sizeof(OPJ_FLOAT32);
+       OPJ_UINT32 l_permutation_size = nb_compo * (OPJ_UINT32)sizeof(OPJ_UINT32);
+       OPJ_UINT32 l_swap_size = nb_compo * (OPJ_UINT32)sizeof(OPJ_FLOAT32);
        OPJ_UINT32 l_total_size = l_permutation_size + 3 * l_swap_size;
        OPJ_UINT32 * lPermutations = 00;
        OPJ_FLOAT32 * l_double_data = 00;
@@ -98,7 +98,7 @@ opj_bool opj_matrix_inversion_f(OPJ_FLOAT32 * pSrcMatrix,
    Local functions
 ==========================================================
 */
-opj_bool opj_lupDecompose(OPJ_FLOAT32 * matrix,OPJ_UINT32 * permutations, 
+OPJ_BOOL opj_lupDecompose(OPJ_FLOAT32 * matrix,OPJ_UINT32 * permutations, 
                           OPJ_FLOAT32 * p_swap_area,
                           OPJ_UINT32 nb_compo) 
 {
@@ -109,7 +109,7 @@ opj_bool opj_lupDecompose(OPJ_FLOAT32 * matrix,OPJ_UINT32 * permutations,
        OPJ_UINT32 i,j,k;
        OPJ_FLOAT32 p;
        OPJ_UINT32 lLastColum = nb_compo - 1;
-       OPJ_UINT32 lSwapSize = nb_compo * sizeof(OPJ_FLOAT32);
+       OPJ_UINT32 lSwapSize = nb_compo * (OPJ_UINT32)sizeof(OPJ_FLOAT32);
        OPJ_FLOAT32 * lTmpMatrix = matrix;
        OPJ_FLOAT32 * lColumnMatrix,* lDestMatrix;
        OPJ_UINT32 offset = 1;
@@ -250,7 +250,7 @@ void opj_lupSolve (OPJ_FLOAT32 * pResult,
                lTmpMatrix = lLineMatrix;
         u = *(lTmpMatrix++);
                lCurrentPtr = lDestPtr--;
-        for (j = k + 1; j < nb_compo; ++j) {
+        for (j = (OPJ_UINT32)(k + 1); j < nb_compo; ++j) {
                        /* sum += matrix[k][j] * x[j] */
                sum += (*(lTmpMatrix++)) * (*(lCurrentPtr++));
                }
@@ -272,7 +272,7 @@ void opj_lupInvert (OPJ_FLOAT32 * pSrcMatrix,
        OPJ_UINT32 j,i;
        OPJ_FLOAT32 * lCurrentPtr;
        OPJ_FLOAT32 * lLineMatrix = pDestMatrix;
-       OPJ_UINT32 lSwapSize = nb_compo * sizeof(OPJ_FLOAT32);
+       OPJ_UINT32 lSwapSize = nb_compo * (OPJ_UINT32)sizeof(OPJ_FLOAT32);
 
        for (j = 0; j < nb_compo; ++j) {
                lCurrentPtr = lLineMatrix++;