# Doxyfile 1.13.0
PROJECT_NAME           = ${EIGEN_DOXY_PROJECT_NAME}
PROJECT_NUMBER         = ${EIGEN_VERSION}
PROJECT_LOGO           = ${Eigen_SOURCE_DIR}/doc/Eigen_Silly_Professor_64x64.png
OUTPUT_DIRECTORY       = ${Eigen_BINARY_DIR}/doc${EIGEN_DOXY_OUTPUT_DIRECTORY_SUFFIX}
FULL_PATH_NAMES        = YES
STRIP_FROM_INC_PATH    = ${Eigen_SOURCE_DIR}/
TAB_SIZE               = 8
ALIASES                = "only_for_vectors=This is only for vectors (either row-vectors or column-vectors), i.e. matrices which are known at compile-time to have either one row or one column." \
                         "not_reentrant=\warning This function is not re-entrant." \
                         "array_module=This is defined in the %Array module. \code #include <Eigen/Array> \endcode" \
                         "cholesky_module=This is defined in the %Cholesky module. \code #include <Eigen/Cholesky> \endcode" \
                         "eigenvalues_module=This is defined in the %Eigenvalues module. \code #include <Eigen/Eigenvalues> \endcode" \
                         "geometry_module=This is defined in the %Geometry module. \code #include <Eigen/Geometry> \endcode" \
                         "householder_module=This is defined in the %Householder module. \code #include <Eigen/Householder> \endcode" \
                         "jacobi_module=This is defined in the %Jacobi module. \code #include <Eigen/Jacobi> \endcode" \
                         "lu_module=This is defined in the %LU module. \code #include <Eigen/LU> \endcode" \
                         "qr_module=This is defined in the %QR module. \code #include <Eigen/QR> \endcode" \
                         "svd_module=This is defined in the %SVD module. \code #include <Eigen/SVD> \endcode" \
                         "specialfunctions_module=This is defined in the \b unsupported SpecialFunctions module. \code #include <Eigen/SpecialFunctions> \endcode" \
                         label=\bug \
                         "matrixworld=<a href='#matrixonly' style='color:green;text-decoration: none;'>*</a>" \
                         "arrayworld=<a href='#arrayonly' style='color:blue;text-decoration: none;'>*</a>" \
                         "note_about_arbitrary_choice_of_solution=If there exists more than one solution, this method will arbitrarily choose one." \
                         "note_about_using_kernel_to_study_multiple_solutions=If you need a complete analysis of the space of solutions, take the one solution obtained by this method and add to it elements of the kernel, as determined by kernel()." \
                         "note_about_checking_solutions=This method just tries to find as good a solution as possible. If you want to check whether a solution exists or if it is accurate, just call this function to get a result and then compute the error of this result, or use MatrixBase::isApprox() directly, for instance like this: \code bool a_solution_exists = (A*result).isApprox(b, precision); \endcode This method avoids dividing by zero, so that the non-existence of a solution doesn't by itself mean that you'll get \c inf or \c nan values." \
                         "note_try_to_help_rvo=This function returns the result by value. In order to make that efficient, it is implemented as just a return statement using a special constructor, hopefully allowing the compiler to perform a RVO (return value optimization)." \
                         "nonstableyet=\warning This is not considered to be part of the stable public API yet. Changes may happen in future releases. See \ref Experimental \"Experimental parts of Eigen\"" \
                         "implsparsesolverconcept=This class follows the \link TutorialSparseSolverConcept sparse solver concept \endlink." \
                         blank= \
                         "cpp11=<span class='cpp11'>[c++11]</span>" \
                         "cpp14=<span class='cpp14'>[c++14]</span>" \
                         "cpp17=<span class='cpp17'>[c++17]</span>" \
                         "newin{1}=<span class='newin3x'>New in %Eigen \1.</span>" \
                         eigenAutoToc= \
                         eigenManualPage=\defgroup
EXTENSION_MAPPING      = .h=C++ \
                         no_extension=C++
