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

Binary expression template. More...

#include <Sacado_ELRFad_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.
typedef ExprT1::base_expr_type base_expr_type_1
 Typename of base-expression of first argument.
typedef ExprT2::base_expr_type base_expr_type_2
 Typename of base-expression of second argument.
typedef ExprPromote< base_expr_type_1,
base_expr_type_2 >::type 
base_expr_type
 Typename of base-expression.
typedef Op< ExprT1, ExprT2 > OpT

Public Member Functions

 BinaryExpr (const ExprT1 &expr1, const ExprT2 &expr2)
 Constructor.
int size () const
 Return size of the derivative array of the operation.
void computePartials (const value_type &bar, value_type partials[]) const
 Return partials w.r.t. arguments.
void getTangents (int i, value_type dots[]) const
 Rturn tangent component i of arguments.
value_type val () const
 Return value of operation.
template<int Arg>
value_type getTangent (int i) const
 Return tangent component i of argument Arg.
template<int Arg>
bool isActive () const
 Return whether argument is active.

Static Public Attributes

static const int num_args1 = ExprT1::num_args
 Number of arguments of left arg.
static const int num_args2 = ExprT2::num_args
 Number of arguments of right arg.
static const int num_args = num_args1 + num_args2
 Number of arguments.

Protected Attributes

ExprConstRef< ExprT1 >::type expr1_
 Left argument.
ExprConstRef< ExprT2 >::type expr2_
 Right argument.


Detailed Description

template<typename ExprT1, typename ExprT2, template< typename, typename > class Op>
class Sacado::ELRFad::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 static methods Op::computeValue() and Op::computeDx().


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