CppMatrix
Loading...
Searching...
No Matches
tensor.cpp File Reference
#include <atomic>
#include <cstddef>
#include <functional>
#include <initializer_list>
#include <optional>
#include <span>
#include <stdexcept>
#include <stdfloat>
#include <unordered_map>
#include <utility>
#include <vector>
import cpp_matrix.neural_network:backend;
import cpp_matrix;
Include dependency graph for tensor.cpp:

Classes

class  cpp_matrix::neural_network::Tensor< Matrix >
 Tensor is a matrix supports auto grad. More...
 

Macros

#define OpOperators(M, op, Func)
 
#define ReverseOpOperators(M, op)
 
#define Operators(M)
 

Functions

 Operators (cpp_matrix::neural_network::Tensor< cpp_matrix::CpuMatrix< std::float16_t > >)
 
 Operators (cpp_matrix::neural_network::Tensor< cpp_matrix::CpuMatrix< std::float32_t > >)
 
 Operators (cpp_matrix::neural_network::Tensor< cpp_matrix::CudaMatrix< std::float16_t > >)
 
 Operators (cpp_matrix::neural_network::Tensor< cpp_matrix::CudaMatrix< std::float32_t > >)
 

Macro Definition Documentation

◆ Operators

#define Operators ( M)
Value:
ReverseOpOperators(M, +) \
ReverseOpOperators(M, *) \
OpOperators(M, /, DivBy)

◆ OpOperators

#define OpOperators ( M,
op,
Func )
Value:
export M operator op(typename M::ElementType v, const M& m) \
{ \
return m.Func(v); \
}

◆ ReverseOpOperators

#define ReverseOpOperators ( M,
op )
Value:
export M operator op(typename M::ElementType v, const M& m) \
{ \
return m.operator op(v); \
}