DISTRIBUTE_GROUP_DOC   = YES
NUM_PROC_THREADS       = 0
EXTRACT_ALL            = NO
EXTRACT_PRIVATE        = NO
EXTRACT_PRIV_VIRTUAL   = NO
EXTRACT_PACKAGE        = NO
EXTRACT_STATIC         = YES
EXTRACT_LOCAL_CLASSES  = NO
EXTRACT_LOCAL_METHODS  = NO
EXTRACT_ANON_NSPACES   = NO
HIDE_UNDOC_MEMBERS     = YES
HIDE_UNDOC_CLASSES     = YES
HIDE_FRIEND_COMPOUNDS  = YES
CASE_SENSE_NAMES       = YES
SORT_BRIEF_DOCS        = YES
GENERATE_TESTLIST      = NO
MAX_INITIALIZER_LINES  = 0
SHOW_NAMESPACES        = NO
LAYOUT_FILE            = ${Eigen_BINARY_DIR}/doc${EIGEN_DOXY_OUTPUT_DIRECTORY_SUFFIX}/eigendoxy_layout.xml
WARN_IF_UNDOCUMENTED   = NO
INPUT                  = ${EIGEN_DOXY_INPUT}
FILE_PATTERNS          = *
RECURSIVE              = YES
EXCLUDE                = ${Eigen_SOURCE_DIR}/Eigen/Eigen2Support \
                         ${Eigen_SOURCE_DIR}/Eigen/src/Eigen2Support \
                         ${Eigen_SOURCE_DIR}/doc/examples \
                         ${Eigen_SOURCE_DIR}/doc/special_examples \
                         ${Eigen_SOURCE_DIR}/doc/snippets \
                         ${Eigen_SOURCE_DIR}/unsupported/doc/examples \
                         ${Eigen_SOURCE_DIR}/unsupported/doc/snippets

#                        ${Eigen_SOURCE_DIR}/Eigen/src/Core/products \
#                        ${Eigen_SOURCE_DIR}/Eigen/src/Core/util/ForwardDeclarations.h \

EXCLUDE_PATTERNS       = CMake* \
                         *.txt \
                         *.sh \
                         *.orig \
                         *.diff \
                         diff \
                         *~ \
                         *. \
                         *.sln \
                         *.sdf \
                         *.tmp \
                         *.vcxproj \
                         *.filters \
                         *.user \
                         *.suo
# The following are pseudo template bases, and not real classes.
# https://github.com/doxygen/doxygen/issues/11289
EXCLUDE_SYMBOLS        = Kernel \
                         BinaryOp
EXAMPLE_PATH           = ${Eigen_SOURCE_DIR}/doc/snippets \
                         ${Eigen_BINARY_DIR}/doc/snippets \
                         ${Eigen_SOURCE_DIR}/doc/examples \
                         ${Eigen_BINARY_DIR}/doc/examples \
                         ${Eigen_SOURCE_DIR}/doc/special_examples \
                         ${Eigen_BINARY_DIR}/doc/special_examples \
                         ${Eigen_SOURCE_DIR}/unsupported/doc/snippets \
                         ${Eigen_BINARY_DIR}/unsupported/doc/snippets \
                         ${Eigen_SOURCE_DIR}/unsupported/doc/examples \
                         ${Eigen_BINARY_DIR}/unsupported/doc/examples
IMAGE_PATH             = ${Eigen_BINARY_DIR}/doc/html
# Prevent README.md from being considered a directory description (i.e. for Tensor).
IMPLICIT_DIR_DOCS      = NO
ALPHABETICAL_INDEX     = NO
HTML_OUTPUT            = ${Eigen_BINARY_DIR}/doc/html${EIGEN_DOXY_OUTPUT_DIRECTORY_SUFFIX}
HTML_HEADER            = ${Eigen_BINARY_DIR}/doc/eigendoxy_header.html
HTML_FOOTER            = ${Eigen_BINARY_DIR}/doc/eigendoxy_footer.html
HTML_EXTRA_FILES       = ${Eigen_SOURCE_DIR}/doc/eigendoxy.css
HTML_COLORSTYLE_HUE    = ${EIGEN_DOXY_HTML_COLORSTYLE_HUE}
HTML_DYNAMIC_SECTIONS  = YES
DISABLE_INDEX          = YES
FULL_SIDEBAR           = NO
ENUM_VALUES_PER_LINE   = 1
USE_MATHJAX            = @EIGEN_DOXY_USE_MATHJAX@
MATHJAX_RELPATH        = https://cdn.jsdelivr.net/npm/mathjax@2
MATHJAX_EXTENSIONS     = TeX/AMSmath \
                         TeX/AMSsymbols
