Sacado Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Sacado.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 // @HEADER
29 
30 #ifndef SACADO_HPP
31 #define SACADO_HPP
32 
33 // Top-level Sacado include file for Sacado classes that work with Kokkos.
34 // Users should use this file instead of Sacado_No_Kokkos.hpp when working
35 // with Kokkos.
36 
37 // Ensure "Sacado.hpp" and "Sacado_No_Kokkos.hpp" are not both included
38 #ifdef SACADO_NO_KOKKOS_HPP
39 #error "Do not include Sacado.hpp and Sacado_No_Kokkos.hpp in the same file."
40 #endif
41 
42 // Version string
43 #include "Sacado_Version.hpp"
44 
45 // Declarations of all overloaded math functions
46 #include "Sacado_MathFunctions.hpp"
47 
48 // Traits for all of the Sacado classes -- Include these first so they are all
49 // defined before any nesting of AD classes
50 #ifdef SACADO_ENABLE_NEW_DESIGN
53 #endif
70 #if !defined(__CUDACC__) && !defined(__HIPCC__ )
75 #include "Sacado_trad_Traits.hpp"
76 #include "Sacado_trad2_Traits.hpp"
78 #endif
79 
80 // Standard forward AD classes
81 #ifdef SACADO_ENABLE_NEW_DESIGN
82 #include "Sacado_Fad_Exp_DFad.hpp"
83 #include "Sacado_Fad_Exp_SFad.hpp"
84 #include "Sacado_Fad_Exp_SLFad.hpp"
87 #endif
88 #include "Sacado_Fad_DFad.hpp"
89 #include "Sacado_Fad_SFad.hpp"
90 #include "Sacado_Fad_SLFad.hpp"
91 
92 // Expression-level-reverse forward AD classes
93 #include "Sacado_ELRFad_DFad.hpp"
94 #include "Sacado_ELRFad_SFad.hpp"
95 #include "Sacado_ELRFad_SLFad.hpp"
96 
97 // Caching forward AD classes
98 #include "Sacado_CacheFad_DFad.hpp"
99 #include "Sacado_CacheFad_SFad.hpp"
100 #include "Sacado_CacheFad_SLFad.hpp"
101 
102 // Caching expression-level reverse mode forward AD classes
106 
107 // Kokkos::View specialization for Sacado AD classes
108 #include "Kokkos_View_Fad.hpp"
109 
110 //
111 // AD classes that won't or don't build under Cuda
112 //
113 #ifndef __CUDACC__
114 
115 // Standard forward AD classes
116 #include "Sacado_Fad_DVFad.hpp"
117 #include "Sacado_Fad_Vector.hpp"
119 
120 // Reverse AD classes
121 #include "Sacado_trad.hpp"
122 #include "Sacado_trad2.hpp"
123 #include "Sacado_tradvec.hpp"
124 
125 // Taylor polynomial AD classes
126 #include "Sacado_Tay_Taylor.hpp"
127 
128 // Flop-counting classes
130 
131 #endif
132 
133 #endif // SACADO_KOKKOS_HPP