Sacado::CacheFad::BinaryExpr< ExprT1, ExprT2, Op > Class Template Reference

Binary expression template. More...

#include <Sacado_CacheFad_Expression.hpp>

List of all members.

Public Types

typedef ExprT1::value_type value_type_1
 Typename of the first argument value.
typedef ExprT2::value_type value_type_2
 Typename of the second argument value.
typedef Sacado::Promote< value_type_1,
value_type_2 >::type 
value_type
 Typename of the expression values.

Public Member Functions

 BinaryExpr (const ExprT1 &expr1, const ExprT2 &expr2)
 Constructor.
int size () const
 Return size of the derivative array of the operation.
bool hasFastAccess () const
 Return if operation has fast access.
value_type val () const
 Return value of operation.
value_type dx (int i) const
 Return derivative component i of operation.
value_type fastAccessDx (int i) const
 Return derivative component i of operation.

Protected Attributes

ExprConstRef< ExprT1 >::type expr1_
 Left argument.
ExprConstRef< ExprT2 >::type expr2_
 Right argument.
Op< ExprT1, ExprT2 > op_
 Operator.


Detailed Description

template<typename ExprT1, typename ExprT2, template< typename, typename > class Op>
class Sacado::CacheFad::BinaryExpr< ExprT1, ExprT2, Op >

Binary expression template.

This template class represents a binary operation of the form op(a1,a2) where a1 is the left argument of type ExprT1, r is the right argument of type ExprT2, and op is the operation represented by type Op. The operation is evaluated by the non-static methods Op::computeValue() and Op::computeDx().

It is assumed Op::computeValue() will cache its result for later Op::computeDx() calls.

Definition at line 217 of file Sacado_CacheFad_Expression.hpp.


Member Typedef Documentation

template<typename ExprT1, typename ExprT2, template< typename, typename > class Op>
typedef ExprT1::value_type Sacado::CacheFad::BinaryExpr< ExprT1, ExprT2, Op >::value_type_1

Typename of the first argument value.

Definition at line 222 of file Sacado_CacheFad_Expression.hpp.

template<typename ExprT1, typename ExprT2, template< typename, typename > class Op>
typedef ExprT2::value_type Sacado::CacheFad::BinaryExpr< ExprT1, ExprT2, Op >::value_type_2

Typename of the second argument value.

Definition at line 225 of file Sacado_CacheFad_Expression.hpp.

template<typename ExprT1, typename ExprT2, template< typename, typename > class Op>
typedef Sacado::Promote<value_type_1, value_type_2>::type Sacado::CacheFad::BinaryExpr< ExprT1, ExprT2, Op >::value_type

Typename of the expression values.

Definition at line 229 of file Sacado_CacheFad_Expression.hpp.


Constructor & Destructor Documentation

template<typename ExprT1, typename ExprT2, template< typename, typename > class Op>
Sacado::CacheFad::BinaryExpr< ExprT1, ExprT2, Op >::BinaryExpr ( const ExprT1 &  expr1,
const ExprT2 &  expr2 
) [inline]

Constructor.

Definition at line 232 of file Sacado_CacheFad_Expression.hpp.


Member Function Documentation

template<typename ExprT1, typename ExprT2, template< typename, typename > class Op>
int Sacado::CacheFad::BinaryExpr< ExprT1, ExprT2, Op >::size (  )  const [inline]

Return size of the derivative array of the operation.

Definition at line 236 of file Sacado_CacheFad_Expression.hpp.

template<typename ExprT1, typename ExprT2, template< typename, typename > class Op>
bool Sacado::CacheFad::BinaryExpr< ExprT1, ExprT2, Op >::hasFastAccess (  )  const [inline]

Return if operation has fast access.

Definition at line 242 of file Sacado_CacheFad_Expression.hpp.

template<typename ExprT1, typename ExprT2, template< typename, typename > class Op>
value_type Sacado::CacheFad::BinaryExpr< ExprT1, ExprT2, Op >::val (  )  const [inline]

Return value of operation.

Definition at line 246 of file Sacado_CacheFad_Expression.hpp.

template<typename ExprT1, typename ExprT2, template< typename, typename > class Op>
value_type Sacado::CacheFad::BinaryExpr< ExprT1, ExprT2, Op >::dx ( int  i  )  const [inline]

Return derivative component i of operation.

Definition at line 250 of file Sacado_CacheFad_Expression.hpp.

template<typename ExprT1, typename ExprT2, template< typename, typename > class Op>
value_type Sacado::CacheFad::BinaryExpr< ExprT1, ExprT2, Op >::fastAccessDx ( int  i  )  const [inline]

Return derivative component i of operation.

Definition at line 254 of file Sacado_CacheFad_Expression.hpp.


Member Data Documentation

template<typename ExprT1, typename ExprT2, template< typename, typename > class Op>
ExprConstRef<ExprT1>::type Sacado::CacheFad::BinaryExpr< ExprT1, ExprT2, Op >::expr1_ [protected]

Left argument.

Definition at line 261 of file Sacado_CacheFad_Expression.hpp.

template<typename ExprT1, typename ExprT2, template< typename, typename > class Op>
ExprConstRef<ExprT2>::type Sacado::CacheFad::BinaryExpr< ExprT1, ExprT2, Op >::expr2_ [protected]

Right argument.

Definition at line 264 of file Sacado_CacheFad_Expression.hpp.

template<typename ExprT1, typename ExprT2, template< typename, typename > class Op>
Op<ExprT1,ExprT2> Sacado::CacheFad::BinaryExpr< ExprT1, ExprT2, Op >::op_ [protected]

Operator.

Definition at line 267 of file Sacado_CacheFad_Expression.hpp.


The documentation for this class was generated from the following file:
Generated on Tue Oct 20 12:55:13 2009 for Sacado Package Browser (Single Doxygen Collection) by doxygen 1.4.7