mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-09-16 11:23:14 +08:00
* classify and sort the doxygen "related pages"
by tweaking the filename and adding 2 categories: Troubleshooting and Advanced * use the EXCLUDE_SYMBOLS to clean the class list (insteaded of a homemade bash script) * remove the broken "exemple list" * re-structure the unsupported directory as mentionned in the ML and integrate the doc as follow: - snippets of the unsupported directory are directly imported from the main snippets/CMakefile.txt (no need to duplicate code) - add a top level "Unsupported modules" group - unsupported modules have to defined their own sub group and nest it using \ingroup Unsupported_modules - then a pair of //@{ //@} will put everything in the submodule - this is just a proposal !
This commit is contained in:
parent
b0dd22cc72
commit
44a527dfa5
@ -54,7 +54,7 @@
|
|||||||
// DOXYGEN_SET_WARN_IF_UNDOCUMENTED = NO
|
// DOXYGEN_SET_WARN_IF_UNDOCUMENTED = NO
|
||||||
// DOXYGEN_SET_WARN_NO_PARAMDOC = NO
|
// DOXYGEN_SET_WARN_NO_PARAMDOC = NO
|
||||||
|
|
||||||
// DOXYGEN_SET_INPUT = @topdir@/eigen2/Eigen @topdir@/eigen2/doc @topdir@/eigen2/build/doc
|
// DOXYGEN_SET_INPUT = @topdir@/eigen2/Eigen @topdir@/eigen2/doc @topdir@/eigen2/build/doc @topdir@/eigen2/unsupported/Eigen
|
||||||
// DOXYGEN_SET_EXCLUDE = *.sh *.in
|
// DOXYGEN_SET_EXCLUDE = *.sh *.in
|
||||||
|
|
||||||
// DOXYGEN_SET_EXAMPLE_PATH = @topdir@/eigen2/doc/snippets/ @topdir@/eigen2/doc/examples/ @topdir@/eigen2/build/doc/examples/ @topdir@/eigen2/build/doc/snippets/
|
// DOXYGEN_SET_EXAMPLE_PATH = @topdir@/eigen2/doc/snippets/ @topdir@/eigen2/doc/examples/ @topdir@/eigen2/build/doc/examples/ @topdir@/eigen2/build/doc/snippets/
|
||||||
@ -63,6 +63,8 @@
|
|||||||
// DOXYGEN_SET_RECURSIVE = NO
|
// DOXYGEN_SET_RECURSIVE = NO
|
||||||
// DOXYGEN_SET_FILTER_SOURCE_FILES = YES
|
// DOXYGEN_SET_FILTER_SOURCE_FILES = YES
|
||||||
|
|
||||||
|
// DOXYGEN_EXCLUDE_SYMBOLS = MatrixBase<* MapBase<* RotationBase<* Matrix<*
|
||||||
|
|
||||||
// DOXYGEN_SET_SOURCE_BROWSER = NO
|
// DOXYGEN_SET_SOURCE_BROWSER = NO
|
||||||
// DOXYGEN_SET_INLINE_SOURCES = NO
|
// DOXYGEN_SET_INLINE_SOURCES = NO
|
||||||
// DOXYGEN_SET_STRIP_CODE_COMMENTS = YES
|
// DOXYGEN_SET_STRIP_CODE_COMMENTS = YES
|
||||||
|
@ -38,9 +38,7 @@ add_custom_target(
|
|||||||
${CMAKE_CURRENT_BINARY_DIR}/html/
|
${CMAKE_CURRENT_BINARY_DIR}/html/
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Eigen_Silly_Professor_64x64.png
|
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Eigen_Silly_Professor_64x64.png
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/html/
|
${CMAKE_CURRENT_BINARY_DIR}/html/
|
||||||
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/buildexamplelist.sh ${Eigen_SOURCE_DIR} > ${CMAKE_CURRENT_BINARY_DIR}/ExampleList.dox
|
|
||||||
COMMAND doxygen
|
COMMAND doxygen
|
||||||
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/cleanhierarchy.sh ${CMAKE_CURRENT_BINARY_DIR}/html/hierarchy.html
|
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
namespace Eigen {
|
namespace Eigen {
|
||||||
|
|
||||||
/** \page StlContainers Using STL Containers with Eigen
|
/** \page StlContainers Troubleshooting - Using STL Containers with Eigen
|
||||||
|
|
||||||
\b Table \b of \b contents
|
\b Table \b of \b contents
|
||||||
- \ref summary
|
- \ref summary
|
@ -1,6 +1,6 @@
|
|||||||
namespace Eigen {
|
namespace Eigen {
|
||||||
|
|
||||||
/** \page PassingByValue Passing Eigen objects by value to functions
|
/** \page PassingByValue Troubleshooting - Passing Eigen objects by value to functions
|
||||||
|
|
||||||
Passing objects by value is almost always a very bad idea in C++, as this means useless copies, and one should pass them by reference instead.
|
Passing objects by value is almost always a very bad idea in C++, as this means useless copies, and one should pass them by reference instead.
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
namespace Eigen {
|
namespace Eigen {
|
||||||
|
|
||||||
/** \page StructHavingEigenMembers Structures Having Eigen Members
|
/** \page StructHavingEigenMembers Troubleshooting - Structures Having Eigen Members
|
||||||
|
|
||||||
\b Table \b of \b contents
|
\b Table \b of \b contents
|
||||||
- \ref summary
|
- \ref summary
|
@ -1,6 +1,6 @@
|
|||||||
namespace Eigen {
|
namespace Eigen {
|
||||||
|
|
||||||
/** \page UnalignedArrayAssert Explanation of the assertion on unaligned arrays
|
/** \page UnalignedArrayAssert Troubleshooting - Explanation of the assertion on unaligned arrays
|
||||||
|
|
||||||
Hello! You are seeing this webpage because your program terminated on an assertion failure like this one:
|
Hello! You are seeing this webpage because your program terminated on an assertion failure like this one:
|
||||||
<pre>
|
<pre>
|
@ -564,7 +564,9 @@ WARN_LOGFILE =
|
|||||||
|
|
||||||
INPUT = "${Eigen_SOURCE_DIR}/Eigen" \
|
INPUT = "${Eigen_SOURCE_DIR}/Eigen" \
|
||||||
"${Eigen_SOURCE_DIR}/doc" \
|
"${Eigen_SOURCE_DIR}/doc" \
|
||||||
"${Eigen_BINARY_DIR}/doc"
|
"${Eigen_BINARY_DIR}/doc" \
|
||||||
|
"${Eigen_SOURCE_DIR}/unsupported/Eigen" \
|
||||||
|
"${Eigen_SOURCE_DIR}/unsupported/doc"
|
||||||
|
|
||||||
# This tag can be used to specify the character encoding of the source files
|
# This tag can be used to specify the character encoding of the source files
|
||||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
|
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
|
||||||
@ -618,7 +620,7 @@ EXCLUDE_PATTERNS = CMake* \
|
|||||||
# wildcard * is used, a substring. Examples: ANamespace, AClass,
|
# wildcard * is used, a substring. Examples: ANamespace, AClass,
|
||||||
# AClass::ANamespace, ANamespace::*Test
|
# AClass::ANamespace, ANamespace::*Test
|
||||||
|
|
||||||
EXCLUDE_SYMBOLS =
|
EXCLUDE_SYMBOLS = MatrixBase<* MapBase<* RotationBase<* Matrix<*
|
||||||
|
|
||||||
# The EXAMPLE_PATH tag can be used to specify one or more files or
|
# The EXAMPLE_PATH tag can be used to specify one or more files or
|
||||||
# directories that contain example code fragments that are included (see
|
# directories that contain example code fragments that are included (see
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
namespace Eigen {
|
namespace Eigen {
|
||||||
|
|
||||||
/** \page CustomizingEigen Customizing/Extending Eigen
|
/** \page CustomizingEigen Advanced - Customizing/Extending Eigen
|
||||||
|
|
||||||
Eigen2 can be extended in several ways, for instance, by defining global methods, \ref ExtendingMatrixBase "by adding custom methods to MatrixBase", adding support to \ref CustomScalarType "custom types" etc.
|
Eigen2 can be extended in several ways, for instance, by defining global methods, \ref ExtendingMatrixBase "by adding custom methods to MatrixBase", adding support to \ref CustomScalarType "custom types" etc.
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
namespace Eigen {
|
namespace Eigen {
|
||||||
|
|
||||||
/** \page TopicLazyEvaluation Lazy Evaluation and Aliasing
|
/** \page TopicLazyEvaluation Advanced - Lazy Evaluation and Aliasing
|
||||||
|
|
||||||
Executive summary: Eigen has intelligent compile-time mechanisms to enable lazy evaluation and removing temporaries where appropriate.
|
Executive summary: Eigen has intelligent compile-time mechanisms to enable lazy evaluation and removing temporaries where appropriate.
|
||||||
It will handle aliasing automatically in most cases, for example with matrix products. The automatic behavior can be overridden
|
It will handle aliasing automatically in most cases, for example with matrix products. The automatic behavior can be overridden
|
@ -1,6 +1,6 @@
|
|||||||
namespace Eigen {
|
namespace Eigen {
|
||||||
|
|
||||||
/** \page InsideEigenExample What happens inside Eigen, on a simple example
|
/** \page InsideEigenExample Advanced - What happens inside Eigen, on a simple example
|
||||||
|
|
||||||
\b Table \b of \b contents
|
\b Table \b of \b contents
|
||||||
- \ref WhyInteresting
|
- \ref WhyInteresting
|
@ -1,6 +1,6 @@
|
|||||||
namespace Eigen {
|
namespace Eigen {
|
||||||
|
|
||||||
/** \page FixedSizeVectorizable Fixed-size vectorizable Eigen objects
|
/** \page FixedSizeVectorizable Advanced - Fixed-size vectorizable Eigen objects
|
||||||
|
|
||||||
The goal of this page is to explain what we mean by "fixed-size vectorizable".
|
The goal of this page is to explain what we mean by "fixed-size vectorizable".
|
||||||
|
|
@ -1,25 +1,25 @@
|
|||||||
FILE(GLOB snippets_SRCS "*.cpp")
|
FILE(GLOB snippets_SRCS "*.cpp" "../../unsupported/snippets/*.cpp")
|
||||||
|
|
||||||
ADD_CUSTOM_TARGET(all_snippets)
|
ADD_CUSTOM_TARGET(all_snippets)
|
||||||
|
|
||||||
FOREACH(snippet_src ${snippets_SRCS})
|
FOREACH(snippet_src ${snippets_SRCS})
|
||||||
GET_FILENAME_COMPONENT(snippet ${snippet_src} NAME_WE)
|
GET_FILENAME_COMPONENT(snippet ${snippet_src} NAME_WE)
|
||||||
SET(compile_snippet_target compile_${snippet})
|
SET(compile_snippet_target compile_${snippet})
|
||||||
SET(compile_snippet_src ${compile_snippet_target}.cpp)
|
SET(compile_snippet_src ${compile_snippet_target}.cpp)
|
||||||
FILE(READ ${snippet_src} snippet_source_code)
|
FILE(READ ${snippet_src} snippet_source_code)
|
||||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/compile_snippet.cpp.in
|
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/compile_snippet.cpp.in
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
|
${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
|
||||||
ADD_EXECUTABLE(${compile_snippet_target}
|
ADD_EXECUTABLE(${compile_snippet_target}
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
|
${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
|
||||||
GET_TARGET_PROPERTY(compile_snippet_executable
|
GET_TARGET_PROPERTY(compile_snippet_executable
|
||||||
${compile_snippet_target} LOCATION)
|
${compile_snippet_target} LOCATION)
|
||||||
ADD_CUSTOM_COMMAND(
|
ADD_CUSTOM_COMMAND(
|
||||||
TARGET ${compile_snippet_target}
|
TARGET ${compile_snippet_target}
|
||||||
POST_BUILD
|
POST_BUILD
|
||||||
COMMAND ${compile_snippet_executable}
|
COMMAND ${compile_snippet_executable}
|
||||||
ARGS >${CMAKE_CURRENT_BINARY_DIR}/${snippet}.out
|
ARGS >${CMAKE_CURRENT_BINARY_DIR}/${snippet}.out
|
||||||
)
|
)
|
||||||
ADD_DEPENDENCIES(all_snippets ${compile_snippet_target})
|
ADD_DEPENDENCIES(all_snippets ${compile_snippet_target})
|
||||||
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src}
|
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src}
|
||||||
PROPERTIES OBJECT_DEPENDS ${snippet_src})
|
PROPERTIES OBJECT_DEPENDS ${snippet_src})
|
||||||
ENDFOREACH(snippet_src)
|
ENDFOREACH(snippet_src)
|
||||||
|
@ -22,8 +22,8 @@
|
|||||||
// License and a copy of the GNU General Public License along with
|
// License and a copy of the GNU General Public License along with
|
||||||
// Eigen. If not, see <http://www.gnu.org/licenses/>.
|
// Eigen. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#ifndef EIGEN_ADLOC_FORWARD_H
|
#ifndef EIGEN_ADLOC_FORWARD
|
||||||
#define EIGEN_ADLOC_FORWARD_H
|
#define EIGEN_ADLOC_FORWARD
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
@ -59,20 +59,29 @@
|
|||||||
|
|
||||||
namespace Eigen {
|
namespace Eigen {
|
||||||
|
|
||||||
template<> struct NumTraits<adtl::adouble>
|
namespace unsupported {
|
||||||
{
|
|
||||||
typedef adtl::adouble Real;
|
|
||||||
typedef adtl::adouble FloatingPoint;
|
|
||||||
enum {
|
|
||||||
IsComplex = 0,
|
|
||||||
HasFloatingPoint = 1,
|
|
||||||
ReadCost = 1,
|
|
||||||
AddCost = 1,
|
|
||||||
MulCost = 1
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
/** \ingroup Unsupported_modules
|
||||||
|
* \defgroup AdolcForward_Module Adolc forward module
|
||||||
|
* This module provides support for adolc's adouble type in forward mode.
|
||||||
|
* ADOL-C is a C++ automatic differentiation library,
|
||||||
|
* see http://www.math.tu-dresden.de/~adol-c/ for more information.
|
||||||
|
* It mainly consists in:
|
||||||
|
* - a struct Eigen::NumTraits<adtl::adouble> specialization
|
||||||
|
* - overloads of ei_* math function for adtl::adouble type.
|
||||||
|
*
|
||||||
|
* Note that the maximal number of directions is controlled by
|
||||||
|
* the preprocessor token NUMBER_DIRECTIONS. The default is 2.
|
||||||
|
*
|
||||||
|
* \code
|
||||||
|
* #include <unsupported/Eigen/AdolcSupport>
|
||||||
|
* \endcode
|
||||||
|
*/
|
||||||
|
//@{
|
||||||
|
|
||||||
|
} // namespace unsupported
|
||||||
|
|
||||||
|
} // namespace Eigen
|
||||||
|
|
||||||
// the Adolc's type adouble is defined in the adtl namespace
|
// the Adolc's type adouble is defined in the adtl namespace
|
||||||
// therefore, the following ei_* functions *must* be defined
|
// therefore, the following ei_* functions *must* be defined
|
||||||
@ -93,4 +102,19 @@ namespace adtl {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // EIGEN_ADLOC_FORWARD_H
|
namespace Eigen { namespace unsupported { /*@}*/ } }
|
||||||
|
|
||||||
|
template<> struct EigenNumTraits<adtl::adouble>
|
||||||
|
{
|
||||||
|
typedef adtl::adouble Real;
|
||||||
|
typedef adtl::adouble FloatingPoint;
|
||||||
|
enum {
|
||||||
|
IsComplex = 0,
|
||||||
|
HasFloatingPoint = 1,
|
||||||
|
ReadCost = 1,
|
||||||
|
AddCost = 1,
|
||||||
|
MulCost = 1
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // EIGEN_ADLOC_FORWARD
|
15
unsupported/doc/unsupported.dox
Normal file
15
unsupported/doc/unsupported.dox
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
|
||||||
|
namespace Eigen {
|
||||||
|
|
||||||
|
namespace unsupported {
|
||||||
|
|
||||||
|
/** \defgroup Unsupported_modules Unsupported modules
|
||||||
|
*
|
||||||
|
* The unsupported modules are contributions from various users. They are
|
||||||
|
* provided "as is", without any support. Nevertheless, they are subject to be
|
||||||
|
* included in Eigen in the future.
|
||||||
|
*/
|
||||||
|
|
||||||
|
} // namespace unsupported
|
||||||
|
|
||||||
|
} // namespace Eigen
|
Loading…
x
Reference in New Issue
Block a user