File AutomaticDifferentiationTypesHelper.h

Copyright

This code is licensed under the 3-clause BSD license.

Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.

See LICENSE.txt for details.

template<>
struct Value3DOrder<derivOrder::one>

Public Types

template<>
using ValueType = First3D
template<>
struct Value3DOrder<derivOrder::two>

Public Types

template<>
using ValueType = Second3D
template<>
struct Value1DOrder<derivOrder::one>

Public Types

template<>
using ValueType = First1D
template<>
struct Value1DOrder<derivOrder::two>

Public Types

template<>
using ValueType = Second1D
namespace Scine

This header file contains functions that allow for common notation for common things that can be done at a different degree of derivatives.

This header contains alias definitions defining which classes to use for the different degrees of derivatives.

namespace Utils
namespace AutomaticDifferentiation

Typedefs

using Value1DType = typename Value1DOrder<o>::ValueType

Templated type for a value in 1 dimension.

using Value3DType = typename Value3DOrder<o>::ValueType

Templated type for a value in 3 dimension.

template<derivOrder O>
struct Value3DOrder
#include <AutomaticDifferentiationTypesHelper.h>

Values in 3 dimensions.

Public Types

template<>
using ValueType = double
template<>
struct Value3DOrder<derivOrder::one>

Public Types

template<>
using ValueType = First3D
template<>
struct Value3DOrder<derivOrder::two>

Public Types

template<>
using ValueType = Second3D
template<derivOrder O>
struct Value1DOrder
#include <AutomaticDifferentiationTypesHelper.h>

Values in 1 dimension.

Public Types

template<>
using ValueType = double
template<>
struct Value1DOrder<derivOrder::one>

Public Types

template<>
using ValueType = First1D
template<>
struct Value1DOrder<derivOrder::two>

Public Types

template<>
using ValueType = Second1D