Reference documentation for deal.II version 9.2.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
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
using real_type = <ADNumberType>;
// The type of number returned when taking the first derivative of the @p real_type.
using derivative_type = <Scalar/ADNumberType>;
// 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 116 of file ad_number_traits.h.


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