mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-03-19 18:40:38 +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_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_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_FILTER_SOURCE_FILES = YES
|
||||
|
||||
// DOXYGEN_EXCLUDE_SYMBOLS = MatrixBase<* MapBase<* RotationBase<* Matrix<*
|
||||
|
||||
// DOXYGEN_SET_SOURCE_BROWSER = NO
|
||||
// DOXYGEN_SET_INLINE_SOURCES = NO
|
||||
// DOXYGEN_SET_STRIP_CODE_COMMENTS = YES
|
||||
|
@ -38,9 +38,7 @@ add_custom_target(
|
||||
${CMAKE_CURRENT_BINARY_DIR}/html/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Eigen_Silly_Professor_64x64.png
|
||||
${CMAKE_CURRENT_BINARY_DIR}/html/
|
||||
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/buildexamplelist.sh ${Eigen_SOURCE_DIR} > ${CMAKE_CURRENT_BINARY_DIR}/ExampleList.dox
|
||||
COMMAND doxygen
|
||||
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/cleanhierarchy.sh ${CMAKE_CURRENT_BINARY_DIR}/html/hierarchy.html
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
namespace Eigen {
|
||||
|
||||
/** \page StlContainers Using STL Containers with Eigen
|
||||
/** \page StlContainers Troubleshooting - Using STL Containers with Eigen
|
||||
|
||||
\b Table \b of \b contents
|
||||
- \ref summary
|
@ -1,6 +1,6 @@
|
||||
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.
|
||||
|
@ -1,6 +1,6 @@
|
||||
namespace Eigen {
|
||||
|
||||
/** \page StructHavingEigenMembers Structures Having Eigen Members
|
||||
/** \page StructHavingEigenMembers Troubleshooting - Structures Having Eigen Members
|
||||
|
||||
\b Table \b of \b contents
|
||||
- \ref summary
|
@ -1,6 +1,6 @@
|
||||
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:
|
||||
<pre>
|
@ -564,7 +564,9 @@ WARN_LOGFILE =
|
||||
|
||||
INPUT = "${Eigen_SOURCE_DIR}/Eigen" \
|
||||
"${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
|
||||
# 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,
|
||||
# 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
|
||||
# directories that contain example code fragments that are included (see
|
||||
|
@ -1,6 +1,6 @@
|
||||
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.
|
||||
|
@ -1,6 +1,6 @@
|
||||
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.
|
||||
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 {
|
||||
|
||||
/** \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
|
||||
- \ref WhyInteresting
|
@ -1,6 +1,6 @@
|
||||
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".
|
||||
|
@ -1,25 +1,25 @@
|
||||
FILE(GLOB snippets_SRCS "*.cpp")
|
||||
FILE(GLOB snippets_SRCS "*.cpp" "../../unsupported/snippets/*.cpp")
|
||||
|
||||
ADD_CUSTOM_TARGET(all_snippets)
|
||||
|
||||
FOREACH(snippet_src ${snippets_SRCS})
|
||||
GET_FILENAME_COMPONENT(snippet ${snippet_src} NAME_WE)
|
||||
SET(compile_snippet_target compile_${snippet})
|
||||
SET(compile_snippet_src ${compile_snippet_target}.cpp)
|
||||
FILE(READ ${snippet_src} snippet_source_code)
|
||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/compile_snippet.cpp.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
|
||||
ADD_EXECUTABLE(${compile_snippet_target}
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
|
||||
GET_TARGET_PROPERTY(compile_snippet_executable
|
||||
${compile_snippet_target} LOCATION)
|
||||
ADD_CUSTOM_COMMAND(
|
||||
TARGET ${compile_snippet_target}
|
||||
POST_BUILD
|
||||
COMMAND ${compile_snippet_executable}
|
||||
ARGS >${CMAKE_CURRENT_BINARY_DIR}/${snippet}.out
|
||||
)
|
||||
ADD_DEPENDENCIES(all_snippets ${compile_snippet_target})
|
||||
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src}
|
||||
PROPERTIES OBJECT_DEPENDS ${snippet_src})
|
||||
GET_FILENAME_COMPONENT(snippet ${snippet_src} NAME_WE)
|
||||
SET(compile_snippet_target compile_${snippet})
|
||||
SET(compile_snippet_src ${compile_snippet_target}.cpp)
|
||||
FILE(READ ${snippet_src} snippet_source_code)
|
||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/compile_snippet.cpp.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
|
||||
ADD_EXECUTABLE(${compile_snippet_target}
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src})
|
||||
GET_TARGET_PROPERTY(compile_snippet_executable
|
||||
${compile_snippet_target} LOCATION)
|
||||
ADD_CUSTOM_COMMAND(
|
||||
TARGET ${compile_snippet_target}
|
||||
POST_BUILD
|
||||
COMMAND ${compile_snippet_executable}
|
||||
ARGS >${CMAKE_CURRENT_BINARY_DIR}/${snippet}.out
|
||||
)
|
||||
ADD_DEPENDENCIES(all_snippets ${compile_snippet_target})
|
||||
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${compile_snippet_src}
|
||||
PROPERTIES OBJECT_DEPENDS ${snippet_src})
|
||||
ENDFOREACH(snippet_src)
|
||||
|
@ -22,8 +22,8 @@
|
||||
// License and a copy of the GNU General Public License along with
|
||||
// Eigen. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#ifndef EIGEN_ADLOC_FORWARD_H
|
||||
#define EIGEN_ADLOC_FORWARD_H
|
||||
#ifndef EIGEN_ADLOC_FORWARD
|
||||
#define EIGEN_ADLOC_FORWARD
|
||||
|
||||
//--------------------------------------------------------------------------------
|
||||
//
|
||||
@ -59,20 +59,29 @@
|
||||
|
||||
namespace Eigen {
|
||||
|
||||
template<> struct NumTraits<adtl::adouble>
|
||||
{
|
||||
typedef adtl::adouble Real;
|
||||
typedef adtl::adouble FloatingPoint;
|
||||
enum {
|
||||
IsComplex = 0,
|
||||
HasFloatingPoint = 1,
|
||||
ReadCost = 1,
|
||||
AddCost = 1,
|
||||
MulCost = 1
|
||||
};
|
||||
};
|
||||
namespace unsupported {
|
||||
|
||||
}
|
||||
/** \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
|
||||
// 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