GENERATE_LATEX         = NO
EXTRA_PACKAGES         = amssymb \
                         amsmath
MACRO_EXPANSION        = YES
EXPAND_ONLY_PREDEF     = YES
PREDEFINED             = EIGEN_EMPTY_STRUCT \
                         EIGEN_PARSED_BY_DOXYGEN \
                         EIGEN_VECTORIZE \
                         EIGEN_QT_SUPPORT \
                         EIGEN_STRONG_INLINE=inline \
                         EIGEN_DEVICE_FUNC= \
                         "EIGEN_MAKE_CWISE_BINARY_OP(METHOD,FUNCTOR)=template<typename OtherDerived> const CwiseBinaryOp<FUNCTOR<Scalar>, const Derived, const OtherDerived> METHOD(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other) const;" \
                         "EIGEN_CWISE_PRODUCT_RETURN_TYPE(LHS,RHS)=CwiseBinaryOp<internal::scalar_product_op<LHS::Scalar,RHS::Scalar>, const LHS, const RHS>" \
                         "EIGEN_CAT2(a,b)= a ## b" \
                         "EIGEN_CAT(a,b)=EIGEN_CAT2(a,b)" \
                         "EIGEN_CWISE_BINARY_RETURN_TYPE(LHS,RHS,OPNAME)=CwiseBinaryOp<EIGEN_CAT(EIGEN_CAT(internal::scalar_,OPNAME),_op)<LHS::Scalar, RHS::Scalar>, const LHS, const RHS>" \
                         EIGEN_ALIGN_TO_BOUNDARY(x)= \
                         "DOXCOMMA=," \
                         "EIGEN_STATIC_ASSERT(COND,MSG)="
EXPAND_AS_DEFINED      = EIGEN_MAKE_TYPEDEFS \
                         EIGEN_MAKE_FIXED_TYPEDEFS \
                         EIGEN_MAKE_TYPEDEFS_ALL_SIZES \
                         EIGEN_MAKE_ARRAY_TYPEDEFS \
                         EIGEN_MAKE_ARRAY_FIXED_TYPEDEFS \
                         EIGEN_MAKE_ARRAY_TYPEDEFS_ALL_SIZES \
                         EIGEN_CWISE_UNOP_RETURN_TYPE \
                         EIGEN_CWISE_BINOP_RETURN_TYPE \
                         EIGEN_CURRENT_STORAGE_BASE_CLASS \
                         EIGEN_MATHFUNC_IMPL \
                         _EIGEN_GENERIC_PUBLIC_INTERFACE \
                         EIGEN_ARRAY_DECLARE_GLOBAL_UNARY \
                         EIGEN_EMPTY \
                         EIGEN_EULER_ANGLES_TYPEDEFS \
                         EIGEN_EULER_ANGLES_SINGLE_TYPEDEF \
                         EIGEN_EULER_SYSTEM_TYPEDEF \
                         EIGEN_AUTODIFF_DECLARE_GLOBAL_UNARY \
                         EIGEN_MATRIX_FUNCTION \
                         EIGEN_MATRIX_FUNCTION_1 \
                         EIGEN_DOC_UNARY_ADDONS \
                         EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL \
                         EIGEN_DOC_BLOCK_ADDONS_INNER_PANEL_IF \
                         EIGEN_MAKE_SCALAR_BINARY_OP \
                         EIGEN_MAKE_SCALAR_BINARY_OP_ONTHERIGHT
TAGFILES               = ${EIGEN_DOXY_TAGFILES}
GENERATE_TAGFILE       = ${Eigen_BINARY_DIR}/doc/${EIGEN_DOXY_PROJECT_NAME}.doxytags
EXTERNAL_GROUPS        = NO
EXTERNAL_PAGES         = NO
HIDE_UNDOC_RELATIONS   = NO
HAVE_DOT               = YES
COLLABORATION_GRAPH    = NO
GROUP_GRAPHS           = NO
UML_LOOK               = YES
INCLUDE_GRAPH          = NO
INCLUDED_BY_GRAPH      = NO
GRAPHICAL_HIERARCHY    = NO
DIRECTORY_GRAPH        = NO
DOT_GRAPH_MAX_NODES    = 300
GENERATE_DEPRECATEDLIST = NO
GENERATE_TODOLIST      = NO
WARN_AS_ERROR          = FAIL_ON_WARNINGS_PRINT
