Special operator overloads containing a compiletime variable are defined here. More...
#include "viennamath/compiletime/ct_constant.hpp"
#include "viennamath/compiletime/ct_variable.hpp"
#include "viennamath/compiletime/ct_binary_expr.hpp"
#include <assert.h>
Go to the source code of this file.
Namespaces | |
namespace | viennamath |
The main ViennaMath namespace. All types and functions for the user reside here. | |
Functions | |
template<id_type id> | |
ct_binary_expr< ct_constant < 2 >, op_mult < default_numeric_type > , ct_variable< id > > | operator+ (ct_variable< id > const &lhs, ct_variable< id > const &other) |
Special overload: x + x becomes 2*x. | |
template<id_type id> | |
ct_constant< 0 > | operator- (ct_variable< id > const &lhs, ct_variable< id > const &other) |
Special overload: x - x becomes 0. | |
template<id_type id> | |
ct_constant< 1 > | operator/ (ct_variable< id > const &lhs, ct_variable< id > const &other) |
Special overload: x / x becomes 1. |
Special operator overloads containing a compiletime variable are defined here.