<T>LAPACK 0.1.1
C++ Template Linear Algebra PACKage
Loading...
Searching...
No Matches
tlapack::concepts::Complex Concept Reference

Concept definition

template<typename T>
concept tlapack::concepts::Complex = Arithmetic<T>&& std::equality_comparable<T>&&
Real<real_type<T>>&& requires(const T& a, T& b)
{
T();
T(real_type<T>(), real_type<T>());
b = a;
b = real(a);
{
real(a)
}
->std::same_as<real_type<T>>;
{
imag(a)
}
->std::same_as<real_type<T>>;
{
conj(a)
}
->std::same_as<T>;
abs(a);
sqrt(a);
}
constexpr real_type< T > real(const T &x) noexcept
Extends std::real() to real datatypes.
Definition utils.hpp:71
constexpr T conj(const T &x) noexcept
Extends std::conj() to real datatypes.
Definition utils.hpp:100
constexpr real_type< T > imag(const T &x) noexcept
Extends std::imag() to real datatypes.
Definition utils.hpp:86
Definition concepts.hpp:54
Definition concepts.hpp:164
Definition concepts.hpp:105
typename traits::real_type_traits< Types..., int >::type real_type
The common real type of the list of types.
Definition scalar_type_traits.hpp:113