Data Structures | Namespaces | Functions

/export/development/ViennaMath/viennamath/runtime/unary_operators.hpp File Reference

Defines the wrapper class for all unary operations. More...

#include <string>
#include <vector>
#include <math.h>
#include "viennamath/forwards.h"
#include "viennamath/runtime/op_interface.hpp"
#include "viennamath/compiletime/unary_op_tags.hpp"

Go to the source code of this file.

Data Structures

class  op_unary< UnaryOperation, InterfaceType >
 Main class for all unary operations. More...

Namespaces

namespace  viennamath
 

The main ViennaMath namespace. All types and functions for the user reside here.


Functions

template<typename InterfaceType , typename NumericT >
InterfaceType * diff_impl (const InterfaceType *e, op_id< NumericT >, const InterfaceType *diff_var)
 Differentation of a unary expression containing identity.
template<typename InterfaceType , typename NumericT >
InterfaceType * diff_impl (const InterfaceType *e, op_exp< NumericT >, const InterfaceType *diff_var)
 Differentation of exp(e), where e is an expression.
template<typename InterfaceType , typename NumericT >
InterfaceType * diff_impl (const InterfaceType *e, op_sin< NumericT >, const InterfaceType *diff_var)
 Differentation of sin(e), where e is an expression.
template<typename InterfaceType , typename NumericT >
InterfaceType * diff_impl (const InterfaceType *e, op_cos< NumericT >, const InterfaceType *diff_var)
 Differentation of cos(e), where e is an expression.
template<typename InterfaceType , typename NumericT >
InterfaceType * diff_impl (const InterfaceType *e, op_tan< NumericT >, const InterfaceType *diff_var)
 Differentation of tan(e), where e is an expression.
template<typename InterfaceType , typename NumericT >
InterfaceType * diff_impl (const InterfaceType *e, op_fabs< NumericT >, const InterfaceType *diff_var)
 Implementation of the differentation of |e|, where e is an expression. Since the modulus is not differentiable everywhere, an exception is thrown.
template<typename InterfaceType , typename NumericT >
InterfaceType * diff_impl (const InterfaceType *e, op_sqrt< NumericT >, const InterfaceType *diff_var)
 Implementation of the differentation of \sqrt{e}, where e is an expression.
template<typename InterfaceType , typename NumericT >
InterfaceType * diff_impl (const InterfaceType *e, op_log< NumericT >, const InterfaceType *diff_var)
 Implementation of the differentation of ln(e), where e is an expression.
template<typename InterfaceType , typename NumericT >
InterfaceType * diff_impl (const InterfaceType *e, op_log10< NumericT >, const InterfaceType *diff_var)
 Implementation of the differentation of log10(e), where e is an expression.
template<typename T >
bool unary_op_equal (T const &lhs, T const &rhs)
 Helper function returning true if the two arguments are of the same type.

Detailed Description

Defines the wrapper class for all unary operations.