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. | |
Defines the wrapper class for all unary operations.
1.7.1