Stokhos Package Browser (Single Doxygen Collection)
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
src
sacado
kokkos
vector
Fad
Sacado_Fad_Expr_MP_Vector.hpp
Go to the documentation of this file.
1
// @HEADER
2
// ***********************************************************************
3
//
4
// Sacado Package
5
// Copyright (2006) Sandia Corporation
6
//
7
// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
8
// the U.S. Government retains certain rights in this software.
9
//
10
// This library is free software; you can redistribute it and/or modify
11
// it under the terms of the GNU Lesser General Public License as
12
// published by the Free Software Foundation; either version 2.1 of the
13
// License, or (at your option) any later version.
14
//
15
// This library is distributed in the hope that it will be useful, but
16
// WITHOUT ANY WARRANTY; without even the implied warranty of
17
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18
// Lesser General Public License for more details.
19
//
20
// You should have received a copy of the GNU Lesser General Public
21
// License along with this library; if not, write to the Free Software
22
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
23
// USA
24
// Questions? Contact David M. Gay (dmgay@sandia.gov) or Eric T. Phipps
25
// (etphipp@sandia.gov).
26
//
27
// ***********************************************************************
28
//
29
// The forward-mode AD classes in Sacado are a derivative work of the
30
// expression template classes in the Fad package by Nicolas Di Cesare.
31
// The following banner is included in the original Fad source code:
32
//
33
// ************ DO NOT REMOVE THIS BANNER ****************
34
//
35
// Nicolas Di Cesare <Nicolas.Dicesare@ann.jussieu.fr>
36
// http://www.ann.jussieu.fr/~dicesare
37
//
38
// CEMRACS 98 : C++ courses,
39
// templates : new C++ techniques
40
// for scientific computing
41
//
42
//********************************************************
43
//
44
// A short implementation ( not all operators and
45
// functions are overloaded ) of 1st order Automatic
46
// Differentiation in forward mode (FAD) using
47
// EXPRESSION TEMPLATES.
48
//
49
//********************************************************
50
// @HEADER
51
52
#ifndef SACADO_FAD_EXPR_MP_VECTOR_HPP
53
#define SACADO_FAD_EXPR_MP_VECTOR_HPP
54
55
#include "Sacado_Fad_Expression.hpp"
56
57
namespace
Stokhos
{
58
template
<
typename
Ord,
typename
Val,
int
Num,
typename
Dev>
59
class
StaticFixedStorage
;
60
}
61
62
namespace
Sacado
{
63
64
namespace
MP
{
65
template
<
typename
S>
class
Vector
;
66
}
67
68
namespace
Fad
{
69
71
74
template
<
typename
Ord,
typename
Val,
int
VecNum,
typename
Dev>
75
class
ConstExpr
<
Sacado
::
MP::Vector
< Stokhos::StaticFixedStorage<Ord,Val,VecNum,Dev> > > {
76
77
public
:
78
79
typedef
Sacado::MP::Vector< Stokhos::StaticFixedStorage<Ord,Val,VecNum,Dev>
>
ConstT
;
80
typedef
typename
ConstT::value_type
val_type
;
81
83
typedef
ConstT
value_type
;
84
86
typedef
typename
ScalarType<value_type>::type
scalar_type
;
87
89
typedef
ConstT
base_expr_type
;
90
92
KOKKOS_INLINE_FUNCTION
93
ConstExpr
(
const
ConstT
& constant) :
constant_
(constant) {}
94
96
KOKKOS_INLINE_FUNCTION
97
const
ConstT
&
val
()
const
{
return
constant_
; }
98
100
KOKKOS_INLINE_FUNCTION
101
const
val_type
&
val
(
int
j
)
const
{
return
constant_
.fastAccessCoeff(
j
); }
102
103
protected
:
104
106
const
ConstT
&
constant_
;
107
108
};
// class ConstExpr
109
110
}
// namespace Fad
111
112
}
// namespace Sacado
113
114
#endif
// SACADO_FAD_EXPR_MP_VECTOR_HPP
j
j
Definition
Sacado_Fad_Exp_MP_Vector.hpp:527
Sacado::Fad::ConstExpr< Sacado::MP::Vector< Stokhos::StaticFixedStorage< Ord, Val, VecNum, Dev > > >::scalar_type
ScalarType< value_type >::type scalar_type
Typename of scalar's (which may be different from ConstT).
Definition
Sacado_Fad_Expr_MP_Vector.hpp:86
Sacado::Fad::ConstExpr< Sacado::MP::Vector< Stokhos::StaticFixedStorage< Ord, Val, VecNum, Dev > > >::ConstT
Sacado::MP::Vector< Stokhos::StaticFixedStorage< Ord, Val, VecNum, Dev > > ConstT
Definition
Sacado_Fad_Expr_MP_Vector.hpp:79
Sacado::Fad::ConstExpr< Sacado::MP::Vector< Stokhos::StaticFixedStorage< Ord, Val, VecNum, Dev > > >::val_type
ConstT::value_type val_type
Definition
Sacado_Fad_Expr_MP_Vector.hpp:80
Sacado::Fad::ConstExpr< Sacado::MP::Vector< Stokhos::StaticFixedStorage< Ord, Val, VecNum, Dev > > >::value_type
ConstT value_type
Typename of argument values.
Definition
Sacado_Fad_Expr_MP_Vector.hpp:83
Sacado::Fad::ConstExpr< Sacado::MP::Vector< Stokhos::StaticFixedStorage< Ord, Val, VecNum, Dev > > >::val
KOKKOS_INLINE_FUNCTION const ConstT & val() const
Return value of operation.
Definition
Sacado_Fad_Expr_MP_Vector.hpp:97
Sacado::Fad::ConstExpr< Sacado::MP::Vector< Stokhos::StaticFixedStorage< Ord, Val, VecNum, Dev > > >::base_expr_type
ConstT base_expr_type
Typename of base-expressions.
Definition
Sacado_Fad_Expr_MP_Vector.hpp:89
Sacado::Fad::ConstExpr< Sacado::MP::Vector< Stokhos::StaticFixedStorage< Ord, Val, VecNum, Dev > > >::ConstExpr
KOKKOS_INLINE_FUNCTION ConstExpr(const ConstT &constant)
Constructor.
Definition
Sacado_Fad_Expr_MP_Vector.hpp:93
Sacado::Fad::ConstExpr< Sacado::MP::Vector< Stokhos::StaticFixedStorage< Ord, Val, VecNum, Dev > > >::val
KOKKOS_INLINE_FUNCTION const val_type & val(int j) const
Return value of operation.
Definition
Sacado_Fad_Expr_MP_Vector.hpp:101
Sacado::Fad::ConstExpr< Sacado::MP::Vector< Stokhos::StaticFixedStorage< Ord, Val, VecNum, Dev > > >::constant_
const ConstT & constant_
The constant.
Definition
Sacado_Fad_Expr_MP_Vector.hpp:106
Sacado::MP::Vector
Definition
Belos_SolverManager_MP_Vector.hpp:48
Stokhos::StaticFixedStorage
Statically allocated storage class.
Definition
Stokhos_StaticFixedStorage.hpp:69
Sacado::Fad
Definition
Sacado_Fad_DFad_MP_Vector.hpp:71
Sacado::MP
Definition
Belos_SolverManager_MP_Vector.hpp:47
Sacado
Definition
Kokkos_View_UQ_PCE_Fwd.hpp:62
Stokhos
Top-level namespace for Stokhos classes and functions.
Definition
Stokhos_AbstractPreconditionerFactory.hpp:48
Generated by
1.17.0