47 struct C :
public A {};
69 template <
typename ad_type>
76 const bool is_value_ad =
78 const bool is_ad_value =
80 const bool is_scalar_ad =
82 const bool is_ad_scalar =
86 const bool is_int_ad =
95 #ifdef HAVE_SACADO_CXX11 99 typedef decltype(std::declval<ad_type>()*std::declval<ad_type>()) ad_expr_type;
100 typedef decltype(std::declval<value_type>()*std::declval<value_type>()) val_expr_type;
102 const bool is_ad_expr_ad =
104 const bool is_val_expr_ad =
121 typedef typename ad_type::value_type value_type;
125 success = success && test_ad_conversions<ad_type>(out);
126 success = success && test_ad_conversions<ad_ad_type>(out);
131 x.fastAccessDx(i) = 2.0;
132 ad_ad_type y = x + x;
142 ad_ad_type z = (x + x) + y;
169 success = success && test_ad_conversions<ad_type>(out);
170 success = success && test_ad_conversions<ad_ad_type>(out);
185 success = success && test_ad_conversions<ad_type>(out);
186 success = success && test_ad_conversions<fad_ad_type>(out);
208 TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT( Conversion, ADConversions,
ELRFad_DFadType )
209 TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT( Conversion, ADConversions,
ELRFad_SLFadType )
210 TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT( Conversion, ADConversions,
ELRFad_SFadType )
211 TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT( Conversion, ViewConversions,
ELRFad_VFadType )
217 TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT( Conversion, ADConversions,
CacheFad_DFadType )
219 TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT( Conversion, ADConversions,
CacheFad_SFadType )
220 TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT( Conversion, ViewConversions,
CacheFad_VFadType )
241 TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT( Conversion, OtherConversions,
LFadType )
242 TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT( Conversion, OtherConversions,
SFCType )
243 TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT( Conversion, OtherConversions,
TaylorType )
244 TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT( Conversion, OtherConversions,
CacheTaylorType )
245 TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT( Conversion, OtherConversions,
RadType )
246 TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT( Conversion, OtherConversions,
Rad2Type )
247 TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT( Conversion, OtherConversions,
RadVecType )
254 int main(
int argc,
char* argv[] ) {
MemPool * getMemoryPool(unsigned int dim)
Get memory pool for supplied dimension dim.
int main(int argc, char *argv[])
Sacado::Fad::DMFad< double > Fad_DMFadType
Forward-mode AD class using dynamic memory allocation.
#define TEST_EQUALITY_CONST(v1, v2)
TEUCHOS_UNIT_TEST_TEMPLATE_1_DECL(Conversion, ADConversions, AD)
Forward-mode AD class using dynamic memory allocation but no expression templates.
lambda< F >::type ::template apply< A1, A2, A3, A4, A5 >::type type
TEUCHOS_UNIT_TEST(Conversion, IsConvertible)
Sacado::Fad::DVFad< double > Fad_DVFadType
const int global_fad_size
Sacado::Fad::ViewFad< double, global_fad_size, 1, Fad_DFadType > Fad_VFadType
static int runUnitTestsFromMain(int argc, char *argv[])
Determine whether a given type is a view.
Sacado::Fad::SFad< double, global_fad_size > Fad_SFadType
Derivative array storage class using dynamic memory allocation.
Sacado::Fad::SimpleFad< double > Fad_SimpleFadType
Sacado::Fad::SLFad< double, global_fad_size > Fad_SLFadType
Forward-mode AD class using dynamic memory allocation and expression templates.
Templated flop counter class.
Sacado::Fad::DFad< double > Fad_DFadType
#define TEUCHOS_UNIT_TEST_TEMPLATE_1_INSTANT(TEST_GROUP, TEST_NAME, TYPE)
Forward-mode AD class using dynamic memory allocation and expression templates.
TEST_EQUALITY(rcp_dynamic_cast< const EnhancedNumberValidator< double > >(castedDep1->getValuesAndValidators().find("val1") ->second, true) ->getMax(), double1Vali->getMax())
bool test_ad_conversions(Teuchos::FancyOStream &out)