MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
SumScalarFunction Class Reference

#include <ScalarFunctionsImpl.h>

Inheritance diagram for SumScalarFunction:
Collaboration diagram for SumScalarFunction:

Public Member Functions

 SumScalarFunction (const BasicScalarFunction *const b1, const BasicScalarFunction *const b2)
 
virtual ~SumScalarFunction (void)
 
virtual doublereal operator() (const doublereal x) const
 
virtual doublereal ComputeDiff (const doublereal t, const integer order=1) const
 
- Public Member Functions inherited from DifferentiableScalarFunction
virtual ~DifferentiableScalarFunction ()
 
- Public Member Functions inherited from BasicScalarFunction
virtual ~BasicScalarFunction ()
 

Private Attributes

const
DifferentiableScalarFunction
*const 
a1
 
const
DifferentiableScalarFunction
*const 
a2
 

Detailed Description

Definition at line 165 of file ScalarFunctionsImpl.h.

Constructor & Destructor Documentation

SumScalarFunction::SumScalarFunction ( const BasicScalarFunction *const  b1,
const BasicScalarFunction *const  b2 
)

Definition at line 795 of file ScalarFunctionsImpl.cc.

References NO_OP.

798 : a1(ptr_cast<const DifferentiableScalarFunction*const>(b1)),
799 a2(ptr_cast<const DifferentiableScalarFunction*const>(b2))
800 {
801  NO_OP;
802 }
#define NO_OP
Definition: myassert.h:74
const DifferentiableScalarFunction *const a1
const DifferentiableScalarFunction *const a2
SumScalarFunction::~SumScalarFunction ( void  )
virtual

Definition at line 804 of file ScalarFunctionsImpl.cc.

References NO_OP.

805 {
806  NO_OP;
807 }
#define NO_OP
Definition: myassert.h:74

Member Function Documentation

doublereal SumScalarFunction::ComputeDiff ( const doublereal  t,
const integer  order = 1 
) const
virtual

Implements DifferentiableScalarFunction.

Definition at line 816 of file ScalarFunctionsImpl.cc.

References a1, a2, ASSERTMSGBREAK, DifferentiableScalarFunction::ComputeDiff(), and operator()().

817 {
818  ASSERTMSGBREAK(order >=0, "Error in SumScalarFunction::ComputeDiff, order<0");
819  switch (order) {
820  case 0:
821  return operator()(x);
822 
823  default:
824  return a1->ComputeDiff(x, order)
825  + a2->ComputeDiff(x, order);
826  }
827 }
#define ASSERTMSGBREAK(expr, msg)
Definition: myassert.h:222
virtual doublereal operator()(const doublereal x) const
enum @55 order
virtual doublereal ComputeDiff(const doublereal x, const integer order=1) const =0
const DifferentiableScalarFunction *const a1
const DifferentiableScalarFunction *const a2

Here is the call graph for this function:

doublereal SumScalarFunction::operator() ( const doublereal  x) const
virtual

Implements DifferentiableScalarFunction.

Definition at line 810 of file ScalarFunctionsImpl.cc.

References a1, and a2.

Referenced by ComputeDiff().

811 {
812  return a1->operator()(x) + a2->operator()(x);
813 }
const DifferentiableScalarFunction *const a1
const DifferentiableScalarFunction *const a2

Member Data Documentation

const DifferentiableScalarFunction* const SumScalarFunction::a1
private

Definition at line 167 of file ScalarFunctionsImpl.h.

Referenced by ComputeDiff(), and operator()().

const DifferentiableScalarFunction* const SumScalarFunction::a2
private

Definition at line 168 of file ScalarFunctionsImpl.h.

Referenced by ComputeDiff(), and operator()().


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