# Doxyfile 1.13.0
PROJECT_NAME           = ${EIGEN_DOXY_PROJECT_NAME}
PROJECT_NUMBER         = ${EIGEN_VERSION_STRING}
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 contrib SpecialFunctions module. \code #include <contrib/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= \
                         "cpp17=<span class='cpp17'>[c++17]</span>" \
                         "newin{1}=<span class='newin3x'>New in %Eigen \1.</span>" \
                         "eigenAutoToc=<!-- TOC placeholder -->" \
                         eigenManualPage=\defgroup
EXTENSION_MAPPING      = .h=C++ \
                         .inc=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
# The StructuredMatrices README is written for GitLab, whose math markup and
# in-page links Doxygen does not render; the classes carry the Doxygen reference.
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}/contrib/doc/examples \
                         ${Eigen_SOURCE_DIR}/contrib/doc/snippets \
                         ${Eigen_SOURCE_DIR}/contrib/Eigen/src/StructuredMatrices/README.md

#                        ${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}/contrib/doc/snippets \
                         ${Eigen_BINARY_DIR}/contrib/doc/snippets \
                         ${Eigen_SOURCE_DIR}/contrib/doc/examples \
                         ${Eigen_BINARY_DIR}/contrib/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_DEPRECATED_WITH_REASON(message)=" \
                         "EIGEN_MAKE_CWISE_UNARY_OP(METHOD,FUNCTOR,RETURN_TYPE)=const CwiseUnaryOp<FUNCTOR<Scalar>,const Derived> METHOD() const; using RETURN_TYPE=CwiseUnaryOp<FUNCTOR<Scalar>,const Derived>;" \
                         "EIGEN_MAKE_CWISE_BINARY_OP(METHOD,FUNCTOR)=template<typename OtherDerived> const CwiseBinaryOp<FUNCTOR<Scalar,typename OtherDerived::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,FUNCTOR)=CwiseBinaryOp<FUNCTOR<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
