cisst-saw
Loading...
Searching...
No Matches
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
14This software is provided "as is" under an open source license, with
15no warranty. The complete license can be found in license.txt and
16http://www.cisst.org/cisst/license.txt.
17
18--- end cisst license ---
19*/
20
21#ifndef _nmrGaussJordanInverse_h
22#define _nmrGaussJordanInverse_h
23
27
30
31// Always the last file to include!
33
69
71
72template<class _elementType, bool _rowMajorIn, bool _rowMajorOut>
76 bool & nonsingular,
78 const _elementType singularityTolerance);
79
81template<class _elementType, bool _rowMajorIn, bool _rowMajorOut>
85 bool & nonsingular,
87 const _elementType singularityTolerance);
88
90template<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 ---
103template CISST_EXPORT void
106 const double);
107template CISST_EXPORT void
110 const double);
111template CISST_EXPORT void
114 const double);
115template CISST_EXPORT void
118 const double);
119// --- float 2x2 ---
120template CISST_EXPORT void
123 const float);
124template CISST_EXPORT void
127 const float);
128template CISST_EXPORT void
131 const float);
132template CISST_EXPORT void
135 const float);
136// --- double 3x3 ---
137template CISST_EXPORT void
140 const double);
141template CISST_EXPORT void
144 const double);
145template CISST_EXPORT void
148 const double);
149template CISST_EXPORT void
152 const double);
153// --- float 3x3 ---
154template CISST_EXPORT void
157 const float);
158template CISST_EXPORT void
161 const float);
162template CISST_EXPORT void
165 const float);
166template CISST_EXPORT void
169 const float);
170// --- double 4x4 ---
171template CISST_EXPORT void
174 const double);
175template CISST_EXPORT void
178 const double);
179template CISST_EXPORT void
182 const double);
183template CISST_EXPORT void
186 const double);
187// --- float 4x4 ---
188template CISST_EXPORT void
191 const float);
192template CISST_EXPORT void
195 const float);
196template CISST_EXPORT void
199 const float);
200template CISST_EXPORT void
203 const float);
204#endif // CISST_COMPILER_IS_MSVC
205#endif // DOXYGEN
206
207#endif // _nmrGaussJordanInverse_h
208
Implementation of a fixed-size matrix using template metaprogramming.
Definition vctFixedSizeMatrix.h:54
#define CISST_EXPORT
Definition cmnExportMacros.h:50
Portability across compilers and operating systems tools.
Rules of exporting.
CISST_EXPORT void nmrGaussJordanInverse4x4(vctFixedSizeMatrix< _elementType, 4, 4, _rowMajorIn > A, bool &nonsingular, vctFixedSizeMatrix< _elementType, 4, 4, _rowMajorOut > &Ainv, const _elementType singularityTolerance)
CISST_EXPORT void nmrGaussJordanInverse2x2(vctFixedSizeMatrix< _elementType, 2, 2, _rowMajorIn > A, bool &nonsingular, vctFixedSizeMatrix< _elementType, 2, 2, _rowMajorOut > &Ainv, const _elementType singularityTolerance)
CISST_EXPORT void nmrGaussJordanInverse3x3(vctFixedSizeMatrix< _elementType, 3, 3, _rowMajorIn > A, bool &nonsingular, vctFixedSizeMatrix< _elementType, 3, 3, _rowMajorOut > &Ainv, const _elementType singularityTolerance)
Forward declarations and #define for cisstVector.