Tannic
A C++ Tensor Library
Loading...
Searching...
No Matches
tannic::operation::Addition Struct Reference

Binary element-wise addition of two tensor expressions. More...

#include <operations.hpp>

Public Member Functions

void forward (Tensor const &, Tensor const &, Tensor &) const
 

Static Public Member Functions

static constexpr type promote (type first, type second)
 
static constexpr Shape broadcast (Shape const &first, Shape const &second)
 

Detailed Description

Binary element-wise addition of two tensor expressions.

Used to build a lazily evaluated Binary<Addition, Augend, Addend> expression. Computation is deferred until forward() is called or assigned to a Tensor. Supports broadcasting and type promotion.

Example: Addition

Tensor A(float32, {2, 2}); A.initialize();
A[0, 0] = 1; A[0, 1] = 2;
A[1, 0] = 3; A[1, 1] = 4;
Tensor B(float32, {2, 2}); B.initialize();
B[0, 0] = 5; B[0, 1] = 6;
B[1, 0] = 7; B[1, 1] = 8;
auto C = A + B;
std::cout << C.forward();
// Output: [[6, 8], [10, 12]]
A multidimensional, strided tensor data structure.
Definition: tensor.hpp:105
void initialize(Environment environment=Host{}) const
Allocates the memory buffer for the tensor.

Member Function Documentation

◆ broadcast()

static constexpr Shape tannic::operation::Addition::broadcast ( Shape const &  first,
Shape const &  second 
)
inlinestaticconstexpr

◆ forward()

void tannic::operation::Addition::forward ( Tensor const &  ,
Tensor const &  ,
Tensor  
) const

◆ promote()

static constexpr type tannic::operation::Addition::promote ( type  first,
type  second 
)
inlinestaticconstexpr

The documentation for this struct was generated from the following file: