cMHN
1.1
C++ library for learning MHNs with pRC
Loading...
Searching...
No Matches
pRC
prc
core
functors
is_unitary.hpp
Go to the documentation of this file.
1
// SPDX-License-Identifier: BSD-2-Clause
2
3
#ifndef pRC_CORE_FUNCTORS_IS_UNITARY_H
4
#define pRC_CORE_FUNCTORS_IS_UNITARY_H
5
6
#include <
prc/core/basic/type_traits.hpp
>
7
8
namespace
pRC
9
{
10
struct
IsUnitary
11
{
12
template<class X, If<True<decltype(isUnitary(declval<X>
()))>> = 0>
13
constexpr
decltype
(
auto
)
operator
()(
X
&&a)
const
14
{
15
return
isUnitary
(forward<X>(a));
16
}
17
18
template
<
class
X
,
class
XT
,
19
If<True<decltype(isUnitary(declval<X>
(),
declval<XT>
()))>> = 0>
20
constexpr
decltype
(
auto
)
operator
()(
X
&&a,
XT
&&tolerance)
const
21
{
22
return
isUnitary
(forward<X>(a), forward<XT>(tolerance));
23
}
24
};
25
}
26
#endif
// pRC_CORE_FUNCTORS_IS_UNITARY_H
type_traits.hpp
pRC
Definition
cholesky.hpp:18
pRC::makeConstantSequence
static constexpr auto makeConstantSequence()
Definition
sequence.hpp:402
pRC::isUnitary
static constexpr auto isUnitary(X &&a, TT const &tolerance=NumericLimits< TT >::tolerance())
Definition
is_unitary.hpp:19
pRC::IsUnitary
Definition
is_unitary.hpp:11
Generated by
1.10.0