File FirstBase.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.
-
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
Functions
-
template<typename
DerivativeT
, typenameCrtp
>
Crtpoperator+
(double v, const FirstBase<DerivativeT, Crtp> &rhs)¶
-
template<typename
DerivativeT
, typenameCrtp
>
Crtpoperator-
(double v, const FirstBase<DerivativeT, Crtp> &rhs)¶
-
template<typename
DerivativeT
, typenameCrtp
>
Crtpoperator*
(double f, const FirstBase<DerivativeT, Crtp> &rhs)¶
-
template<typename
DerivativeT
, typenameCrtp
>
Crtpoperator/
(double f, const FirstBase<DerivativeT, Crtp> &rhs)¶
-
template<typename
DerivativeT
, typenameCrtp
>
Crtpsquare
(const FirstBase<DerivativeT, Crtp> &value)¶
-
template<typename
DerivativeT
, typenameCrtp
>
Crtpsqrt
(const FirstBase<DerivativeT, Crtp> &value)¶
-
template<typename
DerivativeT
, typenameCrtp
>
Crtpexp
(const FirstBase<DerivativeT, Crtp> &value)¶
-
template<typename
DerivativeT
, typenameCrtp
>
classFirstBase
- #include <FirstBase.h>
Base class representing values with some derivative type and allowing for the automatic calculation of first derivatives.
This class makes use of CRTP so that the functions will directly have the correct return type for the derived classes.
Public Functions
-
void
setValue
(double v) Set the value of the function.
-
double
value
() const Get the value of the function.
- Return
double
-
const DerivativeT &
derivatives
() const Get derivatives.
- Return
DerivativeT& Object type of derivatives in the derived class.
-
const Crtp &
operator+=
(double v) Definition of operators for differentiation rules.
-
const Crtp &
operator-=
(double v)¶
-
const Crtp &
operator+=
(const FirstBase &rhs)¶
-
const Crtp &
operator-=
(const FirstBase &rhs)¶
-
const Crtp &
operator*=
(const FirstBase &rhs)¶
-
const Crtp &
operator/=
(const FirstBase &rhs)¶
-
const Crtp &
operator*=
(double rhs)¶
-
const Crtp &
operator/=
(double rhs)¶
-
Crtp
operator+
() const¶
-
Crtp
operator-
() const¶
-
Crtp
operator+
(double f) const¶
-
Crtp
operator-
(double f) const¶
-
Crtp
operator+
(const FirstBase &rhs) const¶
-
Crtp
operator-
(const FirstBase &rhs) const¶
-
Crtp
operator*
(double f) const¶
-
Crtp
operator/
(double f) const¶
-
Crtp
operator*
(const FirstBase &rhs) const¶
-
Crtp
operator/
(const FirstBase &rhs) const¶
-
Crtp
opposite
() const Returns the opposite of the derivative.
- Return
Crtp Type of the derived class
Protected Functions
-
FirstBase
(double v, DerivativeT d)¶
-
void
-
template<typename
-
namespace
-
namespace