v0.14.0
Loading...
Searching...
No Matches
src
ftensor
src
FTensor
Dg
Dg_number.hpp
Go to the documentation of this file.
1
/* This is for expressions where a number is used for one or two
2
slots, and an index for the others, yielding a Tensor1_Expr,
3
Tensor2_Expr, or Tensor2_symmetric_Expr. */
4
5
#pragma once
6
7
namespace
FTensor
8
{
9
/* First or second slot. */
10
11
template
<
class
A,
class
T,
int
N>
class
Dg_number_0
12
{
13
A
iterA
;
14
15
public
:
16
T
operator()
(
const
int
N1
,
const
int
N2
)
const
{
return
iterA
(
N
,
N1
,
N2
); }
17
Dg_number_0
(
const
A
&a) :
iterA
(
a
) {}
18
};
19
20
template
<
class
A,
class
T,
int
N>
class
Dg_number_rhs_0
21
{};
22
23
/* Third slot. */
24
25
template
<
class
A,
class
T,
int
N>
class
Dg_number_2
26
{
27
A
iterA
;
28
29
public
:
30
T
operator()
(
const
int
N1
,
const
int
N2
)
const
{
return
iterA
(
N1
,
N2
,
N
); }
31
Dg_number_2
(
const
A
&a) :
iterA
(
a
) {}
32
};
33
34
template
<
class
A,
class
T,
int
N>
class
Dg_number_rhs_2
35
{};
36
37
/* Second and third slot (or first and third slot). */
38
39
template
<
class
A,
class
T,
int
N1,
int
N2>
class
Dg_number_12
40
{
41
A
iterA
;
42
43
public
:
44
T
operator()
(
const
int
N
)
const
{
return
iterA
(
N
,
N1
,
N2
); }
45
Dg_number_12
(
const
A
&a) :
iterA
(
a
) {}
46
};
47
48
template
<
class
A,
class
T,
int
N1,
int
N2>
class
Dg_number_rhs_12
49
{};
50
51
/* First and second slot. */
52
53
template
<
class
A,
class
T,
int
N1,
int
N2>
class
Dg_number_01
54
{
55
A
iterA
;
56
57
public
:
58
T
operator()
(
const
int
N
)
const
{
return
iterA
(
N1
,
N2
,
N
); }
59
Dg_number_01
(
const
A
&a) :
iterA
(
a
) {}
60
};
61
62
template
<
class
A,
class
T,
int
N1,
int
N2>
class
Dg_number_rhs_01
63
{};
64
}
N2
static Number< 2 > N2
Definition:
BasicFeTools.hpp:101
N1
static Number< 1 > N1
Definition:
BasicFeTools.hpp:100
a
constexpr double a
Definition:
approx_sphere.cpp:30
FTensor::Dg_number_01
Definition:
Dg_number.hpp:54
FTensor::Dg_number_01::Dg_number_01
Dg_number_01(const A &a)
Definition:
Dg_number.hpp:59
FTensor::Dg_number_01::operator()
T operator()(const int N) const
Definition:
Dg_number.hpp:58
FTensor::Dg_number_01::iterA
A iterA
Definition:
Dg_number.hpp:55
FTensor::Dg_number_0
Definition:
Dg_number.hpp:12
FTensor::Dg_number_0::operator()
T operator()(const int N1, const int N2) const
Definition:
Dg_number.hpp:16
FTensor::Dg_number_0::iterA
A iterA
Definition:
Dg_number.hpp:13
FTensor::Dg_number_0::Dg_number_0
Dg_number_0(const A &a)
Definition:
Dg_number.hpp:17
FTensor::Dg_number_12
Definition:
Dg_number.hpp:40
FTensor::Dg_number_12::operator()
T operator()(const int N) const
Definition:
Dg_number.hpp:44
FTensor::Dg_number_12::iterA
A iterA
Definition:
Dg_number.hpp:41
FTensor::Dg_number_12::Dg_number_12
Dg_number_12(const A &a)
Definition:
Dg_number.hpp:45
FTensor::Dg_number_2
Definition:
Dg_number.hpp:26
FTensor::Dg_number_2::iterA
A iterA
Definition:
Dg_number.hpp:27
FTensor::Dg_number_2::Dg_number_2
Dg_number_2(const A &a)
Definition:
Dg_number.hpp:31
FTensor::Dg_number_2::operator()
T operator()(const int N1, const int N2) const
Definition:
Dg_number.hpp:30
FTensor::Dg_number_rhs_01
Definition:
Dg_number.hpp:63
FTensor::Dg_number_rhs_0
Definition:
Dg_number.hpp:21
FTensor::Dg_number_rhs_12
Definition:
Dg_number.hpp:49
FTensor::Dg_number_rhs_2
Definition:
Dg_number.hpp:35
T
const double T
Definition:
mixed_reac_diff.cpp:158
FTensor
Tensors class implemented by Walter Landry.
Definition:
FTensor.hpp:51
A
constexpr AssemblyType A
Definition:
operators_tests.cpp:30
N
const int N
Definition:
speed_test.cpp:3
Generated by
Doxygen
1.9.5 and hosted at