Home | History | Annotate | Download | only in libopenjpeg20
      1 /*
      2  * The copyright in this software is being made available under the 2-clauses
      3  * BSD License, included below. This software may be subject to other third
      4  * party and contributor rights, including patent rights, and no such rights
      5  * are granted under this license.
      6  *
      7  * Copyright (c) 2008, Jerome Fimes, Communications & Systemes <jerome.fimes (at) c-s.fr>
      8  * All rights reserved.
      9  *
     10  * Redistribution and use in source and binary forms, with or without
     11  * modification, are permitted provided that the following conditions
     12  * are met:
     13  * 1. Redistributions of source code must retain the above copyright
     14  *    notice, this list of conditions and the following disclaimer.
     15  * 2. Redistributions in binary form must reproduce the above copyright
     16  *    notice, this list of conditions and the following disclaimer in the
     17  *    documentation and/or other materials provided with the distribution.
     18  *
     19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
     20  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     22  * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
     23  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     24  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     25  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     26  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     27  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     29  * POSSIBILITY OF SUCH DAMAGE.
     30  */
     31 
     32 #ifndef __INVERT_H
     33 #define __INVERT_H
     34 /**
     35 @file invert.h
     36 @brief Implementation of the matrix inversion
     37 
     38 The function in INVERT.H compute a matrix inversion with a LUP method
     39 */
     40 
     41 /** @defgroup INVERT INVERT - Implementation of a matrix inversion */
     42 /*@{*/
     43 /** @name Exported functions */
     44 /*@{*/
     45 /* ----------------------------------------------------------------------- */
     46 
     47 /**
     48  * Calculates a n x n double matrix inversion with a LUP method. Data is aligned, rows after rows (or columns after columns).
     49  * The function does not take ownership of any memory block, data must be fred by the user.
     50  *
     51  * @param pSrcMatrix	the matrix to invert.
     52  * @param pDestMatrix	data to store the inverted matrix.
     53  * @param n size of the matrix
     54  * @return OPJ_TRUE if the inversion is successful, OPJ_FALSE if the matrix is singular.
     55  */
     56 OPJ_BOOL opj_matrix_inversion_f(OPJ_FLOAT32 * pSrcMatrix,
     57                                 OPJ_FLOAT32 * pDestMatrix,
     58                                 OPJ_UINT32 nb_compo);
     59 /* ----------------------------------------------------------------------- */
     60 /*@}*/
     61 
     62 /*@}*/
     63 
     64 #endif /* __INVERT_H */
     65