* 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…
	
		Reference in New Issue
	
	Block a user
	 Gael Guennebaud
						Gael Guennebaud