Opm::AutoDiff< Scalar > Class Template Reference

A simple class for forward-mode automatic differentiation. More...

#include <AutoDiff.hpp>

List of all members.

Public Member Functions

void operator+= (const Scalar &rhs)
void operator+= (const AutoDiff &rhs)
void operator-= (const Scalar &rhs)
void operator-= (const AutoDiff &rhs)
void operator*= (const Scalar &rhs)
void operator*= (const AutoDiff &rhs)
void operator/= (const Scalar &rhs)
void operator/= (const AutoDiff &rhs)
template<class Ostream >
Ostream & print (Ostream &os) const
const Scalar val () const
const Scalar der () const

Static Public Member Functions

static AutoDiff constant (const Scalar x)
 Create an AutoDiff object representing a constant, that is, its derivative is zero.
static AutoDiff variable (const Scalar x)
 Create an AutoDiff object representing a primary variable, that is, its derivative is one.
static AutoDiff function (const Scalar x, const Scalar dx)
 Create an AutoDiff object representing a function value and its derivative.

Detailed Description

template<typename Scalar>
class Opm::AutoDiff< Scalar >

A simple class for forward-mode automatic differentiation.

The class represents a single value and a single derivative. Only basic arithmetic operators and a few functions are implemented for it, it is mostly intended for simple experimentation.


Member Function Documentation

template<typename Scalar >
static AutoDiff Opm::AutoDiff< Scalar >::constant ( const Scalar  x  )  [inline, static]

Create an AutoDiff object representing a constant, that is, its derivative is zero.

template<typename Scalar >
static AutoDiff Opm::AutoDiff< Scalar >::function ( const Scalar  x,
const Scalar  dx 
) [inline, static]

Create an AutoDiff object representing a function value and its derivative.

template<typename Scalar >
static AutoDiff Opm::AutoDiff< Scalar >::variable ( const Scalar  x  )  [inline, static]

Create an AutoDiff object representing a primary variable, that is, its derivative is one.


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

Generated on 26 Mar 2018 by  doxygen 1.6.1