IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Dec 9, 2004, 10:51:35 AM (22 years ago)
Author:
harman
Message:

Added support for psF32 types

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/math/psMatrix.h

    r1845 r2671  
    22/** @file  psMatrix.h
    33 *
    4  *  @brief Provides functions for linear algebra operations on psImages and psVectors. 
     4 *  @brief Provides functions for linear algebra operations on psImages and psVectors.
    55 *
    66 *  Functions are provided to:
     
    2222 *  @author Ross Harman, MHPCC
    2323 *
    24  *  @version $Revision: 1.12 $ $Name: not supported by cvs2svn $
    25  *  @date $Date: 2004-09-21 23:44:10 $
     24 *  @version $Revision: 1.13 $ $Name: not supported by cvs2svn $
     25 *  @date $Date: 2004-12-09 20:51:22 $
    2626 *
    2727 *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
     
    3737 *
    3838 *  Performs a LU decomposition on a psImage matrix and returns the LU matrix. If the user specifies NULL for
    39  *  the outImage or outPerm arguments, then they will be automatically created. The input image must 
    40  *  be square. This function operates only with the psF64 data type. Input and output arguments should not be 
    41  *  the same. GSL indexes the top row as the zero row, not the bottom. 
     39 *  the outImage or outPerm arguments, then they will be automatically created. The input image must
     40 *  be square. This function operates only with the psF64 data type. Input and output arguments should not be
     41 *  the same. GSL indexes the top row as the zero row, not the bottom.
    4242 *
    4343 *  @return  psImage* : Pointer to LU decomposed psImage.
     
    5151/** LU Solution of psImage matrix.
    5252 *
    53  *  Solves for and returns the psVector, {x} in the equation [A]{x} = {b}. If the user specifies NULL as the 
    54  *  outVector argument, then it will automatically be created. The input image must be square. This function 
    55  *  operates only with the psF64 data type. Input and output arguments should not be the same. GSL indexes 
    56  *  the top row as the zero row, not the bottom. 
     53 *  Solves for and returns the psVector, {x} in the equation [A]{x} = {b}. If the user specifies NULL as the
     54 *  outVector argument, then it will automatically be created. The input image must be square. This function
     55 *  operates only with the psF64 data type. Input and output arguments should not be the same. GSL indexes
     56 *  the top row as the zero row, not the bottom.
    5757 *
    5858 *  @return  psVector* : Pointer to psVector solution of matrix equation.
     
    6868 *
    6969 *  Inverts a psImage matrix and returns the determinant as an option through the argument list. If the user
    70  *  specifies NULL as the outImage argument, then it will automatically be created. The input image must be 
    71  *  square. This function operates only with the psF64 data type. Input and output arguments should not be 
    72  *  the same. GSL indexes the top row as the zero row, not the bottom. 
     70 *  specifies NULL as the outImage argument, then it will automatically be created. The input image must be
     71 *  square. This function operates only with the psF64 data type. Input and output arguments should not be
     72 *  the same. GSL indexes the top row as the zero row, not the bottom.
    7373 *
    7474 *  @return  psImage* : Pointer to inverted psImage.
     
    7777    psImage* outImage,                 ///< Image to return, or NULL for in-place substitution.
    7878    const psImage* inImage,            ///< Image to be inverted
    79     float *restrict det                ///< Determinant to return, or NULL
     79    psF32 *det                         ///< Determinant to return, or NULL
    8080);
    8181
     
    8383 *
    8484 *  Calculates the determinant of a psImage matrix and returns the single precision floating point result. The
    85  *  input image must be square. This function operates only with the psF64 data type. GSL indexes the top row 
    86  *  as the zero row, not the bottom. 
     85 *  input image must be square. This function operates only with the psF64 data type. GSL indexes the top row
     86 *  as the zero row, not the bottom.
    8787 *
    8888 *  @return  float: Determinant from psImage.
    8989 */
    90 float *psMatrixDeterminant(
    91     const psImage* restrict inMatrix   ///< Image used to calculate determinant.
     90psF32 *psMatrixDeterminant(
     91    const psImage* inMatrix        ///< Image used to calculate determinant.
    9292);
    9393
    9494/** Performs psImage matrix multiplication.
    9595 *
    96  *  Performs a classical matrix multiplication involving row and column operations. Input images must be square 
    97  *  and the same size. If the user specifies NULL as the outImage argument, then it will automatically be 
     96 *  Performs a classical matrix multiplication involving row and column operations. Input images must be square
     97 *  and the same size. If the user specifies NULL as the outImage argument, then it will automatically be
    9898 *  created. This function operates only with the psF64 data type. GSL indexes the top row as the
    99  *  zero row, not the bottom. 
     99 *  zero row, not the bottom.
    100100 *
    101101 *  @return  psImage* : Pointer to resulting psImage.
     
    109109/** Transpose matrix.
    110110 *
    111  *  Performs psImage matrix transpose by substituting existing rows for columns. The input image must be 
     111 *  Performs psImage matrix transpose by substituting existing rows for columns. The input image must be
    112112 *  square. If the user specifies NULL as the outImage argument, then it will automaticallty be created.
    113  *  This function operates only with the psF64 data type. GSL indexes the top row as the zero 
    114  *  row, not the bottom. 
     113 *  This function operates only with the psF64 data type. GSL indexes the top row as the zero
     114 *  row, not the bottom.
    115115 *
    116116 *  @return  psImage* : Pointer to transposed psImage.
     
    123123/** Calculate matrix eigenvectors.
    124124 *
    125  *  Calculates the eigenvectors for a matrix. The input image must be symmetric and square. If the user 
    126  *  specifies NULL as the outImage argument, then it will automatically be created. This function operates 
    127  *  only with the psF64 data type. GSL indexes the top row as the zero row, not the bottom. 
     125 *  Calculates the eigenvectors for a matrix. The input image must be symmetric and square. If the user
     126 *  specifies NULL as the outImage argument, then it will automatically be created. This function operates
     127 *  only with the psF64 data type. GSL indexes the top row as the zero row, not the bottom.
    128128 *
    129129 *  @return  psImage* : Pointer to matrix of Eigenvectors.
     
    152152 *  Converts a vector into a psImage matrix. If the dimensionality of the vector is PS_DIMEN_VECTOR, then the
    153153 *  resulting psImage is a 1d column. If the dimensionality of the vector is PS_DIMEN_TRANSV, then the
    154  *  resulting psImage is a 1d row. If the user specifies NULL as the outImage argument,  then it will 
    155  *  automatically be created. This function operates only with the psF64 data type. 
     154 *  resulting psImage is a 1d row. If the user specifies NULL as the outImage argument,  then it will
     155 *  automatically be created. This function operates only with the psF64 data type.
    156156 *
    157157 *  @return  psVector* : Pointer to psIamge.
Note: See TracChangeset for help on using the changeset viewer.