cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
nmrGaussJordanInverse.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* ex: set filetype=cpp softtabstop=4 shiftwidth=4 tabstop=4 cindent expandtab: */
3 
4 /*
5 
6  Author(s): Ofri Sadowsky
7  Created on: 2005-09-23
8 
9  (C) Copyright 2005-2007 Johns Hopkins University (JHU), All Rights
10  Reserved.
11 
12 --- begin cisst license - do not edit ---
13 
14 This software is provided "as is" under an open source license, with
15 no warranty. The complete license can be found in license.txt and
16 http://www.cisst.org/cisst/license.txt.
17 
18 --- end cisst license ---
19 */
20 
21 #ifndef _nmrGaussJordanInverse_h
22 #define _nmrGaussJordanInverse_h
23 
30 
31 // Always the last file to include!
33 
72 template<class _elementType, bool _rowMajorIn, bool _rowMajorOut>
76  bool & nonsingular,
78  const _elementType singularityTolerance);
79 
81 template<class _elementType, bool _rowMajorIn, bool _rowMajorOut>
85  bool & nonsingular,
87  const _elementType singularityTolerance);
88 
90 template<class _elementType, bool _rowMajorIn, bool _rowMajorOut>
94  bool & nonsingular,
96  const _elementType singularityTolerance);
98 
99 
100 #ifndef DOXYGEN
101 #ifdef CISST_COMPILER_IS_MSVC
102 // --- double 2x2 ---
103 template CISST_EXPORT void
106  const double);
107 template CISST_EXPORT void
110  const double);
111 template CISST_EXPORT void
114  const double);
115 template CISST_EXPORT void
118  const double);
119 // --- float 2x2 ---
120 template CISST_EXPORT void
123  const float);
124 template CISST_EXPORT void
127  const float);
128 template CISST_EXPORT void
131  const float);
132 template CISST_EXPORT void
135  const float);
136 // --- double 3x3 ---
137 template CISST_EXPORT void
140  const double);
141 template CISST_EXPORT void
144  const double);
145 template CISST_EXPORT void
148  const double);
149 template CISST_EXPORT void
152  const double);
153 // --- float 3x3 ---
154 template CISST_EXPORT void
157  const float);
158 template CISST_EXPORT void
161  const float);
162 template CISST_EXPORT void
165  const float);
166 template CISST_EXPORT void
169  const float);
170 // --- double 4x4 ---
171 template CISST_EXPORT void
174  const double);
175 template CISST_EXPORT void
178  const double);
179 template CISST_EXPORT void
182  const double);
183 template CISST_EXPORT void
186  const double);
187 // --- float 4x4 ---
188 template CISST_EXPORT void
191  const float);
192 template CISST_EXPORT void
195  const float);
196 template CISST_EXPORT void
199  const float);
200 template CISST_EXPORT void
203  const float);
204 #endif // CISST_COMPILER_IS_MSVC
205 #endif // DOXYGEN
206 
207 #endif // _nmrGaussJordanInverse_h
208 
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
CISST_EXPORT void nmrGaussJordanInverse3x3(vctFixedSizeMatrix< _elementType, 3, 3, _rowMajorIn > A, bool &nonsingular, vctFixedSizeMatrix< _elementType, 3, 3, _rowMajorOut > &Ainv, const _elementType singularityTolerance)
Portability across compilers and operating systems tools.
Forward declarations and #define for cisstVector.
CISST_EXPORT void nmrGaussJordanInverse2x2(vctFixedSizeMatrix< _elementType, 2, 2, _rowMajorIn > A, bool &nonsingular, vctFixedSizeMatrix< _elementType, 2, 2, _rowMajorOut > &Ainv, const _elementType singularityTolerance)
CISST_EXPORT void nmrGaussJordanInverse4x4(vctFixedSizeMatrix< _elementType, 4, 4, _rowMajorIn > A, bool &nonsingular, vctFixedSizeMatrix< _elementType, 4, 4, _rowMajorOut > &Ainv, const _elementType singularityTolerance)
Implementation of a fixed-size matrix using template metaprogramming.
Definition: vctFixedSizeMatrix.h:52
Rules of exporting.