Add comment explaining bj is not use when l_data_size == 0
[openjpeg.git] / src / lib / openjp2 / invert.c
index b05fabd4f82abf37c0c0bbb8248408d81f8614d0..7efaf6eca24f2e7c7680dea7a6f69a50eb5386d6 100644 (file)
@@ -1,4 +1,9 @@
 /*
+ * The copyright in this software is being made available under the 2-clauses 
+ * BSD License, included below. This software may be subject to other third 
+ * party and contributor rights, including patent rights, and no such rights
+ * are granted under this license.
+ *
  * Copyright (c) 2008, Jerome Fimes, Communications & Systemes <jerome.fimes@c-s.fr>
  * All rights reserved.
  *
@@ -29,7 +34,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 +67,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 +103,7 @@ opj_bool opj_matrix_inversion_f(OPJ_FLOAT32 * pSrcMatrix,
    Local functions
 ==========================================================
 */
-opj_bool opj_lupDecompose(OPJ_FLOAT32 * matrix,OPJ_UINT32 * permutations, 
+static OPJ_BOOL opj_lupDecompose(OPJ_FLOAT32 * matrix,OPJ_UINT32 * permutations,
                           OPJ_FLOAT32 * p_swap_area,
                           OPJ_UINT32 nb_compo) 
 {
@@ -109,7 +114,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;
@@ -120,7 +125,7 @@ opj_bool opj_lupDecompose(OPJ_FLOAT32 * matrix,OPJ_UINT32 * permutations,
        {
        *tmpPermutations++ = i;
        }
-       /* now make a pivot with colum switch */
+       /* now make a pivot with column switch */
        tmpPermutations = permutations;
        for (k = 0; k < lLastColum; ++k) {
                p = 0.0;
@@ -199,7 +204,7 @@ opj_bool opj_lupDecompose(OPJ_FLOAT32 * matrix,OPJ_UINT32 * permutations,
     return OPJ_TRUE;
 }
                
-void opj_lupSolve (OPJ_FLOAT32 * pResult, 
+static void opj_lupSolve (OPJ_FLOAT32 * pResult,
                    OPJ_FLOAT32 * pMatrix, 
                    OPJ_FLOAT32 * pVector, 
                    OPJ_UINT32* pPermutations, 
@@ -250,7 +255,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++));
                }
@@ -261,7 +266,7 @@ void opj_lupSolve (OPJ_FLOAT32 * pResult,
 }
     
 
-void opj_lupInvert (OPJ_FLOAT32 * pSrcMatrix,
+static void opj_lupInvert (OPJ_FLOAT32 * pSrcMatrix,
                     OPJ_FLOAT32 * pDestMatrix,
                     OPJ_UINT32 nb_compo,
                     OPJ_UINT32 * pPermutations,
@@ -272,7 +277,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++;