CoDiPack  3.0.0
A Code Differentiation Package
SciComp TU Kaiserslautern
Loading...
Searching...
No Matches
codi::OperationPow< T_Real > Struct Template Reference

BinaryJacobianOperation implementation for pow. More...

#include <binaryOperators.hpp>

Inheritance diagram for codi::OperationPow< T_Real >:

Public Types

using Real = T_Real
 See BinaryJacobianOperation.
 
- Public Types inherited from codi::BinaryJacobianOperation< T_Real, OperationPow< T_Real > >
using Impl
 See BinaryJacobianOperation.
 
using Real
 See BinaryJacobianOperation.
 
- Public Types inherited from codi::BinaryOperation< T_Real, OperationPow< T_Real > >
using Impl
 See BinaryOperation.
 
using Real
 See BinaryOperation.
 
- Public Types inherited from codi::ComputeOperation< T_Real >
using Real = T_Real
 See ComputeOperation.
 

Static Public Member Functions

static inlinestd::string getMathRep ()
 Get the math symbol of the operation. E.g. + for operators and pow() for functions.
 
template<typename ArgA, typename ArgB>
static inlineReal gradientA (ArgA const &argA, ArgB const &argB, Real const &result)
 Compute $ \frac{\d f}{\d a} $.
 
template<typename ArgA, typename ArgB>
static inlineReal gradientB (ArgA const &argA, ArgB const &argB, Real const &result)
 Compute $ \frac{\d f}{\d b} $.
 
template<typename ArgA, typename ArgB>
static inlineReal primal (ArgA const &argA, ArgB const &argB)
 
- Static Public Member Functions inherited from codi::BinaryJacobianOperation< T_Real, OperationPow< T_Real > >
static inlineArgA applyAdjointArgA (Adjoint const &adjoint, Real const &result, ArgA const &argA, ArgB const &argB)
 
static inlineArgB applyAdjointArgB (Adjoint const &adjoint, Real const &result, ArgA const &argA, ArgB const &argB)
 
static inlineauto applyTangentArgA (Tangent const &tangent, Real const &result, ArgA const &argA, ArgB const &argB)
 
static inlineauto applyTangentArgB (Tangent const &tangent, Real const &result, ArgA const &argA, ArgB const &argB)
 
static inlineauto gradientA (ArgA const &argA, ArgB const &argB, Real const &result)
 Compute $ \frac{\d f}{\d a} $.
 
static inlineauto gradientB (ArgA const &argA, ArgB const &argB, Real const &result)
 Compute $ \frac{\d f}{\d b} $.
 
static inlineReal primal (ArgA const &argA, ArgB const &argB)
 
- Static Public Member Functions inherited from codi::BinaryOperation< T_Real, OperationPow< T_Real > >
static inlineauto applyAdjoint (Adjoint const &adjoint, Real const &result, ArgA const &argA, ArgB const &argB)
 
static inlineauto applyAdjointArgA (Adjoint const &adjoint, Real const &result, ArgA const &argA, ArgB const &argB)
 
static inlineauto applyAdjointArgB (Adjoint const &adjoint, Real const &result, ArgA const &argA, ArgB const &argB)
 
static inlineauto applyTangent (Tangent const &tangent, Real const &result, ArgA const &argA, ArgB const &argB)
 
static inlineauto applyTangentArgA (Tangent const &tangent, Real const &result, ArgA const &argA, ArgB const &argB)
 
static inlineauto applyTangentArgB (Tangent const &tangent, Real const &result, ArgA const &argA, ArgB const &argB)
 
static inlineReal primal (ArgA const &argA, ArgB const &argB)
 
- Static Public Member Functions inherited from codi::ComputeOperation< T_Real >
template<size_t argNumber, typename Adjoint, typename... Args>
static inlineauto applyAdjoint (Adjoint const &adjoint, Real const &result, Args const &... args)
 
template<size_t argNumber, typename Tangent, typename... Args>
static inlineauto applyTangent (Tangent const &tangent, Real const &result, Args const &... args)
 
static inlinestd::string getMathRep ()
 Get the math symbol of the operation. E.g. + for operators and pow() for functions.
 
template<typename... Args>
static inlineReal primal (Args const &... args)
 

Detailed Description

template<typename T_Real>
struct codi::OperationPow< T_Real >

BinaryJacobianOperation implementation for pow.

Member Function Documentation

◆ getMathRep()

template<typename T_Real>
static inlinestd::string codi::OperationPow< T_Real >::getMathRep ( )
inlinestatic

Get the math symbol of the operation. E.g. + for operators and pow() for functions.

◆ gradientA()

template<typename T_Real>
template<typename ArgA, typename ArgB>
static inlineReal codi::OperationPow< T_Real >::gradientA ( ArgA const & argA,
ArgB const & argB,
Real const & result )
inlinestatic

Compute $ \frac{\d f}{\d a} $.

◆ gradientB()

template<typename T_Real>
template<typename ArgA, typename ArgB>
static inlineReal codi::OperationPow< T_Real >::gradientB ( ArgA const & argA,
ArgB const & argB,
Real const & result )
inlinestatic

Compute $ \frac{\d f}{\d b} $.

◆ primal()

template<typename T_Real>
template<typename ArgA, typename ArgB>
static inlineReal codi::OperationPow< T_Real >::primal ( ArgA const & argA,
ArgB const & argB )
inlinestatic

Compute the primal value from the arguments. E.g. evaluates $ w = f(x)$

The argument types are the types of the result of a getValue call on the expression.


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