SyTen
stensor_ops.h File Reference

Operators for smart tensors. More...

+ Include dependency graph for stensor_ops.h:
+ This graph shows which files directly or indirectly include this file:

Namespaces

namespace  syten
 Syten namespace.
 
namespace  syten::STensorImpl
 Contains all ‘smart’ tensor related classes and functions.
 

Functions

Stream operators
std::ostreamsyten::STensorImpl::operator<< (std::ostream &out, STensor const &arg)
 Complete output for a STensor. More...
 
std::string syten::STensorImpl::summarise (STensor const &arg)
 Summarises the STensor in a string (bases etc.) More...
 
Addition and subtraction of two STensor
void syten::STensorImpl::addScaled (STensor &a, STensor b, SDef const &s)
 Fused multiply-add for an STensor, adds b scaled by the factor s to a in-place. More...
 
STensor syten::STensorImpl::operator+ (SDef const &a, STensor b)
 Addition of a Scalar and an STensor, only valid for rank-0 tensors. More...
 
STensor syten::STensorImpl::operator+ (STensor a, SDef const &b)
 Addition of a Scalar and an STensor, only valid for rank-0 tensors. More...
 
STensor syten::STensorImpl::operator+ (STensor a, STensor b)
 Addition of two STensors. More...
 
STensor & syten::STensorImpl::operator+= (STensor &a, SDef const &b)
 Addition of a Scalar onto an STensor. More...
 
STensor & syten::STensorImpl::operator+= (STensor &a, STensor b)
 Addition of one STensor onto another. More...
 
STensor syten::STensorImpl::operator- (STensor a, STensor b)
 Subtraction of two STensors. More...
 
STensor & syten::STensorImpl::operator-= (STensor &a, STensor b)
 Subtraction of one STensor from another. More...
 
Multiplication of two STensor and scalar multiplication.
STensor syten::STensorImpl::operator* (SDef const &b, STensorProxy const &a)
 Scaling of one STensor or STensorProxy by a scalar. More...
 
STensor syten::STensorImpl::operator* (STensorProxy const &a, SDef const &b)
 Scaling of one STensor or STensorProxy by a scalar. More...
 
STensor syten::STensorImpl::operator* (STensorProxy const &a, STensorProxy const &b)
 Multiplication of two STensor and/or STensorProxy. More...
 
STensor & syten::STensorImpl::operator*= (STensor &a, SDef const &b)
 Scaling of one STensor by a scalar. More...
 
STensor & syten::STensorImpl::operator*= (STensor &a, STensorProxy const &b)
 Multiplication of one STensor by another or STensorProxy. More...
 
STensor syten::STensorImpl::operator/ (STensorProxy const &a, SDef const &b)
 Division of a STensor or STensorProxy by a scalar. More...
 
STensor syten::STensorImpl::operator/ (STensorProxy const &a, STensorProxy const &b)
 Division of one STensor or STensorProxy by another. More...
 
STensor & syten::STensorImpl::operator/= (STensor &a, SDef const &b)
 Division of a STensor by a scalar. More...
 
STensor & syten::STensorImpl::operator/= (STensor &a, STensorProxy const &b)
 Division of a STensor by another or a STensorProxy. More...
 
Comparison operators for STensor objects.
bool syten::STensorImpl::operator!= (SDef const &a, STensor const &b)
 Non-equality comparison of an STensor and a scalar. More...
 
bool syten::STensorImpl::operator!= (STensor const &a, SDef const &b)
 Non-equality comparison of an STensor and a scalar. More...
 
bool syten::STensorImpl::operator!= (STensor const &a, STensor const &b)
 Non-equality comparison of two STensor objects. More...
 
bool syten::STensorImpl::operator== (SDef const &b, STensor const &a)
 Equality comparison of an STensor and a scalar. More...
 
bool syten::STensorImpl::operator== (STensor const &a, SDef const &b)
 Equality comparison of an STensor and a scalar. More...
 
bool syten::STensorImpl::operator== (STensor const &a, STensor const &b)
 Equality comparison of two STensor objects. More...
 

Detailed Description

Operators for smart tensors.