Reference documentation for deal.II version 9.0.0
Differentiation::AD::internal::ADNumberInfoFromEnum< ScalarType, ADNumberTypeCode, typename > Struct Template Reference

#include <deal.II/differentiation/ad/ad_number_traits.h>

Detailed Description

template<typename ScalarType, enum NumberTypes ADNumberTypeCode, typename = void>
struct Differentiation::AD::internal::ADNumberInfoFromEnum< ScalarType, ADNumberTypeCode, typename >

A struct that defines some fundamental information about a auto-differentiable number based on the ScalarType and the AD-enumeration selected by ADNumberTypeCode. This information is used in other convenience classes and templated functions to automatically determine information about the auto-differentiable number that has been selected to wrap the ScalarType.

The specializations of this class have to implement the following member data and type definitions:

// State whether the auto-differentiable number uses taping or not.
static const bool is_taped;
// The real-type for the auto-differentiable number
typedef <ADNumberType> real_type;
// The type of number returned when taking the first derivative of the @p real_type.
typedef <Scalar/ADNumberType> derivative_type;
// The number of derivative levels computable from the @p real_type.
static const unsigned int n_supported_derivative_levels;
Author
Jean-Paul Pelteret, 2017

Definition at line 110 of file ad_number_traits.h.


The documentation for this struct was generated from the following file: