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.


The documentation for this class was generated from the following file:
Generated on Tue Oct 20 12:54:55 2009 for Sacado by doxygen 1.4.7