30#ifndef SACADO_FAD_EXP_VIEWFAD_HPP
31#define SACADO_FAD_EXP_VIEWFAD_HPP
36#if defined(HAVE_SACADO_KOKKOSCORE)
37#include "Kokkos_Atomic.hpp"
38#include "impl/Kokkos_Error.hpp"
46 template <
typename T,
unsigned static_length,
unsigned static_str
ide,
typename U>
50 template <
typename T,
unsigned sl,
unsigned ss,
typename U>
58 using view_fad_type::view_fad_type;
72 template <
typename,
unsigned,
unsigned>
struct ViewFadType;
75 template<
class S,
unsigned length,
unsigned str
ide >
76 struct ViewFadType< Fad::Exp::GeneralFad<S>, length, stride > {
84 template<
class S,
unsigned length,
unsigned str
ide >
85 struct ViewFadType< const Fad::Exp::GeneralFad<S>, length, stride > {
90 template <
typename T,
unsigned static_length,
unsigned static_str
ide,
typename U>
91 struct BaseExprType< Fad::Exp::GeneralFad< Fad::Exp::ViewStorage<T,static_length,static_stride,U> > > {
100 template <
typename ValueT,
unsigned Size,
unsigned Str
ide,
typename Base>
101 struct ScalarType< Fad::Exp::ViewFad<ValueT,Size,Stride,Base> > {
109 template <
typename ValueT,
unsigned Size,
unsigned Str
ide,
typename Base>
110 struct ValueType< Fad::Exp::ViewFad<ValueT,Size,Stride,Base> > {
#define SACADO_INLINE_FUNCTION
Forward-mode AD class templated on the storage for the derivative array.
ViewFad< T, sl, ss, U > view_fad_type
SACADO_INLINE_FUNCTION view_fad_type * operator->()
SACADO_INLINE_FUNCTION view_fad_type & operator*()
Get the base Fad type from a view/expression.
ScalarType< ValueT >::type type
Base template specification for ScalarType.
Base template specification for ValueType.
Fad::Exp::ViewFad< typename S::value_type, length, stride, Fad::Exp::GeneralFad< S > > type
Fad::Exp::ViewFad< const typename S::value_type, length, stride, Fad::Exp::GeneralFad< S > > type
Get view type for any Fad type.