diff options
author | Gael Guennebaud <g.gael@free.fr> | 2009-02-04 09:44:44 +0000 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2009-02-04 09:44:44 +0000 |
commit | 44a527dfa50ce9c473cbf1f446b8b6f406d4bc91 (patch) | |
tree | a0f045d2a4c22a38e08e1b1d1ce0e17e630898c7 | |
parent | b0dd22cc7271523ba83d2bc8a85504b8445587b5 (diff) |
* 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 !
-rw-r--r-- | Mainpage.dox | 4 | ||||
-rwxr-xr-x | disabled/buildexamplelist.sh (renamed from doc/buildexamplelist.sh) | 0 | ||||
-rwxr-xr-x | disabled/cleanhierarchy.sh (renamed from doc/cleanhierarchy.sh) | 0 | ||||
-rw-r--r-- | doc/B01_Experimental.dox (renamed from doc/Experimental.dox) | 0 | ||||
-rw-r--r-- | doc/C01_QuickStartGuide.dox (renamed from doc/QuickStartGuide.dox) | 0 | ||||
-rw-r--r-- | doc/C03_TutorialGeometry.dox (renamed from doc/TutorialGeometry.dox) | 0 | ||||
-rw-r--r-- | doc/C05_TutorialLinearAlgebra.dox (renamed from doc/TutorialLinearAlgebra.dox) | 0 | ||||
-rw-r--r-- | doc/C07_TutorialSparse.dox (renamed from doc/TutorialSparse.dox) | 0 | ||||
-rw-r--r-- | doc/CMakeLists.txt | 2 | ||||
-rw-r--r-- | doc/D01_StlContainers.dox (renamed from doc/StlContainers.dox) | 2 | ||||
-rw-r--r-- | doc/D07_PassingByValue.dox (renamed from doc/PassingByValue.dox) | 2 | ||||
-rw-r--r-- | doc/D09_StructHavingEigenMembers.dox (renamed from doc/StructHavingEigenMembers.dox) | 2 | ||||
-rw-r--r-- | doc/D11_UnalignedArrayAssert.dox (renamed from doc/UnalignedArrayAssert.dox) | 2 | ||||
-rw-r--r-- | doc/Doxyfile.in | 6 | ||||
-rw-r--r-- | doc/I00_CustomizingEigen.dox (renamed from doc/CustomizingEigen.dox) | 2 | ||||
-rw-r--r-- | doc/I01_TopicLazyEvaluation.dox (renamed from doc/TopicLazyEvaluation.dox) | 2 | ||||
-rw-r--r-- | doc/I03_InsideEigenExample.dox (renamed from doc/InsideEigenExample.dox) | 2 | ||||
-rw-r--r-- | doc/I05_FixedSizeVectorizable.dox (renamed from doc/FixedSizeVectorizable.dox) | 2 | ||||
-rw-r--r-- | doc/snippets/CMakeLists.txt | 40 | ||||
-rw-r--r-- | unsupported/Eigen/AdolcForward (renamed from unsupported/AdolcSupport/AdolcForward.h) | 56 | ||||
-rw-r--r-- | unsupported/doc/unsupported.dox | 15 |
21 files changed, 90 insertions, 49 deletions
diff --git a/Mainpage.dox b/Mainpage.dox index 468045dce..b5b7f30fa 100644 --- a/Mainpage.dox +++ b/Mainpage.dox @@ -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 diff --git a/doc/buildexamplelist.sh b/disabled/buildexamplelist.sh index 7d47ae39d..7d47ae39d 100755 --- a/doc/buildexamplelist.sh +++ b/disabled/buildexamplelist.sh diff --git a/doc/cleanhierarchy.sh b/disabled/cleanhierarchy.sh index fe44891b9..fe44891b9 100755 --- a/doc/cleanhierarchy.sh +++ b/disabled/cleanhierarchy.sh diff --git a/doc/Experimental.dox b/doc/B01_Experimental.dox index 6d8b90d5a..6d8b90d5a 100644 --- a/doc/Experimental.dox +++ b/doc/B01_Experimental.dox diff --git a/doc/QuickStartGuide.dox b/doc/C01_QuickStartGuide.dox index d7bec3bb7..d7bec3bb7 100644 --- a/doc/QuickStartGuide.dox +++ b/doc/C01_QuickStartGuide.dox diff --git a/doc/TutorialGeometry.dox b/doc/C03_TutorialGeometry.dox index b3c860d53..b3c860d53 100644 --- a/doc/TutorialGeometry.dox +++ b/doc/C03_TutorialGeometry.dox diff --git a/doc/TutorialLinearAlgebra.dox b/doc/C05_TutorialLinearAlgebra.dox index 1b584e103..1b584e103 100644 --- a/doc/TutorialLinearAlgebra.dox +++ b/doc/C05_TutorialLinearAlgebra.dox diff --git a/doc/TutorialSparse.dox b/doc/C07_TutorialSparse.dox index a8bfe006e..a8bfe006e 100644 --- a/doc/TutorialSparse.dox +++ b/doc/C07_TutorialSparse.dox diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index d90fc887d..6934462e8 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -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} ) diff --git a/doc/StlContainers.dox b/doc/D01_StlContainers.dox index f51ed6fd2..9a2586023 100644 --- a/doc/StlContainers.dox +++ b/doc/D01_StlContainers.dox @@ -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 diff --git a/doc/PassingByValue.dox b/doc/D07_PassingByValue.dox index 6eaf9ccb9..d15b375a6 100644 --- a/doc/PassingByValue.dox +++ b/doc/D07_PassingByValue.dox @@ -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. diff --git a/doc/StructHavingEigenMembers.dox b/doc/D09_StructHavingEigenMembers.dox index afa197900..4ff2b23aa 100644 --- a/doc/StructHavingEigenMembers.dox +++ b/doc/D09_StructHavingEigenMembers.dox @@ -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 diff --git a/doc/UnalignedArrayAssert.dox b/doc/D11_UnalignedArrayAssert.dox index 05c784ca9..a5ad32de9 100644 --- a/doc/UnalignedArrayAssert.dox +++ b/doc/D11_UnalignedArrayAssert.dox @@ -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> diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index 873dd24bc..04fe712e9 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -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 diff --git a/doc/CustomizingEigen.dox b/doc/I00_CustomizingEigen.dox index 8f2d3aa25..e8e830d37 100644 --- a/doc/CustomizingEigen.dox +++ b/doc/I00_CustomizingEigen.dox @@ -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. diff --git a/doc/TopicLazyEvaluation.dox b/doc/I01_TopicLazyEvaluation.dox index 7df9824ba..16fe79e70 100644 --- a/doc/TopicLazyEvaluation.dox +++ b/doc/I01_TopicLazyEvaluation.dox @@ -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 diff --git a/doc/InsideEigenExample.dox b/doc/I03_InsideEigenExample.dox index 3242acf4a..d4960e79d 100644 --- a/doc/InsideEigenExample.dox +++ b/doc/I03_InsideEigenExample.dox @@ -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 diff --git a/doc/FixedSizeVectorizable.dox b/doc/I05_FixedSizeVectorizable.dox index 6793bd921..16f0c7f50 100644 --- a/doc/FixedSizeVectorizable.dox +++ b/doc/I05_FixedSizeVectorizable.dox @@ -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". diff --git a/doc/snippets/CMakeLists.txt b/doc/snippets/CMakeLists.txt index 72bd7770a..195ed9e99 100644 --- a/doc/snippets/CMakeLists.txt +++ b/doc/snippets/CMakeLists.txt @@ -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) diff --git a/unsupported/AdolcSupport/AdolcForward.h b/unsupported/Eigen/AdolcForward index 0a55311a8..1845cb917 100644 --- a/unsupported/AdolcSupport/AdolcForward.h +++ b/unsupported/Eigen/AdolcForward @@ -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 diff --git a/unsupported/doc/unsupported.dox b/unsupported/doc/unsupported.dox new file mode 100644 index 000000000..abef263ad --- /dev/null +++ b/unsupported/doc/unsupported.dox @@ -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
\ No newline at end of file |