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