From 79bcdc87ab1b33244432c238e9fcdc7d816b5d64 Mon Sep 17 00:00:00 2001 From: jtlap Date: Tue, 10 Oct 2023 18:53:17 +0200 Subject: [PATCH] math core --- include/eve/module/core/regular/add.hpp | 2 +- include/eve/module/core/regular/all.hpp | 6 ++-- include/eve/module/core/regular/any.hpp | 2 +- include/eve/module/core/regular/average.hpp | 6 ++-- include/eve/module/core/regular/binarize.hpp | 2 +- .../eve/module/core/regular/binarize_not.hpp | 2 +- .../eve/module/core/regular/bit_reverse.hpp | 2 +- include/eve/module/core/regular/ceil.hpp | 3 +- include/eve/module/core/regular/conj.hpp | 2 +- include/eve/module/core/regular/converter.hpp | 28 +++++++++---------- .../eve/module/core/regular/count_true.hpp | 2 +- include/eve/module/core/regular/dec.hpp | 2 +- include/eve/module/core/regular/dist.hpp | 2 +- include/eve/module/core/regular/div.hpp | 2 +- include/eve/module/core/regular/dot.hpp | 7 +---- include/eve/module/core/regular/fam.hpp | 2 +- include/eve/module/core/regular/fanm.hpp | 2 +- include/eve/module/core/regular/floor.hpp | 3 +- include/eve/module/core/regular/fma.hpp | 2 +- include/eve/module/core/regular/fms.hpp | 2 +- include/eve/module/core/regular/fnma.hpp | 2 +- include/eve/module/core/regular/frac.hpp | 3 +- include/eve/module/core/regular/fsm.hpp | 2 +- include/eve/module/core/regular/fsnm.hpp | 2 +- include/eve/module/core/regular/inc.hpp | 2 +- include/eve/module/core/regular/is_finite.hpp | 3 +- include/eve/module/core/regular/is_imag.hpp | 2 +- .../eve/module/core/regular/is_infinite.hpp | 3 +- include/eve/module/core/regular/is_nan.hpp | 3 +- .../eve/module/core/regular/is_not_finite.hpp | 3 +- .../eve/module/core/regular/is_not_imag.hpp | 2 +- .../module/core/regular/is_not_infinite.hpp | 3 +- .../eve/module/core/regular/is_not_nan.hpp | 3 +- .../eve/module/core/regular/is_not_real.hpp | 2 +- include/eve/module/core/regular/ldexp.hpp | 2 +- include/eve/module/core/regular/lerp.hpp | 2 +- include/eve/module/core/regular/manhattan.hpp | 2 +- include/eve/module/core/regular/mantissa.hpp | 4 +-- include/eve/module/core/regular/maxabs.hpp | 2 +- include/eve/module/core/regular/maxmag.hpp | 2 +- include/eve/module/core/regular/minabs.hpp | 2 +- include/eve/module/core/regular/minus.hpp | 2 +- include/eve/module/core/regular/modf.hpp | 3 +- include/eve/module/core/regular/mul.hpp | 6 +--- include/eve/module/core/regular/nearest.hpp | 3 +- include/eve/module/core/regular/none.hpp | 2 +- include/eve/module/core/regular/oneminus.hpp | 2 +- include/eve/module/core/regular/plus.hpp | 2 +- include/eve/module/core/regular/rec.hpp | 2 +- include/eve/module/core/regular/reldist.hpp | 2 +- include/eve/module/core/regular/rem.hpp | 2 +- include/eve/module/core/regular/round.hpp | 3 +- include/eve/module/core/regular/rsqrt.hpp | 2 +- include/eve/module/core/regular/sqr.hpp | 2 +- include/eve/module/core/regular/sqr_abs.hpp | 11 ++------ include/eve/module/core/regular/sqrt.hpp | 27 ++---------------- include/eve/module/core/regular/sub.hpp | 2 +- include/eve/module/core/regular/trunc.hpp | 3 +- include/eve/module/core/regular/zip.hpp | 2 +- include/eve/module/math/regular/cos.hpp | 3 -- include/eve/module/math/regular/cospi.hpp | 3 -- include/eve/module/math/regular/csc.hpp | 3 -- include/eve/module/math/regular/csch.hpp | 3 -- include/eve/module/math/regular/cscpi.hpp | 3 -- include/eve/module/math/regular/expm1.hpp | 3 -- include/eve/module/math/regular/expmx2.hpp | 3 -- include/eve/module/math/regular/expx2.hpp | 3 -- include/eve/module/math/regular/pow.hpp | 9 ------ include/eve/module/math/regular/pow1p.hpp | 9 ------ include/eve/module/math/regular/pow_abs.hpp | 9 ------ include/eve/module/math/regular/powm1.hpp | 9 ------ include/eve/module/math/regular/sec.hpp | 3 -- include/eve/module/math/regular/sech.hpp | 3 -- include/eve/module/math/regular/secpi.hpp | 3 -- include/eve/module/math/regular/sincos.hpp | 3 -- include/eve/module/math/regular/sinh.hpp | 3 -- include/eve/module/math/regular/sinhcosh.hpp | 3 -- include/eve/module/math/regular/sinpi.hpp | 3 -- .../eve/module/math/regular/sinpicospi.hpp | 3 -- include/eve/module/math/regular/tanh.hpp | 3 -- test/doc/special/regular/deta.cpp | 17 ----------- test/doc/special/regular/eta.cpp | 15 ---------- test/doc/special/regular/lambda.cpp | 15 ---------- test/unit/module/core/dot.cpp | 26 ----------------- 84 files changed, 78 insertions(+), 292 deletions(-) delete mode 100644 test/doc/special/regular/deta.cpp delete mode 100644 test/doc/special/regular/eta.cpp delete mode 100644 test/doc/special/regular/lambda.cpp delete mode 100644 test/unit/module/core/dot.cpp diff --git a/include/eve/module/core/regular/add.hpp b/include/eve/module/core/regular/add.hpp index c133ae3a19..ee8c2bbf7d 100644 --- a/include/eve/module/core/regular/add.hpp +++ b/include/eve/module/core/regular/add.hpp @@ -35,7 +35,7 @@ namespace eve //! //! **Parameters** //! -//! * `xs ...` : [real](@ref eve::value) or [complex](@ref eve::complex) arguments. +//! * `xs ...` : [real](@ref eve::value) arguments. //! //! **Return value** //! diff --git a/include/eve/module/core/regular/all.hpp b/include/eve/module/core/regular/all.hpp index d151505cfa..09d9d91ccf 100644 --- a/include/eve/module/core/regular/all.hpp +++ b/include/eve/module/core/regular/all.hpp @@ -30,16 +30,14 @@ namespace eve //! namespace eve //! { //! template< eve::value T > -//! bool all(eve::as_logical x) noexcept; //1 +//! bool all(eve::as_logical x) noexcept; //! //! template< eve::top_bits M > //! bool all(M m) noexcept; //2 //! } //! @endcode //! -//! 1. A bool value which is true if and only if all elements of `x` are not zero. -//! 2 A bool value which is true if and only if all top bits elements of `x` are not zero. -//! +//! * A bool value which is true if and only if all elements of `x` are not zero. //! **Parameters** //! //! * `x` : [argument](@ref eve::logical_value). diff --git a/include/eve/module/core/regular/any.hpp b/include/eve/module/core/regular/any.hpp index 77540d6225..35d1d137a4 100644 --- a/include/eve/module/core/regular/any.hpp +++ b/include/eve/module/core/regular/any.hpp @@ -30,7 +30,7 @@ namespace eve //! namespace eve //! { //! template< eve::value T > -//! bool any(eve::as_logical x) noexcept; //1 +//! bool any(eve::as_logical x) noexcept; //! //! template< eve::top_bits M > //! bool any(M m) noexcept; //2 diff --git a/include/eve/module/core/regular/average.hpp b/include/eve/module/core/regular/average.hpp index e0d10019b0..f1d271586b 100644 --- a/include/eve/module/core/regular/average.hpp +++ b/include/eve/module/core/regular/average.hpp @@ -39,9 +39,9 @@ namespace eve //! //! **Parameters** //! -//! * `x`, `y`: [real](@ref eve::value) or [complex](@ref eve::complex) arguments. +//! * `x`, `y`: [real](@ref eve::value) arguments. //! -//! * `xs...` : [real](@ref eve::floating_value) or [complex](@ref eve::complex) arguments. +//! * `xs...` : [real](@ref eve::floating_value) arguments. //! //! **Return value** //! @@ -50,7 +50,7 @@ namespace eve //! @note //! * For two parameters half the sum of `x` and `y`. No overflow occurs. //! -//! * For more than two parameters only floating or complex entries are allowed. No overflow occurs. +//! * For more than two parameters only floating entries are allowed. No overflow occurs. //! //! * If `x` and `y` are [integral values](@ref eve::integral_value) and the sum is odd, the //! result diff --git a/include/eve/module/core/regular/binarize.hpp b/include/eve/module/core/regular/binarize.hpp index d9014f647b..de163c93f7 100644 --- a/include/eve/module/core/regular/binarize.hpp +++ b/include/eve/module/core/regular/binarize.hpp @@ -31,7 +31,7 @@ namespace eve //! namespace eve //! { //! template< eve::value C > -//! C binarize(eve::as_logical c) noexcept; //1 +//! C binarize(eve::as_logical c) noexcept; //! template< eve::value V, eve::logical_value C > //! T binarize(C, c, T v = T(1)) noexcept; //2 //! } diff --git a/include/eve/module/core/regular/binarize_not.hpp b/include/eve/module/core/regular/binarize_not.hpp index 746061f4a6..763f037e9f 100644 --- a/include/eve/module/core/regular/binarize_not.hpp +++ b/include/eve/module/core/regular/binarize_not.hpp @@ -31,7 +31,7 @@ namespace eve //! namespace eve //! { //! template< eve::value C > -//! C binarize_not(eve::as_logical c) noexcept; //1 +//! C binarize_not(eve::as_logical c) noexcept; //! //! template //! T binarize_not(eve::as_logical c, T v) noexcept; //2 diff --git a/include/eve/module/core/regular/bit_reverse.hpp b/include/eve/module/core/regular/bit_reverse.hpp index 9ed947881a..6fede2ded3 100644 --- a/include/eve/module/core/regular/bit_reverse.hpp +++ b/include/eve/module/core/regular/bit_reverse.hpp @@ -29,7 +29,7 @@ namespace eve //! namespace eve //! { //! template< eve::value T > -//! T bit_reverse(T x) noexcept; //1 +//! T bit_reverse(T x) noexcept; //! //! template< unsignedvalue T, integral_scalar_value N> //! T bit_reverse(T x , N n) noexcept; //2 diff --git a/include/eve/module/core/regular/ceil.hpp b/include/eve/module/core/regular/ceil.hpp index 929feda532..b826a4c5ee 100644 --- a/include/eve/module/core/regular/ceil.hpp +++ b/include/eve/module/core/regular/ceil.hpp @@ -36,7 +36,7 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real](@ref eve::value) or [complex](@ref eve::complex) argument. +//! * `x` : [real](@ref eve::value) argument. //! //! **Return value** //! @@ -45,7 +45,6 @@ namespace eve //! The standard proposes 4 rounding modes namely: `FE_TONEAREST`, `FE_DOWNWARD`, `FE_UPWARD`, //! `FE_TOWARDZERO`. This function object implements the `FE_UPWARD` version. //! -//! For complex inputs the ceil operation is applied to both real and imaginary parts. //! //! @groupheader{Example} //! diff --git a/include/eve/module/core/regular/conj.hpp b/include/eve/module/core/regular/conj.hpp index 77a7308f0b..4f24bf3f97 100644 --- a/include/eve/module/core/regular/conj.hpp +++ b/include/eve/module/core/regular/conj.hpp @@ -35,7 +35,7 @@ namespace eve //! //! **Parameters** //! -//! * `z` : [real](@ref eve::value) or [complex](@ref eve::complex) argument. +//! * `z` : [real](@ref eve::value) argument. //! //! **Return value** //! diff --git a/include/eve/module/core/regular/converter.hpp b/include/eve/module/core/regular/converter.hpp index a236ee1993..c5f7bc2150 100644 --- a/include/eve/module/core/regular/converter.hpp +++ b/include/eve/module/core/regular/converter.hpp @@ -104,7 +104,7 @@ template using converter_type = decorated()>; //! namespace eve //! { //! template< eve::value T > -//! as_wide_as float32(T x) noexcept; //1 +//! as_wide_as float32(T x) noexcept; //! //! template< eve::callable C > //! as_wide_as float32(C x) noexcept; //2 @@ -149,7 +149,7 @@ inline constexpr converter_type const float32 = {}; //! namespace eve //! { //! template< eve::value T > -//! as_wide_as float64(T x) noexcept; //1 +//! as_wide_as float64(T x) noexcept; //! //! template< eve::callable C > //! as_wide_as float64(C x) noexcept; //2 @@ -194,7 +194,7 @@ inline constexpr converter_type const float64 = {}; //! namespace eve //! { //! template< eve::value T > -//! as_wide_as uint8(T x) noexcept; //1 +//! as_wide_as uint8(T x) noexcept; //! //! template< eve::callable C > //! as_wide_as uint8(C x) noexcept; //2 @@ -240,7 +240,7 @@ inline constexpr converter_type const uint8 = {}; //! namespace eve //! { //! template< eve::value T > -//! as_wide_as uint16(T x) noexcept; //1 +//! as_wide_as uint16(T x) noexcept; //! //! template< eve::callable C > //! as_wide_as uint16(C x) noexcept; //2 @@ -286,7 +286,7 @@ inline constexpr converter_type const uint16 = {}; //! namespace eve //! { //! template< eve::value T > -//! as_wide_as uint32(T x) noexcept; //1 +//! as_wide_as uint32(T x) noexcept; //! //! template< eve::callable C > //! as_wide_as uint32(C x) noexcept; //2 @@ -332,7 +332,7 @@ inline constexpr converter_type const uint32 = {}; //! namespace eve //! { //! template< eve::value T > -//! as_wide_as uint64(T x) noexcept; //1 +//! as_wide_as uint64(T x) noexcept; //! //! template< eve::callable C > //! as_wide_as uint64(C x) noexcept; //2 @@ -378,7 +378,7 @@ inline constexpr converter_type const uint64 = {}; //! namespace eve //! { //! template< eve::value T > -//! as_wide_as int8(T x) noexcept; //1 +//! as_wide_as int8(T x) noexcept; //! //! template< eve::callable C > //! as_wide_as int8(C x) noexcept; //2 @@ -424,7 +424,7 @@ inline constexpr converter_type const int8 = {}; //! namespace eve //! { //! template< eve::value T > -//! as_wide_as int16(T x) noexcept; //1 +//! as_wide_as int16(T x) noexcept; //! //! template< eve::callable C > //! as_wide_as int16(C x) noexcept; //2 @@ -470,7 +470,7 @@ inline constexpr converter_type const int16 = {}; //! namespace eve //! { //! template< eve::value T > -//! as_wide_as int32(T x) noexcept; //1 +//! as_wide_as int32(T x) noexcept; //! //! template< eve::callable C > //! as_wide_as int32(C x) noexcept; //2 @@ -516,7 +516,7 @@ inline constexpr converter_type const int32 = {}; //! namespace eve //! { //! template< eve::value T > -//! as_wide_as int64(T x) noexcept; //1 +//! as_wide_as int64(T x) noexcept; //! //! template< eve::callable C > //! as_wide_as int64(C x) noexcept; //2 @@ -566,7 +566,7 @@ using int_converter = decorated()>; //! namespace eve //! { //! template< eve::value T > -//! as_wide_as> int_(T x) noexcept; //1 +//! as_wide_as> int_(T x) noexcept; //! //! template< eve::callable C > //! as_wide_as> int_(C x) noexcept; //2 @@ -615,7 +615,7 @@ using uint_converter = decorated()>; //! namespace eve //! { //! template< eve::value T > -//! as_wide_as> uint_(T x) noexcept; //1 +//! as_wide_as> uint_(T x) noexcept; //! //! template< eve::callable C > //! as_wide_as> uint_(C x) noexcept; //2 @@ -664,7 +664,7 @@ using floating_converter = decorated()>; //! namespace eve //! { //! template< eve::value T > -//! as_wide_as> floating_(T x) noexcept; //1 +//! as_wide_as> floating_(T x) noexcept; //! //! template< eve::callable C > //! as_wide_as> floating_(C x) noexcept; //2 @@ -712,7 +712,7 @@ using upgrade_converter = decorated()>; //! namespace eve //! { //! template< eve::value T > -//! as_wide_as> upgrade_(T x) noexcept; //1 +//! as_wide_as> upgrade_(T x) noexcept; //! //! template< eve::callable C > //! as_wide_as> upgrade_(C x) noexcept; //2 diff --git a/include/eve/module/core/regular/count_true.hpp b/include/eve/module/core/regular/count_true.hpp index d7cf96e215..343d11b35b 100644 --- a/include/eve/module/core/regular/count_true.hpp +++ b/include/eve/module/core/regular/count_true.hpp @@ -29,7 +29,7 @@ namespace eve //! namespace eve //! { //! template< eve::value T > -//! T count_true(T x) noexcept; //1 +//! T count_true(T x) noexcept; //! } //! template< eve::top_bits M > //! as_wide_as any(M m) noexcept; //2 diff --git a/include/eve/module/core/regular/dec.hpp b/include/eve/module/core/regular/dec.hpp index 724c4202d6..942c240632 100644 --- a/include/eve/module/core/regular/dec.hpp +++ b/include/eve/module/core/regular/dec.hpp @@ -35,7 +35,7 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real](@ref eve::value) or [complex](@ref eve::complex) argument. +//! * `x` : [real](@ref eve::value) argument. //! //! **Return value** //! diff --git a/include/eve/module/core/regular/dist.hpp b/include/eve/module/core/regular/dist.hpp index 915a7005c5..7fc97d01be 100644 --- a/include/eve/module/core/regular/dist.hpp +++ b/include/eve/module/core/regular/dist.hpp @@ -35,7 +35,7 @@ namespace eve //! //! **Parameters** //! -//! * `x`, `y` : [real](@ref eve::value) or [complex](@ref eve::complex) arguments. +//! * `x`, `y` : [real](@ref eve::value) arguments. //! //! **Return value** //! diff --git a/include/eve/module/core/regular/div.hpp b/include/eve/module/core/regular/div.hpp index 23dce79ab2..64bfd68ec2 100644 --- a/include/eve/module/core/regular/div.hpp +++ b/include/eve/module/core/regular/div.hpp @@ -36,7 +36,7 @@ namespace eve //! //! **Parameters** //! -//! * `xs ...` : [real](@ref eve::value) or [complex](@ref eve::complex) arguments. +//! * `xs ...` : [real](@ref eve::value) arguments. //! //! **Return value** //! diff --git a/include/eve/module/core/regular/dot.hpp b/include/eve/module/core/regular/dot.hpp index b9ee7293f3..5125cec569 100644 --- a/include/eve/module/core/regular/dot.hpp +++ b/include/eve/module/core/regular/dot.hpp @@ -36,7 +36,7 @@ namespace eve //! //! **Parameters** //! -//! * `x`, `y` : [real or complex arguments](@ref eve::value). +//! * `x`, `y` : [real arguments](@ref eve::value). //! //! **Return value** //! @@ -44,13 +44,8 @@ namespace eve //! //! @groupheader{Example} //! -//! **Real version** -//! //! @godbolt{doc/core/regular/dot.cpp} //! -//! **Complex version** -//! -//! @godbolt{doc/complex/regular/dot.cpp} //! //! @} //================================================================================================ diff --git a/include/eve/module/core/regular/fam.hpp b/include/eve/module/core/regular/fam.hpp index 29bf151821..c551ab0a80 100644 --- a/include/eve/module/core/regular/fam.hpp +++ b/include/eve/module/core/regular/fam.hpp @@ -38,7 +38,7 @@ namespace eve //! //! **Parameters** //! -//! * `x`, `y`, `z` : [real or complex arguments](@ref eve::value). +//! * `x`, `y`, `z` : [real arguments](@ref eve::value). //! //! **Return value** //! diff --git a/include/eve/module/core/regular/fanm.hpp b/include/eve/module/core/regular/fanm.hpp index 703c89ac63..2d01aac155 100644 --- a/include/eve/module/core/regular/fanm.hpp +++ b/include/eve/module/core/regular/fanm.hpp @@ -39,7 +39,7 @@ namespace eve //! //! **Parameters** //! -//! * `x`, `y`, `z` : [real or complex arguments](@ref eve::value). +//! * `x`, `y`, `z` : [real arguments](@ref eve::value). //! //! **Return value** //! diff --git a/include/eve/module/core/regular/floor.hpp b/include/eve/module/core/regular/floor.hpp index 42308ec40e..f355486561 100644 --- a/include/eve/module/core/regular/floor.hpp +++ b/include/eve/module/core/regular/floor.hpp @@ -36,7 +36,7 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real](@ref eve::value) or [complex](@ref eve::complex) argument. +//! * `x` : [real](@ref eve::value) argument. //! //! **Return value** //! @@ -45,7 +45,6 @@ namespace eve //! The standard proposes 4 rounding modes namely: `FE_TONEAREST`, `FE_DOWNWARD`, `FE_UPWARD`, //! `FE_TOWARDZERO`. This function object implements the `FE_DOWNWARD` version. //! -//! For complex inputs the floor operation is applied to both real and imaginary parts. //! //! @groupheader{Example} //! diff --git a/include/eve/module/core/regular/fma.hpp b/include/eve/module/core/regular/fma.hpp index d0cd00b7e7..893ecf904e 100644 --- a/include/eve/module/core/regular/fma.hpp +++ b/include/eve/module/core/regular/fma.hpp @@ -39,7 +39,7 @@ namespace eve //! //! **Parameters** //! -//! * `x`, `y`, `z` : [real or complex arguments](@ref eve::value). +//! * `x`, `y`, `z` : [real arguments](@ref eve::value). //! //! **Return value** //! diff --git a/include/eve/module/core/regular/fms.hpp b/include/eve/module/core/regular/fms.hpp index ab5dfc6896..cf31298b25 100644 --- a/include/eve/module/core/regular/fms.hpp +++ b/include/eve/module/core/regular/fms.hpp @@ -39,7 +39,7 @@ namespace eve //! //! **Parameters** //! -//! * `x`, `y`, `z` : [real or complex arguments](@ref eve::value). +//! * `x`, `y`, `z` : [real arguments](@ref eve::value). //! //! **Return value** //! diff --git a/include/eve/module/core/regular/fnma.hpp b/include/eve/module/core/regular/fnma.hpp index 1358a7734a..77ae314dd5 100644 --- a/include/eve/module/core/regular/fnma.hpp +++ b/include/eve/module/core/regular/fnma.hpp @@ -39,7 +39,7 @@ namespace eve //! //! **Parameters** //! -//! * `x`, `y`, `z` : [real or complex arguments](@ref eve::value). +//! * `x`, `y`, `z` : [real arguments](@ref eve::value). //! //! **Return value** //! diff --git a/include/eve/module/core/regular/frac.hpp b/include/eve/module/core/regular/frac.hpp index 02cbca8888..57314a5546 100644 --- a/include/eve/module/core/regular/frac.hpp +++ b/include/eve/module/core/regular/frac.hpp @@ -35,7 +35,7 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real](@ref eve::value) or [complex](@ref eve::complex) argument. +//! * `x` : [real](@ref eve::value) argument. //! //! **Return value** //! @@ -49,7 +49,6 @@ namespace eve //! * If an [element](@ref glossary_elementwise) of `x` is \f$\pm\infty\f$ or `Nan`, a //! `Nan` is returned. //! -//! For complex inputs the frac operation is applied to both real and imaginary parts. //! //! @groupheader{Example} //! diff --git a/include/eve/module/core/regular/fsm.hpp b/include/eve/module/core/regular/fsm.hpp index fec5bd86a4..b11d2855db 100644 --- a/include/eve/module/core/regular/fsm.hpp +++ b/include/eve/module/core/regular/fsm.hpp @@ -39,7 +39,7 @@ namespace eve //! //! **Parameters** //! -//! * `x`, `y`, `z` : [real or complex arguments](@ref eve::value). +//! * `x`, `y`, `z` : [real arguments](@ref eve::value). //! //! **Return value** //! diff --git a/include/eve/module/core/regular/fsnm.hpp b/include/eve/module/core/regular/fsnm.hpp index 6a2f06988f..3075b615d2 100644 --- a/include/eve/module/core/regular/fsnm.hpp +++ b/include/eve/module/core/regular/fsnm.hpp @@ -39,7 +39,7 @@ namespace eve //! //! **Parameters** //! -//! * `x`, `y`, `z` : [real or complex arguments](@ref eve::value). +//! * `x`, `y`, `z` : [real arguments](@ref eve::value). //! //! **Return value** //! diff --git a/include/eve/module/core/regular/inc.hpp b/include/eve/module/core/regular/inc.hpp index 5020ee9d60..1d5fd586db 100644 --- a/include/eve/module/core/regular/inc.hpp +++ b/include/eve/module/core/regular/inc.hpp @@ -35,7 +35,7 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real](@ref eve::value) or [complex](@ref eve::complex) argument. +//! * `x` : [real](@ref eve::value) argument. //! //! **Return value** //! diff --git a/include/eve/module/core/regular/is_finite.hpp b/include/eve/module/core/regular/is_finite.hpp index 22d7300b45..7553f034c0 100644 --- a/include/eve/module/core/regular/is_finite.hpp +++ b/include/eve/module/core/regular/is_finite.hpp @@ -34,14 +34,13 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real or complex argument](@ref eve::value). +//! * `x` : [real argument](@ref eve::value). //! //! **Return value** //! //! For real entries the call `is_finite(x)` is semantically equivalent to `eve::is_not_nan(x-x)`, in particular //! this is always true for integral types. //! -//! For complex entries `is_infinite(z)` is semantically equivalent to //! `eve::is_finite(real(z)) && eve::is_finite(imag(z))`, //! //! @groupheader{Example} diff --git a/include/eve/module/core/regular/is_imag.hpp b/include/eve/module/core/regular/is_imag.hpp index dea8cb7731..f985299695 100644 --- a/include/eve/module/core/regular/is_imag.hpp +++ b/include/eve/module/core/regular/is_imag.hpp @@ -37,7 +37,7 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real or complex argument](@ref eve::value). +//! * `x` : [real argument](@ref eve::value). //! //! **Return value** //! diff --git a/include/eve/module/core/regular/is_infinite.hpp b/include/eve/module/core/regular/is_infinite.hpp index 18a03a51e5..9ea9b576b2 100644 --- a/include/eve/module/core/regular/is_infinite.hpp +++ b/include/eve/module/core/regular/is_infinite.hpp @@ -35,7 +35,7 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real or complex argument](@ref eve::value). +//! * `x` : [real argument](@ref eve::value). //! //! **Return value** //! @@ -43,7 +43,6 @@ namespace eve //! `eve::is_equal(eve::abs(x), eve::inf(as(x))`, //! in particular this is always false for integral types. //! -//! For complex entries `is_infinite(z)` is semantically equivalent to //! `eve::is_infinite(real(z)) || eve::is_infinite(imag(z))`, //! //! @groupheader{Example} diff --git a/include/eve/module/core/regular/is_nan.hpp b/include/eve/module/core/regular/is_nan.hpp index cb601fb07e..4b27b89a02 100644 --- a/include/eve/module/core/regular/is_nan.hpp +++ b/include/eve/module/core/regular/is_nan.hpp @@ -35,7 +35,7 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real or complex argumentargument](@ref eve::value). +//! * `x` : [real argumentargument](@ref eve::value). //! //! **Return value** //! @@ -46,7 +46,6 @@ namespace eve //! else constexpr(integral_value) return false_(as(x)); //! @endcode //! -//! For complex entries `is_infinite(z)` is semantically equivalent to //! `eve::is_nan(real(z)) || eve::is_nan(imag(z))`, //! //! @groupheader{Example} diff --git a/include/eve/module/core/regular/is_not_finite.hpp b/include/eve/module/core/regular/is_not_finite.hpp index 585fe56c98..f2bd4dc2ff 100644 --- a/include/eve/module/core/regular/is_not_finite.hpp +++ b/include/eve/module/core/regular/is_not_finite.hpp @@ -35,7 +35,7 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real or complex argument](@ref eve::value). +//! * `x` : [real argument](@ref eve::value). //! //! **Return value** //! @@ -45,7 +45,6 @@ namespace eve //! else constexpr(integral_value) return false_(as(x)); //! @endcode //! -//! For complex entries `is_infinite(z)` is semantically equivalent to //! `eve::is_not_finite(real(z)) || eve::is_not_finite(imag(z))`, //! //! @groupheader{Example} diff --git a/include/eve/module/core/regular/is_not_imag.hpp b/include/eve/module/core/regular/is_not_imag.hpp index e0fae2beef..852f9e26c3 100644 --- a/include/eve/module/core/regular/is_not_imag.hpp +++ b/include/eve/module/core/regular/is_not_imag.hpp @@ -37,7 +37,7 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real or complex argument](@ref eve::value). +//! * `x` : [real argument](@ref eve::value). //! //! **Return value** //! diff --git a/include/eve/module/core/regular/is_not_infinite.hpp b/include/eve/module/core/regular/is_not_infinite.hpp index bd604e1b4c..8faa20bca2 100644 --- a/include/eve/module/core/regular/is_not_infinite.hpp +++ b/include/eve/module/core/regular/is_not_infinite.hpp @@ -35,7 +35,7 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real or complex argument](@ref eve::value). +//! * `x` : [real argument](@ref eve::value). //! //! **Return value** //! @@ -45,7 +45,6 @@ namespace eve //! else constexpr(integral_value) return true_(as(x)); //! @endcode //! -//! For complex entries `is_not_infinite(z)` is semantically equivalent to //! `eve::is_not_infinite(real(z)) && eve::is_not_infinite(imag(z))`, //! //! @groupheader{Example} diff --git a/include/eve/module/core/regular/is_not_nan.hpp b/include/eve/module/core/regular/is_not_nan.hpp index fde57acba9..1d0c278ebf 100644 --- a/include/eve/module/core/regular/is_not_nan.hpp +++ b/include/eve/module/core/regular/is_not_nan.hpp @@ -35,14 +35,13 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real or complex argument](@ref eve::value). +//! * `x` : [real argument](@ref eve::value). //! //! **Return value** //! //! For real entries the call `eve::is_not_nan(x)` is semantically equivalent to: //! `eve::is_equal(x, x)` in particular this is always true for integral types. //! -//! For complex entries `is_not_nan(z)` is semantically equivalent to //! `eve::is_not_nan(real(z)) && eve::is_not_nan(imag(z))`, //! //! @groupheader{Example} diff --git a/include/eve/module/core/regular/is_not_real.hpp b/include/eve/module/core/regular/is_not_real.hpp index 07f221565a..c13689f4ec 100644 --- a/include/eve/module/core/regular/is_not_real.hpp +++ b/include/eve/module/core/regular/is_not_real.hpp @@ -37,7 +37,7 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real or complex argument](@ref eve::value). +//! * `x` : [real argument](@ref eve::value). //! //! **Return value** //! diff --git a/include/eve/module/core/regular/ldexp.hpp b/include/eve/module/core/regular/ldexp.hpp index dd4b71a924..c4fbc070fa 100644 --- a/include/eve/module/core/regular/ldexp.hpp +++ b/include/eve/module/core/regular/ldexp.hpp @@ -38,7 +38,7 @@ namespace eve //! //! **Parameters** //! -//! * `x`: [real or complex argument](@ref eve::floating_value). +//! * `x`: [real argument](@ref eve::floating_value). //! //! * `n` : [integral value argument](@ref eve::integral_value). //! diff --git a/include/eve/module/core/regular/lerp.hpp b/include/eve/module/core/regular/lerp.hpp index 80f6fbc9a3..75fe069ea8 100644 --- a/include/eve/module/core/regular/lerp.hpp +++ b/include/eve/module/core/regular/lerp.hpp @@ -35,7 +35,7 @@ namespace eve //! //! **Parameters** //! -//! * `x`, `y`: [real](@ref eve::value) or [complex](@ref eve::complex) arguments. +//! * `x`, `y`: [real](@ref eve::value) arguments. //! * `t`: [real floating](@ref eve::floating_value). argument //! //! **Return value** diff --git a/include/eve/module/core/regular/manhattan.hpp b/include/eve/module/core/regular/manhattan.hpp index 2384cbd809..439b897430 100644 --- a/include/eve/module/core/regular/manhattan.hpp +++ b/include/eve/module/core/regular/manhattan.hpp @@ -35,7 +35,7 @@ namespace eve //! //! **Parameters** //! -//! * `xs ...` : [real](@ref eve::value) or [complex](@ref eve::complex) arguments. +//! * `xs ...` : [real](@ref eve::value) arguments. //! //! **Return value** //! diff --git a/include/eve/module/core/regular/mantissa.hpp b/include/eve/module/core/regular/mantissa.hpp index 860c27137e..38bd5220db 100644 --- a/include/eve/module/core/regular/mantissa.hpp +++ b/include/eve/module/core/regular/mantissa.hpp @@ -35,7 +35,7 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real or complex argument](@ref eve::value). +//! * `x` : [real argument](@ref eve::value). //! //! **Return value** //! @@ -43,7 +43,7 @@ namespace eve //! is returned. //! //! @note -//! * The exponent \f$e\f$ and mantissa \f$m\f$ of a floating point or complex entry \f$x\f$ +//! * The exponent \f$e\f$ and mantissa \f$m\f$ of a floating point entry \f$x\f$ //! are related by \f$x = m\times 2^e\f$, with \f$|m| \in [1, 2[\f$. //! //! * The exception is when \f$x = \pm0, \pm\infty\f$ or is a Nan, where \f$m=x\f$ and \f$e=0\f$). diff --git a/include/eve/module/core/regular/maxabs.hpp b/include/eve/module/core/regular/maxabs.hpp index 76091bbc63..18293c8764 100644 --- a/include/eve/module/core/regular/maxabs.hpp +++ b/include/eve/module/core/regular/maxabs.hpp @@ -37,7 +37,7 @@ namespace eve //! //! **Parameters** //! -//! * `x`, `xs...` : [real](@ref eve::value) or [complex](@ref eve::complex) arguments +//! * `x`, `xs...` : [real](@ref eve::value) arguments //! //! **Return value** //! diff --git a/include/eve/module/core/regular/maxmag.hpp b/include/eve/module/core/regular/maxmag.hpp index 860350f252..effe228887 100644 --- a/include/eve/module/core/regular/maxmag.hpp +++ b/include/eve/module/core/regular/maxmag.hpp @@ -37,7 +37,7 @@ namespace eve //! //! **Parameters** //! -//! * `x`, `xs...` : [real](@ref eve::value) or [complex](@ref eve::complex) arguments. +//! * `x`, `xs...` : [real](@ref eve::value) arguments. //! //! **Return value** //! diff --git a/include/eve/module/core/regular/minabs.hpp b/include/eve/module/core/regular/minabs.hpp index ca108c3b76..1671860fa0 100644 --- a/include/eve/module/core/regular/minabs.hpp +++ b/include/eve/module/core/regular/minabs.hpp @@ -37,7 +37,7 @@ namespace eve //! //! **Parameters** //! -//! * `x`, `xs...` : [real](@ref eve::value) or [complex](@ref eve::complex) arguments. +//! * `x`, `xs...` : [real](@ref eve::value) arguments. //! //! **Return value** //! diff --git a/include/eve/module/core/regular/minus.hpp b/include/eve/module/core/regular/minus.hpp index e89cdc275a..ea0e3d299b 100644 --- a/include/eve/module/core/regular/minus.hpp +++ b/include/eve/module/core/regular/minus.hpp @@ -35,7 +35,7 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real](@ref eve::value) or [complex](@ref eve::complex) argument. +//! * `x` : [real](@ref eve::value) argument. //! //! **Return value** //! diff --git a/include/eve/module/core/regular/modf.hpp b/include/eve/module/core/regular/modf.hpp index 4b9e657d27..9b967bcb6a 100644 --- a/include/eve/module/core/regular/modf.hpp +++ b/include/eve/module/core/regular/modf.hpp @@ -36,7 +36,7 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real](@ref eve::value) or [complex](@ref eve::complex) argument. +//! * `x` : [real](@ref eve::value) argument. //! //! **Return value** //! @@ -47,7 +47,6 @@ namespace eve //! * If `x` is infinite `{Nan, x}` is returned. //! * If `x` is a `Nan` `{Nan, Nan}` is returned. //! -//! For complex inputs the operation is applied to both real and imaginary parts. //! //! @groupheader{Example} //! diff --git a/include/eve/module/core/regular/mul.hpp b/include/eve/module/core/regular/mul.hpp index 073bede979..eb21deac94 100644 --- a/include/eve/module/core/regular/mul.hpp +++ b/include/eve/module/core/regular/mul.hpp @@ -36,7 +36,7 @@ namespace eve //! //! **Parameters** //! -//! * `... xs` : [real](@ref eve::value) or [complex](@ref eve::complex) arguments. +//! * `... xs` : [real](@ref eve::value) arguments. //! //! **Return value** //! @@ -74,10 +74,6 @@ namespace eve //! //! @godbolt{doc/core/saturated/mul.cpp} //! -//! * eve::pedantic -//! -//! The call `pedantic(mul)(zargs...)` computes the pedantic multiplication of the arguments. -//! This may only differ of the regular call for complex inputs. //! @} //================================================================================================ EVE_MAKE_CALLABLE(mul_, mul); diff --git a/include/eve/module/core/regular/nearest.hpp b/include/eve/module/core/regular/nearest.hpp index a05264d4e3..8290e5b2fe 100644 --- a/include/eve/module/core/regular/nearest.hpp +++ b/include/eve/module/core/regular/nearest.hpp @@ -36,7 +36,7 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real](@ref eve::value) or [complex](@ref eve::complex) argument. +//! * `x` : [real](@ref eve::value) argument. //! //! **Return value** //! @@ -47,7 +47,6 @@ namespace eve //! The standard proposes 4 rounding modes namely: `FE_TONEAREST`, `FE_DOWNWARD`, `FE_UPWARD`, //! `FE_TOWARDZERO`. This function object implements the `FE_TONEAREST` version. //! -//! For complex inputs the nearest operation is applied to both real and imaginary parts. //! //! @groupheader{Example} //! diff --git a/include/eve/module/core/regular/none.hpp b/include/eve/module/core/regular/none.hpp index c02f6ec59b..cf0b7d40d5 100644 --- a/include/eve/module/core/regular/none.hpp +++ b/include/eve/module/core/regular/none.hpp @@ -30,7 +30,7 @@ namespace eve //! namespace eve //! { //! template< eve::value T > -//! bool none(T x) noexcept; //1 +//! bool none(T x) noexcept; //! //! template< eve::top_bits M > //! bool none(M m) noexcept; //2 diff --git a/include/eve/module/core/regular/oneminus.hpp b/include/eve/module/core/regular/oneminus.hpp index d3853f5bdb..5010fcabe8 100644 --- a/include/eve/module/core/regular/oneminus.hpp +++ b/include/eve/module/core/regular/oneminus.hpp @@ -35,7 +35,7 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real](@ref eve::value) or [complex](@ref eve::complex) argument. +//! * `x` : [real](@ref eve::value) argument. //! //! **Return value** //! diff --git a/include/eve/module/core/regular/plus.hpp b/include/eve/module/core/regular/plus.hpp index 5be996d6e7..c34f5de725 100644 --- a/include/eve/module/core/regular/plus.hpp +++ b/include/eve/module/core/regular/plus.hpp @@ -35,7 +35,7 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real](@ref eve::value) or [complex](@ref eve::complex) argument. +//! * `x` : [real](@ref eve::value) argument. //! //! **Return value** //! diff --git a/include/eve/module/core/regular/rec.hpp b/include/eve/module/core/regular/rec.hpp index 8e5683501c..7102a2d12f 100644 --- a/include/eve/module/core/regular/rec.hpp +++ b/include/eve/module/core/regular/rec.hpp @@ -36,7 +36,7 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real](@ref eve::value) or [complex](@ref eve::complex) argument. +//! * `x` : [real](@ref eve::value) argument. //! //! **Return value** //! diff --git a/include/eve/module/core/regular/reldist.hpp b/include/eve/module/core/regular/reldist.hpp index 6a9ad052ca..be28feda1e 100644 --- a/include/eve/module/core/regular/reldist.hpp +++ b/include/eve/module/core/regular/reldist.hpp @@ -35,7 +35,7 @@ namespace eve //! //! **Parameters** //! -//! * `x`, `y` : [real](@ref eve::floating_value) or [complex](@ref eve::complex) arguments. +//! * `x`, `y` : [real](@ref eve::floating_value) arguments. //! //! **Return value** //! diff --git a/include/eve/module/core/regular/rem.hpp b/include/eve/module/core/regular/rem.hpp index 6da4c12442..f1118ef3c4 100644 --- a/include/eve/module/core/regular/rem.hpp +++ b/include/eve/module/core/regular/rem.hpp @@ -35,7 +35,7 @@ namespace eve //! //! **Parameters** //! -//! * `x`, `y`: [real](@ref eve::value) or [complex](@ref eve::complex) argumentx. +//! * `x`, `y`: [real](@ref eve::value) argumentx. //! //! **Return value** //! diff --git a/include/eve/module/core/regular/round.hpp b/include/eve/module/core/regular/round.hpp index 1b6d6279a0..fc3b331a63 100644 --- a/include/eve/module/core/regular/round.hpp +++ b/include/eve/module/core/regular/round.hpp @@ -35,13 +35,12 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real](@ref eve::value) or [complex](@ref eve::complex) argument. +//! * `x` : [real](@ref eve::value) argument. //! //! **Return value** //! //! The integer nearest to `x`. //! -//! For complex inputs the round operation is applied to both real and imaginary parts. //! //! @groupheader{Example} //! diff --git a/include/eve/module/core/regular/rsqrt.hpp b/include/eve/module/core/regular/rsqrt.hpp index 99a8b4069c..42c5c55a4b 100644 --- a/include/eve/module/core/regular/rsqrt.hpp +++ b/include/eve/module/core/regular/rsqrt.hpp @@ -36,7 +36,7 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real](@ref eve::value) or [complex](@ref eve::complex) argument. +//! * `x` : [real](@ref eve::value) argument. //! //! **Return value** //! diff --git a/include/eve/module/core/regular/sqr.hpp b/include/eve/module/core/regular/sqr.hpp index 8049366550..6c2c7bc01f 100644 --- a/include/eve/module/core/regular/sqr.hpp +++ b/include/eve/module/core/regular/sqr.hpp @@ -35,7 +35,7 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real](@ref eve::value) or [complex](@ref eve::complex) argument. +//! * `x` : [real](@ref eve::value) argument. //! //! **Return value** //! diff --git a/include/eve/module/core/regular/sqr_abs.hpp b/include/eve/module/core/regular/sqr_abs.hpp index 1f40176e00..d600c40ab0 100644 --- a/include/eve/module/core/regular/sqr_abs.hpp +++ b/include/eve/module/core/regular/sqr_abs.hpp @@ -29,26 +29,19 @@ namespace eve //! namespace eve //! { //! template< eve::value T > -//! T sqr_abs(T x) noexcept; //1 -//! -//! template< eve::value T > -//! T sqr_abs(eve::as_complex z) noexcept; //2 +//! T sqr_abs(T x) noexcept; //! } //! @endcode //! //! **Parameters** //! //! * `x` : [real](@ref eve::ordered_value) argument. -//! * `z` : [complex](@ref eve::complex) argument. //! //! **Return value** //! -//! 1. value containing the [elementwise](@ref glossary_elementwise) +//! * value containing the [elementwise](@ref glossary_elementwise) //! square of `eve::abs(x)`. //! -//! 2. square of the modulus of the complex argument, -//! i.e `eve::sqr(eve::real(z)+ eve::sqr(eve::imag(z)))` -//! //! @groupheader{Example} //! //! @godbolt{doc/core/regular/sqr_abs.cpp} diff --git a/include/eve/module/core/regular/sqrt.hpp b/include/eve/module/core/regular/sqrt.hpp index 32cce7e9ba..a03fbf32ae 100644 --- a/include/eve/module/core/regular/sqrt.hpp +++ b/include/eve/module/core/regular/sqrt.hpp @@ -39,39 +39,16 @@ namespace eve //! **Parameters** //! //! * `x` : [real](@ref eve::floating_value) argument. -//! * `z` : [complex](@ref eve::complex) argument. //! //! **Return value** //! -//! 1. value containing the [elementwise](@ref glossary_elementwise) -//! square root of `x` or Nan if `x` is less than zero. -//! -//! 2. Returns the [elementwise](@ref glossary_elementwise) the square root of z, -//! in the range of the right half-plane, including the imaginary axis (\f$[0, +\infty]\f$ -//! along the real axis and \f$[-\infty, +\infty]\f$ along the imaginary axis.) -//! -//! * The function is continuous onto the branch cut taking into account -//! the sign of imaginary part -//! * eve::sqrt(eve::conj(z)) == eve::conj(eve::sqrt(z)) -//! * If z is \f$\pm0\f$, the result is \f$+0\f$ -//! * If z is \f$x+i \infty\f$, the result is \f$\infty+i \infty\f$ even if x is \f$NaN\f$ -//! * If z is \f$x,NaN\f$, the result is \f$NaN,NaN\f$ (unless x is \f$\pm\infty\f$) -//! * If z is \f$-\infty+i y\f$, the result is \f$+0+i \infty\f$ for finite positive y -//! * If z is \f$+\infty+i y\f$, the result is \f$+\infty+i 0\f$ for finite positive y -//! * If z is \f$-\infty+i NaN\f$, the result is \f$NaN \pm i \infty\f$ (sign of imaginary part unspecified) -//! * If z is \f$+\infty+i NaN\f$, the result is \f$+\infty+i NaN\f$ -//! * If z is \f$NaN+i y\f$, the result is \f$NaN+i NaN\f$ -//! * If z is \f$NaN+i NaN\f$, the result is \f$NaN+i NaN\f$ +//! * value containing the [elementwise](@ref glossary_elementwise) +//! square root of `x` or Nan if `x` is less than zero. //! //! @groupheader{Example} //! -//! **Real version** -//! //! @godbolt{doc/core/regular/sqrt.cpp} //! -//! **Complex version** -//! -//! @godbolt{doc/complex/regular/sqrt.cpp} //! //! //! @groupheader{Semantic Modifiers} diff --git a/include/eve/module/core/regular/sub.hpp b/include/eve/module/core/regular/sub.hpp index ce1e9a6e61..33e205fc89 100644 --- a/include/eve/module/core/regular/sub.hpp +++ b/include/eve/module/core/regular/sub.hpp @@ -36,7 +36,7 @@ namespace eve //! //! **Parameters** //! -//! * `... xs` : [real](@ref eve::value) or [complex](@ref eve::complex) arguments. +//! * `... xs` : [real](@ref eve::value) arguments. //! //! **Return value** //! diff --git a/include/eve/module/core/regular/trunc.hpp b/include/eve/module/core/regular/trunc.hpp index 5ce76decf9..eb714e7a4a 100644 --- a/include/eve/module/core/regular/trunc.hpp +++ b/include/eve/module/core/regular/trunc.hpp @@ -36,13 +36,12 @@ namespace eve //! //! **Parameters** //! -//! * `x` : [real](@ref eve::value) or [complex](@ref eve::complex) argument. +//! * `x` : [real](@ref eve::value) argument. //! //! **Return value** //! //! The integral part of `x` with the same sign as `x`. //! -//! For complex inputs the trunc operation is applied to both real and imaginary parts. //! //! The standard proposes 4 rounding modes namely: `FE_TONEAREST`, `FE_DOWNWARD`, `FE_UPWARD`, //! `FE_TOWARDZERO`. This function object implements the `FE_TOWARDZERO` version. diff --git a/include/eve/module/core/regular/zip.hpp b/include/eve/module/core/regular/zip.hpp index 21b2e5b548..f2a9a760b4 100644 --- a/include/eve/module/core/regular/zip.hpp +++ b/include/eve/module/core/regular/zip.hpp @@ -30,7 +30,7 @@ namespace eve //! namespace eve //! { //! template -//! auto operator()(Ws... ws) const noexcept; //1 +//! auto operator()(Ws... ws) const noexcept; //! //! template //! auto operator()(as t, Ws... ws) const noexcept; //2 diff --git a/include/eve/module/math/regular/cos.hpp b/include/eve/module/math/regular/cos.hpp index 874ac3f7b3..bcb3f698ff 100644 --- a/include/eve/module/math/regular/cos.hpp +++ b/include/eve/module/math/regular/cos.hpp @@ -31,9 +31,6 @@ namespace eve //! { //! template< eve::floating_value T > //! T cos(T x) noexcept; -//! -//! template< eve::floating_value T > -//! as_complex_t cos(as_complex_t z) noexcept; //2 //! } //! @endcode //! diff --git a/include/eve/module/math/regular/cospi.hpp b/include/eve/module/math/regular/cospi.hpp index bd5f8101d8..4aea90cb3a 100644 --- a/include/eve/module/math/regular/cospi.hpp +++ b/include/eve/module/math/regular/cospi.hpp @@ -31,9 +31,6 @@ namespace eve //! { //! template< eve::floating_value T > //! T cospi(T x) noexcept; -//! -//! template< eve::floating_value T > -//! as_complex_t cospi(as_complex_t z) noexcept; //2 //! } //! @endcode //! diff --git a/include/eve/module/math/regular/csc.hpp b/include/eve/module/math/regular/csc.hpp index 3b5fcb8f84..e9d8bc0dbc 100644 --- a/include/eve/module/math/regular/csc.hpp +++ b/include/eve/module/math/regular/csc.hpp @@ -31,9 +31,6 @@ namespace eve //! { //! template< eve::floating_value T > //! T csc(T x) noexcept; -//! -//! template< eve::floating_value T > -//! as_complex_t csc(as_complex_t z) noexcept; //2 //! } //! @endcode //! diff --git a/include/eve/module/math/regular/csch.hpp b/include/eve/module/math/regular/csch.hpp index f71a244df5..cadd19433f 100644 --- a/include/eve/module/math/regular/csch.hpp +++ b/include/eve/module/math/regular/csch.hpp @@ -31,9 +31,6 @@ namespace eve //! { //! template< eve::floating_value T > //! T csch(T x) noexcept; -//! -//! template< eve::floating_value T > -//! as_complex_t csch(as_complex_t z) noexcept; //2 //! } //! @endcode //! diff --git a/include/eve/module/math/regular/cscpi.hpp b/include/eve/module/math/regular/cscpi.hpp index 16c211a47d..3154d3023f 100644 --- a/include/eve/module/math/regular/cscpi.hpp +++ b/include/eve/module/math/regular/cscpi.hpp @@ -32,9 +32,6 @@ namespace eve //! template< eve::floating_value T > //! T cscpi(T x) noexcept; -//! -//! template< eve::floating_value T > -//! as_complex_t cospi(as_complex_t z) noexcept; //2 //! } //! @endcode //! diff --git a/include/eve/module/math/regular/expm1.hpp b/include/eve/module/math/regular/expm1.hpp index 8ba475a7f0..6bd75963bc 100644 --- a/include/eve/module/math/regular/expm1.hpp +++ b/include/eve/module/math/regular/expm1.hpp @@ -31,9 +31,6 @@ namespace eve //! { //! template< eve::floating_value T > //! T expm1(T x) noexcept; -//! -//! template< eve::floating_value T > -//! as_complex_t expm1(as_complex_t z) noexcept; //2 //! } //! @endcode //! diff --git a/include/eve/module/math/regular/expmx2.hpp b/include/eve/module/math/regular/expmx2.hpp index 715dd1063f..a3d8852117 100644 --- a/include/eve/module/math/regular/expmx2.hpp +++ b/include/eve/module/math/regular/expmx2.hpp @@ -32,9 +32,6 @@ namespace eve //! { //! template< value T> //! T expmx2(T x) noexcept; -//! -//! template< eve::floating_value T > -//! as_complex_t expmx2(as_complex_t z) noexcept; //2 //! } //! @endcode //! diff --git a/include/eve/module/math/regular/expx2.hpp b/include/eve/module/math/regular/expx2.hpp index 8857d32602..e6c87166d0 100644 --- a/include/eve/module/math/regular/expx2.hpp +++ b/include/eve/module/math/regular/expx2.hpp @@ -32,9 +32,6 @@ namespace eve //! { //! template< floating_value T> //! T expx2(T x) noexcept; -//! -//! template< eve::floating_value T > -//! as_complex_t expx2(as_complex_t z) noexcept; //2 ///! } //! @endcode //! diff --git a/include/eve/module/math/regular/pow.hpp b/include/eve/module/math/regular/pow.hpp index 0f718a188b..681f7b76c6 100644 --- a/include/eve/module/math/regular/pow.hpp +++ b/include/eve/module/math/regular/pow.hpp @@ -31,15 +31,6 @@ namespace eve //! { //! template< eve::floating_value T, eve::floating_value U > //! auto pow(T x, U y) noexcept; -//! -//! template< eve::floating_value T, eve::floating_value U > //2 -//! auto pow(eve::as_complex_t x, U y) noexcept; -//! -//! template< eve::floating_value T, eve::floating_value U > //2 -//! auto pow(T x, eve::as_complex_t y) noexcept; -//! -//! template< eve::floating_value T, eve::floating_value U > -//! auto pow(eve::as_complex_t x, eve::as_complex_t y) noexcept; //2 //! } //! @endcode //! diff --git a/include/eve/module/math/regular/pow1p.hpp b/include/eve/module/math/regular/pow1p.hpp index 7429bdc57e..9efa025586 100644 --- a/include/eve/module/math/regular/pow1p.hpp +++ b/include/eve/module/math/regular/pow1p.hpp @@ -32,15 +32,6 @@ namespace eve //! { //! template< eve::floating_value T, eve::floating_value U > //! auto pow1p(T x, U y) noexcept; -//! -//! template< eve::floating_value T, eve::floating_value U > //2 -//! auto pow1p(eve::as_complex_t x, U y) noexcept; -//! -//! template< eve::floating_value T, eve::floating_value U > //2 -//! auto pow1p(T x, eve::as_complex_t y) noexcept; -//! -//! template< eve::floating_value T, eve::floating_value U > -//! auto pow1p(eve::as_complex_t x, eve::as_complex_t y) noexcept; //2 //! } //! @endcode //! diff --git a/include/eve/module/math/regular/pow_abs.hpp b/include/eve/module/math/regular/pow_abs.hpp index bd65ead6e6..a277fb07e6 100644 --- a/include/eve/module/math/regular/pow_abs.hpp +++ b/include/eve/module/math/regular/pow_abs.hpp @@ -31,15 +31,6 @@ namespace eve //! { //! template< eve::floating_value T, eve::floating_value U > //! auto pow_absm1(T x, U y) noexcept; -//! -//! template< eve::floating_value T, eve::floating_value U > //2 -//! auto pow_absm1(eve::as_complex_t x, U y) noexcept; -//! -//! template< eve::floating_value T, eve::floating_value U > //2 -//! auto pow_absm1(T x, eve::as_complex_t y) noexcept; -//! -//! template< eve::floating_value T, eve::floating_value U > -//! auto pow_absm1(eve::as_complex_t x, eve::as_complex_t y) noexcept; //2 //! } //! @endcode //! diff --git a/include/eve/module/math/regular/powm1.hpp b/include/eve/module/math/regular/powm1.hpp index 2a7a8e09f6..213de0df9f 100644 --- a/include/eve/module/math/regular/powm1.hpp +++ b/include/eve/module/math/regular/powm1.hpp @@ -31,15 +31,6 @@ namespace eve //! { //! template< eve::floating_value T, eve::floating_value U > //! auto powm1(T x, U y) noexcept; -//! -//! template< eve::floating_value T, eve::floating_value U > //2 -//! auto powm1(eve::as_complex_t x, U y) noexcept; -//! -//! template< eve::floating_value T, eve::floating_value U > //2 -//! auto powm1(T x, eve::as_complex_t y) noexcept; -//! -//! template< eve::floating_value T, eve::floating_value U > -//! auto powm1(eve::as_complex_t x, eve::as_complex_t y) noexcept; //2 //! } //! @endcode //! diff --git a/include/eve/module/math/regular/sec.hpp b/include/eve/module/math/regular/sec.hpp index 9821044b61..7b8de481c4 100644 --- a/include/eve/module/math/regular/sec.hpp +++ b/include/eve/module/math/regular/sec.hpp @@ -31,9 +31,6 @@ namespace eve //! { //! template< eve::floating_value T > //! T sec(T x) noexcept; -//! -//! template< eve::floating_value T > -//! as_complex_t sec(as_complex_t z) noexcept; //2 //! } //! @endcode //! diff --git a/include/eve/module/math/regular/sech.hpp b/include/eve/module/math/regular/sech.hpp index 68721e32ab..57fb8bd80d 100644 --- a/include/eve/module/math/regular/sech.hpp +++ b/include/eve/module/math/regular/sech.hpp @@ -31,9 +31,6 @@ namespace eve //! { //! template< eve::floating_value T > //! T sech(T x) noexcept; -//! -//! template< eve::floating_value T > -//! as_complex_t csch(as_complex_t z) noexcept; //2 //! } //! @endcode //! diff --git a/include/eve/module/math/regular/secpi.hpp b/include/eve/module/math/regular/secpi.hpp index dab653b5d0..3fdc02dce2 100644 --- a/include/eve/module/math/regular/secpi.hpp +++ b/include/eve/module/math/regular/secpi.hpp @@ -31,9 +31,6 @@ namespace eve //! { //! template< eve::floating_value T > //! T secpi(T x) noexcept; -//! -//! template< eve::floating_value T > -//! as_complex_t secpi(as_complex_t z) noexcept; //2 //! } //! @endcode //! diff --git a/include/eve/module/math/regular/sincos.hpp b/include/eve/module/math/regular/sincos.hpp index 94752d26e6..9760007083 100644 --- a/include/eve/module/math/regular/sincos.hpp +++ b/include/eve/module/math/regular/sincos.hpp @@ -31,9 +31,6 @@ namespace eve //! { //! template< eve::floating_value T > //! kumi::tuple sincos(T x) noexcept; -//! -//! template< eve::floating_value T > -//! as_complex_t sincos(as_complex_t z) noexcept; //2 //! } //! @endcode //! diff --git a/include/eve/module/math/regular/sinh.hpp b/include/eve/module/math/regular/sinh.hpp index 6d672b3724..7f7f8130fe 100644 --- a/include/eve/module/math/regular/sinh.hpp +++ b/include/eve/module/math/regular/sinh.hpp @@ -31,9 +31,6 @@ namespace eve //! { //! template< eve::floating_value T > //! T sinh(T x) noexcept; -//! -//! template< eve::floating_value T > -//! as_complex_t sinh(as_complex_t z) noexcept; //2 //! } //! @endcode //! diff --git a/include/eve/module/math/regular/sinhcosh.hpp b/include/eve/module/math/regular/sinhcosh.hpp index a838b42339..5c1ac22bda 100644 --- a/include/eve/module/math/regular/sinhcosh.hpp +++ b/include/eve/module/math/regular/sinhcosh.hpp @@ -32,9 +32,6 @@ namespace eve //! { //! template< eve::floating_value T > //! kumi::tuple sinhcosh(T x) noexcept; -//! -//! template< eve::floating_value T > -//! as_complex_t sinhcosh(as_complex_t z) noexcept; //2 //! } //! @endcode //! diff --git a/include/eve/module/math/regular/sinpi.hpp b/include/eve/module/math/regular/sinpi.hpp index 2e77fd172d..19f8ad2581 100644 --- a/include/eve/module/math/regular/sinpi.hpp +++ b/include/eve/module/math/regular/sinpi.hpp @@ -31,9 +31,6 @@ namespace eve //! { //! template< eve::floating_value T > //! T sinpi(T x) noexcept; -//! -//! template< eve::floating_value T > -//! as_complex_t cospi(as_complex_t z) noexcept; //2 //! } //! @endcode //! diff --git a/include/eve/module/math/regular/sinpicospi.hpp b/include/eve/module/math/regular/sinpicospi.hpp index 6d79da37b6..59286a3705 100644 --- a/include/eve/module/math/regular/sinpicospi.hpp +++ b/include/eve/module/math/regular/sinpicospi.hpp @@ -32,9 +32,6 @@ namespace eve //! { //! template< eve::floating_value T > //! kumi::tuple sinpicospi(T x) noexcept; -//! -//! template< eve::floating_value T > -//! as_complex_t sinpicospi(as_complex_t z) noexcept; //2 //! } //! @endcode //! diff --git a/include/eve/module/math/regular/tanh.hpp b/include/eve/module/math/regular/tanh.hpp index e5d1ec9a2d..2bec145a80 100644 --- a/include/eve/module/math/regular/tanh.hpp +++ b/include/eve/module/math/regular/tanh.hpp @@ -31,9 +31,6 @@ namespace eve //! { //! template< eve::floating_value T > //! T tanh(T x) noexcept; -//! -//! template< eve::floating_value T > -//! as_complex_t tanh(as_complex_t z) noexcept; //2 //! } //! @endcode //! diff --git a/test/doc/special/regular/deta.cpp b/test/doc/special/regular/deta.cpp deleted file mode 100644 index 8732b2252f..0000000000 --- a/test/doc/special/regular/deta.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include -#include -#include - -using wide_ft = eve::wide >; - -int main() -{ - wide_ft xf = { 3.0f, 2.0f, 1.0f, 0.5f}; - std::cout - << "---- simd" << std::endl - << "<- z = " << xf << std::endl - << "-> deta(1, xf) = " << eve::deta(1u, xf) << std::endl - << "-> deta(2, xf) = " << eve::deta(2u, xf) << std::endl - << "-> deta(3, xf) = " << eve::deta(3u, xf) << std::endl; - return 0; -} diff --git a/test/doc/special/regular/eta.cpp b/test/doc/special/regular/eta.cpp deleted file mode 100644 index f49da9ea70..0000000000 --- a/test/doc/special/regular/eta.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include -#include -#include - -using wide_ft = eve::wide >; - -int main() -{ - wide_ft xf = { 3.0f, 2.0f, 1.0f, 0.5f}; - std::cout - << "---- simd" << std::endl - << "<- z = " << xf << std::endl - << "-> eta(xf) = " << eve::eta(xf) << std::endl; - return 0; -} diff --git a/test/doc/special/regular/lambda.cpp b/test/doc/special/regular/lambda.cpp deleted file mode 100644 index c071078b19..0000000000 --- a/test/doc/special/regular/lambda.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include -#include -#include - -using wide_ft = eve::wide >; - -int main() -{ - wide_ft xf = { 3.0f, 2.0f, 1.0f, 0.5f}; - std::cout - << "---- simd" << std::endl - << "<- xf = " << xf << std::endl - << "-> lambda(xf) = " << eve::lambda(xf) << std::endl; - return 0; -} diff --git a/test/unit/module/core/dot.cpp b/test/unit/module/core/dot.cpp deleted file mode 100644 index 8e32a7257f..0000000000 --- a/test/unit/module/core/dot.cpp +++ /dev/null @@ -1,26 +0,0 @@ -//================================================================================================== -/** - EVE - Expressive Vector Engine - Copyright : EVE Project Contributors - SPDX-License-Identifier: BSL-1.0 -**/ -//================================================================================================== -#include "test.hpp" -#include -#include - -TTS_CASE_WITH( "Check behavior of dot on wide" - , eve::test::simd::ieee_reals - ,tts::generate( tts::randoms(-10, 10) - , tts::randoms(-10, 10) - ) - ) - (T const& a0, T const& a1) -{ - auto tol = 0.001; - using e_t = eve::element_type_t; - TTS_RELATIVE_EQUAL(eve::dot(a0, a0), eve::sqr_abs(a0), tol); - TTS_RELATIVE_EQUAL(eve::dot(a0, a1), eve::real(a0)*eve::real(a1), tol); - TTS_RELATIVE_EQUAL(eve::dot(a0, e_t(2)), e_t(2)*a0, tol); - TTS_RELATIVE_EQUAL(eve::dot(e_t(2), a0), e_t(2)*a0, tol); -};