mirror of
https://gitlab.com/libeigen/eigen.git
synced 2024-11-21 03:11:25 +08:00
more documentation and examples, add Doxyfile and Mainpage.dox and also
the benchmark program
This commit is contained in:
parent
cddeeee17d
commit
647a817b2e
281
Doxyfile
Normal file
281
Doxyfile
Normal file
@ -0,0 +1,281 @@
|
||||
# Doxyfile 1.5.3
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Project related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
DOXYFILE_ENCODING = UTF-8
|
||||
PROJECT_NAME = Eigen
|
||||
PROJECT_NUMBER = 2.0-alpha1
|
||||
OUTPUT_DIRECTORY = ./
|
||||
CREATE_SUBDIRS = NO
|
||||
OUTPUT_LANGUAGE = English
|
||||
BRIEF_MEMBER_DESC = YES
|
||||
REPEAT_BRIEF = YES
|
||||
ABBREVIATE_BRIEF = "The $name class" \
|
||||
"The $name widget" \
|
||||
"The $name file" \
|
||||
is \
|
||||
provides \
|
||||
specifies \
|
||||
contains \
|
||||
represents \
|
||||
a \
|
||||
an \
|
||||
the
|
||||
ALWAYS_DETAILED_SEC = NO
|
||||
INLINE_INHERITED_MEMB = NO
|
||||
FULL_PATH_NAMES = NO
|
||||
STRIP_FROM_PATH =
|
||||
STRIP_FROM_INC_PATH =
|
||||
SHORT_NAMES = NO
|
||||
JAVADOC_AUTOBRIEF = NO
|
||||
QT_AUTOBRIEF = NO
|
||||
MULTILINE_CPP_IS_BRIEF = NO
|
||||
DETAILS_AT_TOP = NO
|
||||
INHERIT_DOCS = YES
|
||||
SEPARATE_MEMBER_PAGES = NO
|
||||
TAB_SIZE = 8
|
||||
ALIASES =
|
||||
OPTIMIZE_OUTPUT_FOR_C = NO
|
||||
OPTIMIZE_OUTPUT_JAVA = NO
|
||||
BUILTIN_STL_SUPPORT = NO
|
||||
CPP_CLI_SUPPORT = NO
|
||||
DISTRIBUTE_GROUP_DOC = NO
|
||||
SUBGROUPING = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Build related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
EXTRACT_ALL = NO
|
||||
EXTRACT_PRIVATE = NO
|
||||
EXTRACT_STATIC = NO
|
||||
EXTRACT_LOCAL_CLASSES = NO
|
||||
EXTRACT_LOCAL_METHODS = NO
|
||||
EXTRACT_ANON_NSPACES = NO
|
||||
HIDE_UNDOC_MEMBERS = YES
|
||||
HIDE_UNDOC_CLASSES = YES
|
||||
HIDE_FRIEND_COMPOUNDS = YES
|
||||
HIDE_IN_BODY_DOCS = NO
|
||||
INTERNAL_DOCS = NO
|
||||
CASE_SENSE_NAMES = YES
|
||||
HIDE_SCOPE_NAMES = YES
|
||||
SHOW_INCLUDE_FILES = YES
|
||||
INLINE_INFO = YES
|
||||
SORT_MEMBER_DOCS = YES
|
||||
SORT_BRIEF_DOCS = NO
|
||||
SORT_BY_SCOPE_NAME = NO
|
||||
GENERATE_TODOLIST = YES
|
||||
GENERATE_TESTLIST = YES
|
||||
GENERATE_BUGLIST = YES
|
||||
GENERATE_DEPRECATEDLIST= YES
|
||||
ENABLED_SECTIONS =
|
||||
MAX_INITIALIZER_LINES = 30
|
||||
SHOW_USED_FILES = YES
|
||||
SHOW_DIRECTORIES = NO
|
||||
FILE_VERSION_FILTER =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to warning and progress messages
|
||||
#---------------------------------------------------------------------------
|
||||
QUIET = NO
|
||||
WARNINGS = YES
|
||||
WARN_IF_UNDOCUMENTED = YES
|
||||
WARN_IF_DOC_ERROR = YES
|
||||
WARN_NO_PARAMDOC = NO
|
||||
WARN_FORMAT = "$file:$line: $text"
|
||||
WARN_LOGFILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the input files
|
||||
#---------------------------------------------------------------------------
|
||||
INPUT = src/ ./
|
||||
INPUT_ENCODING = UTF-8
|
||||
FILE_PATTERNS = *.c \
|
||||
*.cc \
|
||||
*.cxx \
|
||||
*.cpp \
|
||||
*.c++ \
|
||||
*.d \
|
||||
*.java \
|
||||
*.ii \
|
||||
*.ixx \
|
||||
*.ipp \
|
||||
*.i++ \
|
||||
*.inl \
|
||||
*.h \
|
||||
*.hh \
|
||||
*.hxx \
|
||||
*.hpp \
|
||||
*.h++ \
|
||||
*.idl \
|
||||
*.odl \
|
||||
*.cs \
|
||||
*.php \
|
||||
*.php3 \
|
||||
*.inc \
|
||||
*.m \
|
||||
*.mm \
|
||||
*.dox \
|
||||
*.py \
|
||||
*.C \
|
||||
*.CC \
|
||||
*.C++ \
|
||||
*.II \
|
||||
*.I++ \
|
||||
*.H \
|
||||
*.HH \
|
||||
*.H++ \
|
||||
*.CS \
|
||||
*.PHP \
|
||||
*.PHP3 \
|
||||
*.M \
|
||||
*.MM \
|
||||
*.PY
|
||||
RECURSIVE = NO
|
||||
EXCLUDE =
|
||||
EXCLUDE_SYMLINKS = NO
|
||||
EXCLUDE_PATTERNS =
|
||||
EXCLUDE_SYMBOLS =
|
||||
EXAMPLE_PATH = doc/examples/
|
||||
EXAMPLE_PATTERNS = *
|
||||
EXAMPLE_RECURSIVE = NO
|
||||
IMAGE_PATH =
|
||||
INPUT_FILTER =
|
||||
FILTER_PATTERNS =
|
||||
FILTER_SOURCE_FILES = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to source browsing
|
||||
#---------------------------------------------------------------------------
|
||||
SOURCE_BROWSER = NO
|
||||
INLINE_SOURCES = NO
|
||||
STRIP_CODE_COMMENTS = YES
|
||||
REFERENCED_BY_RELATION = YES
|
||||
REFERENCES_RELATION = YES
|
||||
REFERENCES_LINK_SOURCE = YES
|
||||
USE_HTAGS = NO
|
||||
VERBATIM_HEADERS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the alphabetical class index
|
||||
#---------------------------------------------------------------------------
|
||||
ALPHABETICAL_INDEX = NO
|
||||
COLS_IN_ALPHA_INDEX = 5
|
||||
IGNORE_PREFIX =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the HTML output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_HTML = YES
|
||||
HTML_OUTPUT = html
|
||||
HTML_FILE_EXTENSION = .html
|
||||
HTML_HEADER =
|
||||
HTML_FOOTER =
|
||||
HTML_STYLESHEET =
|
||||
HTML_ALIGN_MEMBERS = YES
|
||||
GENERATE_HTMLHELP = NO
|
||||
HTML_DYNAMIC_SECTIONS = NO
|
||||
CHM_FILE =
|
||||
HHC_LOCATION =
|
||||
GENERATE_CHI = NO
|
||||
BINARY_TOC = NO
|
||||
TOC_EXPAND = NO
|
||||
DISABLE_INDEX = NO
|
||||
ENUM_VALUES_PER_LINE = 4
|
||||
GENERATE_TREEVIEW = NO
|
||||
TREEVIEW_WIDTH = 250
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the LaTeX output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_LATEX = YES
|
||||
LATEX_OUTPUT = latex
|
||||
LATEX_CMD_NAME = latex
|
||||
MAKEINDEX_CMD_NAME = makeindex
|
||||
COMPACT_LATEX = NO
|
||||
PAPER_TYPE = a4wide
|
||||
EXTRA_PACKAGES =
|
||||
LATEX_HEADER =
|
||||
PDF_HYPERLINKS = NO
|
||||
USE_PDFLATEX = NO
|
||||
LATEX_BATCHMODE = NO
|
||||
LATEX_HIDE_INDICES = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the RTF output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_RTF = NO
|
||||
RTF_OUTPUT = rtf
|
||||
COMPACT_RTF = NO
|
||||
RTF_HYPERLINKS = NO
|
||||
RTF_STYLESHEET_FILE =
|
||||
RTF_EXTENSIONS_FILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the man page output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_MAN = NO
|
||||
MAN_OUTPUT = man
|
||||
MAN_EXTENSION = .3
|
||||
MAN_LINKS = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the XML output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_XML = NO
|
||||
XML_OUTPUT = xml
|
||||
XML_SCHEMA =
|
||||
XML_DTD =
|
||||
XML_PROGRAMLISTING = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options for the AutoGen Definitions output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_AUTOGEN_DEF = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the Perl module output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_PERLMOD = NO
|
||||
PERLMOD_LATEX = NO
|
||||
PERLMOD_PRETTY = YES
|
||||
PERLMOD_MAKEVAR_PREFIX =
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the preprocessor
|
||||
#---------------------------------------------------------------------------
|
||||
ENABLE_PREPROCESSING = YES
|
||||
MACRO_EXPANSION = NO
|
||||
EXPAND_ONLY_PREDEF = NO
|
||||
SEARCH_INCLUDES = YES
|
||||
INCLUDE_PATH =
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
PREDEFINED =
|
||||
EXPAND_AS_DEFINED =
|
||||
SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
TAGFILES =
|
||||
GENERATE_TAGFILE =
|
||||
ALLEXTERNALS = NO
|
||||
EXTERNAL_GROUPS = YES
|
||||
PERL_PATH = /usr/bin/perl
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the dot tool
|
||||
#---------------------------------------------------------------------------
|
||||
CLASS_DIAGRAMS = YES
|
||||
MSCGEN_PATH =
|
||||
HIDE_UNDOC_RELATIONS = YES
|
||||
HAVE_DOT = YES
|
||||
CLASS_GRAPH = YES
|
||||
COLLABORATION_GRAPH = YES
|
||||
GROUP_GRAPHS = YES
|
||||
UML_LOOK = NO
|
||||
TEMPLATE_RELATIONS = NO
|
||||
INCLUDE_GRAPH = YES
|
||||
INCLUDED_BY_GRAPH = YES
|
||||
CALL_GRAPH = NO
|
||||
CALLER_GRAPH = NO
|
||||
GRAPHICAL_HIERARCHY = YES
|
||||
DIRECTORY_GRAPH = YES
|
||||
DOT_IMAGE_FORMAT = png
|
||||
DOT_PATH =
|
||||
DOTFILE_DIRS =
|
||||
DOT_GRAPH_MAX_NODES = 50
|
||||
MAX_DOT_GRAPH_DEPTH = 1000
|
||||
DOT_TRANSPARENT = NO
|
||||
DOT_MULTI_TARGETS = NO
|
||||
GENERATE_LEGEND = YES
|
||||
DOT_CLEANUP = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to the search engine
|
||||
#---------------------------------------------------------------------------
|
||||
SEARCHENGINE = NO
|
123
Mainpage.dox
Normal file
123
Mainpage.dox
Normal file
@ -0,0 +1,123 @@
|
||||
o /** @mainpage Eigen
|
||||
|
||||
<h2>Table of contents</h2>
|
||||
<a href="#overview">Overview</a><br/>
|
||||
<a href="#license">License</a><br/>
|
||||
<a href="#features">Features</a><br/>
|
||||
<a href="#news">News</a><br/>
|
||||
<a href="#download">Download</a><br/>
|
||||
<a href="#kde">Relation to KDE</a><br/>
|
||||
<a href="#examples">Examples</a><br/>
|
||||
<a href="#applications">Applications using Eigen</a><br/>
|
||||
<a href="#authors">Authors</a><br/>
|
||||
<a href="#contact">Contact us</a><br/>
|
||||
<a href="#mailinglist">Mailing list</a><br/>
|
||||
|
||||
<a name="overview"></a>
|
||||
<h2>Overview</h2>
|
||||
|
||||
Eigen is a C++ template library for vector and matrix math, a.k.a. linear algebra. It aims to concile speed, ease of use, and completeness.
|
||||
|
||||
<a name="license"></a>
|
||||
<h2>License</h2>
|
||||
|
||||
Eigen is distributed under the GPL, version 2 or later, but with an <a href="#exception">exception allowing any software to use it</a>. Thus, to the question
|
||||
"Can my own project use Eigen?", the answer is a definite <b>yes</b>.
|
||||
|
||||
Eigen's <a href="#exception">exception</a> is modeled after the one of the GNU C++ Standard Library, but is simpler and more liberal.
|
||||
|
||||
This is similar to the LGPL in spirit. The reason why we don't use the LGPL is that, as of version 2, it doesn't make sense for a pure template library like Eigen, where all the code is in headers.
|
||||
|
||||
<a name="features"></a>
|
||||
<h2>Features</h2>
|
||||
|
||||
WARNING: this alpha release is NOT feature complete -- far from it! It contains only the Core module, while several other modules are planned.
|
||||
|
||||
<ul>
|
||||
<li>Add items</li>
|
||||
<li>Add more items</li>
|
||||
</ul>
|
||||
|
||||
<a name="news"></a>
|
||||
<h2>News</h2>
|
||||
|
||||
If you want to stay informed of Eigen news and releases, please subscribe to our <a href="#mailinglist">mailing list</a>. You can also browse the <a href="http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/">archive</a>.
|
||||
|
||||
<a name="download"></a>
|
||||
<h2>Download</h2>
|
||||
The source code of the latest release is here: <a href="http://download.tuxfamily.org/eigen/eigen-2.0-alpha1.tar.gz">eigen-2.0-alpha1.tar.gz</a><br/>
|
||||
|
||||
Alternatively, you can checkout the development tree by anonymous svn, by doing:
|
||||
<pre>svn co svn://anonsvn.kde.org/home/kde/branches/work/eigen2</pre>
|
||||
or view it online at this address:
|
||||
<a href="http://websvn.kde.org/branches/work/eigen2">http://websvn.kde.org/branches/work/eigen2</a>
|
||||
|
||||
<a name="kde"></a>
|
||||
<h2>Relation to KDE</h2>
|
||||
|
||||
First of all: Eigen doesn't have any dependency. In particular, it doesn't depend on any part of KDE or on Qt.<br/>
|
||||
|
||||
Eigen is part of the KDE project, in the sense that:
|
||||
<ul>
|
||||
<li>Its <a href="http://websvn.kde.org/trunk/kdesupport/eigen/">development tree</a> is hosted in the <a href="http://websvn.kde.org">KDE repository</a>.</li>
|
||||
<li>It has been founded by, and is developed by KDE people.</li>
|
||||
<li>It has originally been designed for the needs of KDE applications, especially <a href="http://edu.kde.org/kalzium">Kalzium</a>.</li>
|
||||
</ul>
|
||||
However, we quickly realized that Eigen could be useful for non-KDE projects, whence our decision to make sure that it has no dependency on KDE or Qt.
|
||||
|
||||
Although Eigen itself doesn't have any dependency, the unit-tests require Qt.
|
||||
|
||||
<a name="examples"></a>
|
||||
<h2>Examples</h2>
|
||||
|
||||
TODO: write more examples, update this section.
|
||||
|
||||
<a name="applications"></a>
|
||||
<h2>Applications using Eigen</h2>
|
||||
|
||||
TODO: update this section
|
||||
|
||||
Please tell us if you know of other interesting projects using Eigen!
|
||||
|
||||
<a name="authors"></a>
|
||||
<h2>Authors</h2>
|
||||
|
||||
<b>Lead Developer:</b> Benoit Jacob (jacob at math jussieu fr)
|
||||
|
||||
<b>Contributors during the Eigen 2 development process:</b>
|
||||
<ul>
|
||||
<li>Michael Olbrich (michael olbrich at gmx net) : initial loop-unrolling metaprogram</li>
|
||||
<li>Christian Mayer (mail at christianmayer de) : reviewed the source code, made many useful suggestions</li>
|
||||
<li>and thanks to everyone on the <a href="#mailinglist">mailing list</a> for your input!
|
||||
</ul>
|
||||
|
||||
<a name="contact"></a>
|
||||
<h2>Contact us</h2>
|
||||
|
||||
The best way to contact us is by means of our <a href="#mailinglist">mailing list</a>.<br/>
|
||||
IRC Channel: \#eigen on Freenode.<br/>
|
||||
Website (you're here): <a href="http://eigen.tuxfamily.org">http://eigen.tuxfamily.org</a><br/>
|
||||
|
||||
<a name="mailinglist"></a>
|
||||
<h2>Mailing list</h2>
|
||||
|
||||
The Mailing list for Eigen is: eigen at lists tuxfamily org.<br/>
|
||||
|
||||
To subscribe, send a mail with subject "subscribe" to eigen-request at lists tuxfamily org.<br/>
|
||||
To unsubscribe, send a mail with subject "unsubscribe" to eigen-request at lists tuxfamily org.<br/>
|
||||
|
||||
You can also browse the <a href="http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/">archive</a>.
|
||||
|
||||
<a name="exception"></a>
|
||||
<h2>Exception to the GPL</h2>
|
||||
Eigen is licensed under the GNU GPL, version 2 or later, plus the following exception, which is replicated into each of the source files of Eigen:
|
||||
<pre>
|
||||
// As a special exception, if other files instantiate templates or use macros
|
||||
// or inline functions from this file, or you compile this file and link it
|
||||
// with other works to produce a work based on this file, this file does not
|
||||
// by itself cause the resulting work to be covered by the GNU General Public
|
||||
// License. This exception does not invalidate any other reasons why a work
|
||||
// based on this file might be covered by the GNU General Public License.
|
||||
</pre>
|
||||
|
||||
*/
|
23
doc/benchmark.cpp
Normal file
23
doc/benchmark.cpp
Normal file
@ -0,0 +1,23 @@
|
||||
// g++ -O3 -DNDEBUG benchmark.cpp -o benchmark && time ./benchmark
|
||||
|
||||
#include "src/Core.h"
|
||||
|
||||
using namespace std;
|
||||
USING_EIGEN_DATA_TYPES
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
Matrix3d I;
|
||||
Matrix3d m;
|
||||
for(int i = 0; i < 3; i++) for(int j = 0; j < 3; j++)
|
||||
{
|
||||
I(i,j) = (i==j);
|
||||
m(i,j) = (i+3*j);
|
||||
}
|
||||
for(int a = 0; a < 100000000; a++)
|
||||
{
|
||||
m = I + 0.00005 * (m + m*m);
|
||||
}
|
||||
cout << m << endl;
|
||||
return 0;
|
||||
}
|
19
doc/examples/function_dynBlock.cpp
Normal file
19
doc/examples/function_dynBlock.cpp
Normal file
@ -0,0 +1,19 @@
|
||||
#include "../src/Core.h"
|
||||
USING_EIGEN_DATA_TYPES
|
||||
using namespace std;
|
||||
int main(int, char**)
|
||||
{
|
||||
Matrix4d m = Matrix4d::identity();
|
||||
m.dynBlock(2,0,2,2) = m.dynBlock(0,0,2,2);
|
||||
cout << m << endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Output:
|
||||
|
||||
1 0 0 0
|
||||
0 1 0 0
|
||||
1 0 1 0
|
||||
0 1 0 1
|
||||
|
||||
*/
|
@ -55,6 +55,8 @@ template<typename NewScalar, typename MatrixType> class Cast : NoOperatorEquals,
|
||||
MatRef m_matrix;
|
||||
};
|
||||
|
||||
/** \returns an expression of *this with the \a Scalar type casted to
|
||||
* \a NewScalar. */
|
||||
template<typename Scalar, typename Derived>
|
||||
template<typename NewScalar>
|
||||
const Cast<NewScalar, Derived>
|
||||
|
@ -67,6 +67,8 @@ template<typename MatrixType> class Column
|
||||
const int m_col;
|
||||
};
|
||||
|
||||
/** \returns an expression of the \a i-th column of *this.
|
||||
* \sa row(int) */
|
||||
template<typename Scalar, typename Derived>
|
||||
Column<Derived>
|
||||
MatrixBase<Scalar, Derived>::col(int i) const
|
||||
|
@ -75,6 +75,16 @@ template<typename MatrixType> class DynBlock
|
||||
const int m_startRow, m_startCol, m_blockRows, m_blockCols;
|
||||
};
|
||||
|
||||
/** \returns a dynamic-size expression of a block in *this.
|
||||
*
|
||||
* \param startRow the first row in the block
|
||||
* \param startCol the first column in the block
|
||||
* \param blockRows the number of rows in the block
|
||||
* \param blockCols the number of columns in the block
|
||||
*
|
||||
* Example:
|
||||
* \include MatrixBase_dynBlock.cpp
|
||||
*/
|
||||
template<typename Scalar, typename Derived>
|
||||
DynBlock<Derived> MatrixBase<Scalar, Derived>
|
||||
::dynBlock(int startRow, int startCol, int blockRows, int blockCols) const
|
||||
|
@ -46,7 +46,7 @@
|
||||
*
|
||||
* \code
|
||||
template<typename Scalar, typename Derived>
|
||||
void printFirstRow(const Eigen::MatrixBase<Scalar, Derived>& m)
|
||||
void printFirstRow(const Eigen::MatrixBase<Scalar, Derived>& x)
|
||||
{
|
||||
cout << x.row(0) << endl;
|
||||
}
|
||||
@ -111,21 +111,11 @@ template<typename Scalar, typename Derived> class MatrixBase
|
||||
return this->operator=<Derived>(other);
|
||||
}
|
||||
|
||||
/** \returns an expression of *this with the \a Scalar type casted to
|
||||
* \a NewScalar. */
|
||||
template<typename NewScalar> const Cast<NewScalar, Derived> cast() const;
|
||||
|
||||
/** \returns an expression of the \a i-th row of *this.
|
||||
* \sa col(int)*/
|
||||
Row<Derived> row(int i) const;
|
||||
/** \returns an expression of the \a i-th column of *this.
|
||||
* \sa row(int) */
|
||||
Column<Derived> col(int i) const;
|
||||
/** \return an expression of the (\a row, \a col)-minor of *this,
|
||||
* i.e. an expression constructed from *this by removing the specified
|
||||
* row and column. */
|
||||
Minor<Derived> minor(int row, int col) const;
|
||||
|
||||
DynBlock<Derived> dynBlock(int startRow, int startCol,
|
||||
int blockRows, int blockCols) const;
|
||||
template<int BlockRows, int BlockCols>
|
||||
|
@ -73,6 +73,9 @@ template<typename MatrixType> class Minor
|
||||
const int m_row, m_col;
|
||||
};
|
||||
|
||||
/** \return an expression of the (\a row, \a col)-minor of *this,
|
||||
* i.e. an expression constructed from *this by removing the specified
|
||||
* row and column. */
|
||||
template<typename Scalar, typename Derived>
|
||||
Minor<Derived>
|
||||
MatrixBase<Scalar, Derived>::minor(int row, int col) const
|
||||
|
@ -75,6 +75,8 @@ template<typename MatrixType> class Row
|
||||
const int m_row;
|
||||
};
|
||||
|
||||
/** \returns an expression of the \a i-th row of *this.
|
||||
* \sa col(int)*/
|
||||
template<typename Scalar, typename Derived>
|
||||
Row<Derived>
|
||||
MatrixBase<Scalar, Derived>::row(int i) const
|
||||
|
Loading…
Reference in New Issue
Block a user