diff --git a/linalg/eigen/fcarouge/linalg.hpp b/linalg/eigen/fcarouge/linalg.hpp index e16d4a749..19c4a8999 100644 --- a/linalg/eigen/fcarouge/linalg.hpp +++ b/linalg/eigen/fcarouge/linalg.hpp @@ -42,10 +42,9 @@ For more information, please refer to */ //! @file //! @brief Linear algebra facade for Eigen3 third party implementation. //! -//! @details Standardizes matrix, vectors, and algebraic values type names for -//! the library usage. +//! @details Matrix, vectors, and named algebraic values. //! -//! @note The Eigen3 linear algebra is not constexpr-compatible. +//! @note The Eigen3 linear algebra is not constexpr-compatible as of July 2023. #include "fcarouge/utility.hpp" diff --git a/linalg/lazy/fcarouge/linalg.hpp b/linalg/lazy/fcarouge/linalg.hpp index 0033b3bcd..3a5b6ed1d 100644 --- a/linalg/lazy/fcarouge/linalg.hpp +++ b/linalg/lazy/fcarouge/linalg.hpp @@ -36,14 +36,13 @@ OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to */ -#ifndef FCAROUGE_LINALG_LAZY_HPP -#define FCAROUGE_LINALG_LAZY_HPP +#ifndef FCAROUGE_LINALG_HPP +#define FCAROUGE_LINALG_HPP //! @file -//! @brief Linear algebra facade for a coroutine-based lazy implementation. +//! @brief Linear algebra coroutine-based lazy implementation. //! -//! @details Standardizes matrix, vectors, and algebraic values type names for -//! the library usage. +//! @details Matrix, vectors, and named algebraic values. //! //! @note Idea from: //! https://gieseanw.wordpress.com/2019/10/20/we-dont-need-no-stinking-expression-templates/ @@ -60,7 +59,6 @@ For more information, please refer to */ #include namespace fcarouge { - // Semantic? Guarantees? to_generator? std::ranges::to overload? make_generator? // Overloads for C-array? // Need one copy, avoid any extra? @@ -323,7 +321,7 @@ auto make_zero_generator{[]() -> std::generator { //! @name Algebraic Named Values //! @{ -//! @brief The identity matrix. +//! @brief The identity matrix lazy specialization. template auto identity_v>{[](auto... args) { matrix m{ @@ -335,7 +333,7 @@ auto identity_v>{[](auto... args) { } }}; -//! @brief The zero matrix. +//! @brief The zero matrix lazy specialization. template auto zero_v>{[](auto... args) { matrix m{make_zero_generator()}; @@ -414,4 +412,4 @@ operator+(matrix lhs, matrix rhs) { } } // namespace fcarouge -#endif // FCAROUGE_LINALG_LAZY_HPP +#endif // FCAROUGE_LINALG_HPP diff --git a/linalg/naive/fcarouge/linalg.hpp b/linalg/naive/fcarouge/linalg.hpp index 1490444cf..012bd5c56 100644 --- a/linalg/naive/fcarouge/linalg.hpp +++ b/linalg/naive/fcarouge/linalg.hpp @@ -39,6 +39,11 @@ For more information, please refer to */ #ifndef FCAROUGE_LINALG_HPP #define FCAROUGE_LINALG_HPP +//! @file +//! @brief Linear algebra array-based naive implementation. +//! +//! @details Matrix, vectors, and named algebraic values. + #include "fcarouge/utility.hpp" #include @@ -166,7 +171,7 @@ matrix(const Type (&)[Row]) -> matrix; // column_vector //! @name Algebraic Named Values //! @{ -//! @brief Identity +//! @brief The identity matrix naive specialization. template inline constexpr Type identity_v>{1.0}; @@ -189,7 +194,7 @@ inline constexpr matrix return result; }()}; -//! @brief Zero +//! @brief The zero matrix naive specialization. template inline constexpr Type zero_v>{}; template