4#ifndef TETL_LINALG_CONJUGATED_HPP
5#define TETL_LINALG_CONJUGATED_HPP
7#include <etl/_linalg/accessor_conjugate.hpp>
8#include <etl/_linalg/concepts.hpp>
9#include <etl/_type_traits/is_arithmetic.hpp>
10#include <etl/_type_traits/remove_cv.hpp>
15template <
typename ElementType,
typename Extents,
typename Layout,
typename Accessor>
16[[nodiscard]]
constexpr auto conjugated(
mdspan<ElementType, Extents, Layout, Accessor> a)
18 if constexpr (is_arithmetic_v<remove_cv_t<ElementType>>) {
19 return mdspan<ElementType, Extents, Layout, Accessor>{
28 return mdspan<element_type, Extents, Layout, accessor_type>{
31 accessor_type(a.accessor()),
37template <
typename ElementType,
typename Extents,
typename Layout,
typename NestedAccessor>
40 using element_type =
typename NestedAccessor::element_type;
41 using accessor_type = NestedAccessor;
43 return mdspan<element_type, Extents, Layout, accessor_type>{
46 a.accessor().nested_accessor(),
constexpr auto conjugated(mdspan< ElementType, Extents, Layout, accessor_conjugate< NestedAccessor > > a)
Definition conjugated.hpp:38
constexpr auto conjugated(mdspan< ElementType, Extents, Layout, Accessor > a)
Definition conjugated.hpp:16
Definition accessor_conjugate.hpp:13
Definition adjacent_find.hpp:9
Definition accessor_conjugate.hpp:17