pRC
multi-purpose Tensor Train library for C++
Loading...
Searching...
No Matches
prc
core
functors
is_upper_triangular.hpp
Go to the documentation of this file.
1
// SPDX-License-Identifier: BSD-2-Clause
2
3
#ifndef pRC_CORE_FUNCTORS_IS_UPPER_TRIANGULAR_H
4
#define pRC_CORE_FUNCTORS_IS_UPPER_TRIANGULAR_H
5
6
#include <
prc/core/basic/type_traits.hpp
>
7
8
namespace
pRC
9
{
10
struct
IsUpperTriangular
11
{
12
template
<
class
X
,
13
If<True<decltype(isUpperTriangular(declval<X>
()))>> = 0>
14
constexpr
decltype
(
auto
)
operator
()(
X
&&a)
const
15
{
16
return
isUpperTriangular
(
forward<X>
(a));
17
}
18
19
template
<
class
X
,
class
XT
,
20
If<True<decltype(isUpperTriangular(declval<X>
(),
declval<XT>
()))>> =
21
0>
22
constexpr
decltype
(
auto
)
operator
()(
X
&&a,
XT
&&tolerance)
const
23
{
24
return
isUpperTriangular
(
forward<X>
(a),
forward<XT>
(tolerance));
25
}
26
};
27
}
28
#endif
// pRC_CORE_FUNCTORS_IS_UPPER_TRIANGULAR_H
type_traits.hpp
pRC
Definition
cholesky.hpp:18
pRC::isUpperTriangular
static constexpr auto isUpperTriangular(X &&a, TT const &tolerance=NumericLimits< TT >::tolerance())
Checks if a Tensor is upper triangular.
Definition
is_upper_triangular.hpp:27
pRC::copy
static constexpr Conditional< IsSatisfied< C >, RemoveConstReference< X >, X > copy(X &&a)
Definition
copy.hpp:13
pRC::IsUpperTriangular
Definition
is_upper_triangular.hpp:11
Generated by
1.9.8