diff --git a/include/hpcombi/arch.hpp b/include/hpcombi/arch.hpp index eaf9da6..cb395c2 100644 --- a/include/hpcombi/arch.hpp +++ b/include/hpcombi/arch.hpp @@ -17,6 +17,9 @@ // with HP-Combi. If not, see . // //****************************************************************************// +/** @file +@brief check the required compiler flags for SSE-4.1 */ + #ifndef HPCOMBI_ARCH_HPP_ #define HPCOMBI_ARCH_HPP_ diff --git a/include/hpcombi/bmat8.hpp b/include/hpcombi/bmat8.hpp index cb789fa..15b1230 100644 --- a/include/hpcombi/bmat8.hpp +++ b/include/hpcombi/bmat8.hpp @@ -19,7 +19,8 @@ // with HP-Combi. If not, see . // //****************************************************************************// -// This file contains a declaration of fast boolean matrices up to dimension 8. +/** @file +@brief declaration of HPCombi::BMat8 */ #ifndef HPCOMBI_BMAT8_HPP_ #define HPCOMBI_BMAT8_HPP_ diff --git a/include/hpcombi/bmat8_impl.hpp b/include/hpcombi/bmat8_impl.hpp index 0bc1529..6d17585 100644 --- a/include/hpcombi/bmat8_impl.hpp +++ b/include/hpcombi/bmat8_impl.hpp @@ -19,8 +19,8 @@ // with HP-Combi. If not, see . // //****************************************************************************// -// This file contains an implementation of fast boolean matrices up to -// dimension 8 x 8. +/** @file +@brief implementation of bmat8.hpp ; this file should not be included directly. */ // NOLINT(build/header_guard) diff --git a/include/hpcombi/builder.hpp b/include/hpcombi/builder.hpp index f8cfeab..aa48d6e 100644 --- a/include/hpcombi/builder.hpp +++ b/include/hpcombi/builder.hpp @@ -17,6 +17,9 @@ // with HP-Combi. If not, see . // //****************************************************************************// +/** @file +@brief HPCombi::TPUBuild and casts from HPCombi::TPU */ + #ifndef HPCOMBI_BUILDER_HPP_ #define HPCOMBI_BUILDER_HPP_ diff --git a/include/hpcombi/debug.hpp b/include/hpcombi/debug.hpp index 2844316..b3fdf94 100644 --- a/include/hpcombi/debug.hpp +++ b/include/hpcombi/debug.hpp @@ -18,6 +18,9 @@ // with HP-Combi. If not, see . // //****************************************************************************// +/** @file +@brief defines the macro \c HPCOMBI_ASSERT */ + #ifndef HPCOMBI_DEBUG_HPP_ #define HPCOMBI_DEBUG_HPP_ diff --git a/include/hpcombi/epu8.hpp b/include/hpcombi/epu8.hpp index a862344..0fd2598 100644 --- a/include/hpcombi/epu8.hpp +++ b/include/hpcombi/epu8.hpp @@ -17,6 +17,9 @@ // with HP-Combi. If not, see . // //****************************************************************************// +/** @file +@brief declaration of HPCombi::epu8 */ + #ifndef HPCOMBI_EPU8_HPP_ #define HPCOMBI_EPU8_HPP_ diff --git a/include/hpcombi/epu8_impl.hpp b/include/hpcombi/epu8_impl.hpp index 69b0035..a143b81 100644 --- a/include/hpcombi/epu8_impl.hpp +++ b/include/hpcombi/epu8_impl.hpp @@ -19,8 +19,8 @@ // NOLINT(build/header_guard) -// This is the implementation part of epu8.hpp this should be seen as -// implementation details and should not be included directly. +/** @file +@brief implementation of epu8.hpp ; this file should not be included directly. */ #include #include diff --git a/include/hpcombi/hpcombi.hpp b/include/hpcombi/hpcombi.hpp index 74286f7..352c10d 100644 --- a/include/hpcombi/hpcombi.hpp +++ b/include/hpcombi/hpcombi.hpp @@ -17,6 +17,10 @@ // with HP-Combi. If not, see . // //****************************************************************************// +/** @file +@brief Main entry point; includes the API files: bmat8.hpp, perm16.hpp, etc +and also debug.hpp, epu8.hpp, etc.*/ + #ifndef HPCOMBI_HPCOMBI_HPP_ #define HPCOMBI_HPCOMBI_HPP_ diff --git a/include/hpcombi/perm16.hpp b/include/hpcombi/perm16.hpp index bd83ea1..a412637 100644 --- a/include/hpcombi/perm16.hpp +++ b/include/hpcombi/perm16.hpp @@ -17,6 +17,9 @@ // with HP-Combi. If not, see . // //****************************************************************************// +/** @file +@brief declaration of HPCombi::PTransf16, HPCombi::Transf16, HPCombi::PPerm16 and HPCombi::Perm16. */ + #ifndef HPCOMBI_PERM16_HPP_ #define HPCOMBI_PERM16_HPP_ diff --git a/include/hpcombi/perm16_impl.hpp b/include/hpcombi/perm16_impl.hpp index 544b8a0..5c4d102 100644 --- a/include/hpcombi/perm16_impl.hpp +++ b/include/hpcombi/perm16_impl.hpp @@ -19,12 +19,10 @@ // NOLINT(build/header_guard) -namespace HPCombi { - -/////////////////////////////////////////////////////////////////////////////// -// Implementation part for inline functions ////////////////////////////////// -/////////////////////////////////////////////////////////////////////////////// +/** @file +@brief implementation of perm16.hpp ; this file should not be included directly. */ +namespace HPCombi { inline PTransf16::PTransf16(std::initializer_list il) : Vect16(Epu8.id()) { HPCOMBI_ASSERT(il.size() <= 16); diff --git a/include/hpcombi/perm_generic.hpp b/include/hpcombi/perm_generic.hpp index b48be21..b641abd 100644 --- a/include/hpcombi/perm_generic.hpp +++ b/include/hpcombi/perm_generic.hpp @@ -17,6 +17,9 @@ // with HP-Combi. If not, see . // //****************************************************************************// +/** @file +@brief declaration of HPCombi::PermGeneric */ + #ifndef HPCOMBI_PERM_GENERIC_HPP_ #define HPCOMBI_PERM_GENERIC_HPP_ diff --git a/include/hpcombi/perm_generic_impl.hpp b/include/hpcombi/perm_generic_impl.hpp index 9930e0b..5369387 100644 --- a/include/hpcombi/perm_generic_impl.hpp +++ b/include/hpcombi/perm_generic_impl.hpp @@ -19,6 +19,10 @@ // NOLINT(build/header_guard) +/** @file +@brief implementation of perm_generic.hpp ; +this file should not be included directly. */ + namespace HPCombi { template diff --git a/include/hpcombi/power.hpp b/include/hpcombi/power.hpp index 06a9349..eb621c4 100644 --- a/include/hpcombi/power.hpp +++ b/include/hpcombi/power.hpp @@ -18,23 +18,23 @@ //****************************************************************************// /** @file - * @brief Generic compile time power - * - * The goal of this file is to be able to write expressions such as @c - * pow<23>(2.5) or @c pow(x) where the first expression is entirely - * computed as compile time and the second one is expanded also as compile - * time to a O(log n) long sequence of multiplication. Furthermore such - * expression not only works for numbers for for any type where there is a - * neutral element and an associative (non necessarily commutative) product, - * namely what mathematicians call \e monoids. These include for example, - * strings where the neutral element is the empty string and the product is - * the concatenation. - * - * see HPCombi::power_helper::Monoid - * - * @example stringmonoid.cpp - * This is an example of how to use pow with a non numerical Monoid. - */ +@brief Generic compile-time exponentiation algorithm. + +The goal of this file is to be able to write expressions such as @c +pow<23>(2.5) or @c pow(x) where the first expression is entirely +computed as compile time and the second one is expanded also as compile +time to a O(log n) long sequence of multiplication. Furthermore such +expression not only works for numbers for for any type where there is a +neutral element and an associative (non necessarily commutative) product, +namely what mathematicians call \e monoids. These include for example, +strings where the neutral element is the empty string and the product is +the concatenation. + +see HPCombi::power_helper::Monoid + +@example stringmonoid.cpp +This is an example of how to use pow with a non numerical Monoid. +*/ #ifndef HPCOMBI_POWER_HPP_ #define HPCOMBI_POWER_HPP_ diff --git a/include/hpcombi/vect16.hpp b/include/hpcombi/vect16.hpp index 14be7a2..251167c 100644 --- a/include/hpcombi/vect16.hpp +++ b/include/hpcombi/vect16.hpp @@ -17,6 +17,9 @@ // with HP-Combi. If not, see . // //****************************************************************************// +/** @file +@brief HPCombi::Vect16 */ + #ifndef HPCOMBI_VECT16_HPP_ #define HPCOMBI_VECT16_HPP_ diff --git a/include/hpcombi/vect_generic.hpp b/include/hpcombi/vect_generic.hpp index 767512d..fa89254 100644 --- a/include/hpcombi/vect_generic.hpp +++ b/include/hpcombi/vect_generic.hpp @@ -17,6 +17,9 @@ // with HP-Combi. If not, see . // //****************************************************************************// +/** @file +@brief HPCombi::VectGeneric */ + #ifndef HPCOMBI_VECT_GENERIC_HPP_ #define HPCOMBI_VECT_GENERIC_HPP_