aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2009-02-04 09:44:44 +0000
committerGravatar Gael Guennebaud <g.gael@free.fr>2009-02-04 09:44:44 +0000
commit44a527dfa50ce9c473cbf1f446b8b6f406d4bc91 (patch)
treea0f045d2a4c22a38e08e1b1d1ce0e17e630898c7
parentb0dd22cc7271523ba83d2bc8a85504b8445587b5 (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.dox4
-rwxr-xr-xdisabled/buildexamplelist.sh (renamed from doc/buildexamplelist.sh)0
-rwxr-xr-xdisabled/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.txt2
-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.in6
-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.txt40
-rw-r--r--unsupported/Eigen/AdolcForward (renamed from unsupported/AdolcSupport/AdolcForward.h)56
-rw-r--r--unsupported/doc/unsupported.dox15
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