typename std::enable_if<
is_ad_number<F>::value &&
std::is_arithmetic<T>::value
- >::type * = 0)
+ >::type * = nullptr)
{
// We recursively call this function in case the AD number is a
// nested one. The recursion ends when the extracted value is
typename std::enable_if<
is_ad_number<F>::value &&
is_ad_number<T>::value
- >::type * = 0)
+ >::type * = nullptr)
{
return T(f);
}
value (const F &f,
typename std::enable_if<
!is_ad_number<F>::value
- >::type * = 0)
+ >::type * = nullptr)
-> decltype (dealii::internal::NumberType< std::complex<T> >::value(f))
{
// We call the other function defined in the numbers
typename std::enable_if<
is_ad_number<F>::value &&
std::is_arithmetic<T>::value
- >::type * = 0)
+ >::type * = nullptr)
{
// We recursively call this function in case the AD number is a
// nested one. The recursion ends when the extracted value is
std::is_arithmetic<ScalarType>::value
>::type>
{
+ /**
+ * Underlying floating point value type.
+ * This could real-valued or complex-valued.
+ */
+ typedef ScalarType scalar_type;
+
static ScalarType
get_directional_derivative(const ScalarType &/*x*/,
const unsigned int /*direction*/)