Tannic
A C++ Tensor Library
Loading...
Searching...
No Matches
convolutions.hpp File Reference

Defines tensor convolutional operations. More...

#include <tuple>
#include <array>
#include <vector>
#include <cassert>
#include "concepts.hpp"
#include "types.hpp"
#include "traits.hpp"
#include "shape.hpp"
#include "tensor.hpp"
#include "exceptions.hpp"
#include "transformations.hpp"
Include dependency graph for convolutions.hpp:

Go to the source code of this file.

Classes

class  tannic::transformation::Convolution1D
 Expression for 1D convolution operations. More...
 
class  tannic::transformation::Convolution2D
 Expression for 2D convolution operations. More...
 

Namespaces

namespace  tannic
 
namespace  tannic::transformation
 

Functions

template<Expression Signal, Expression Kernel>
constexpr auto tannic::transformation::convolve1D (Signal &&signal, Kernel &&kernel, std::size_t stride, std::size_t padding)
 Creates a 1D convolution expression with uniform stride and padding.
 
template<Expression Signal, Expression Kernel>
constexpr auto tannic::transformation::convolve1D (Signal &&signal, Kernel &&kernel, std::array< std::size_t, 1 > strides, std::array< std::size_t, 1 > padding)
 Creates a 1D convolution expression with explicit stride and padding arrays.
 
template<Expression Signal, Expression Kernel>
constexpr auto tannic::transformation::convolve2D (Signal &&signal, Kernel &&kernel, std::size_t stride, std::size_t padding)
 Creates a 2D convolution expression with uniform stride and padding.
 
template<Expression Signal, Expression Kernel>
constexpr auto tannic::transformation::convolve2D (Signal &&signal, Kernel &&kernel, std::array< std::size_t, 2 > strides, std::array< std::size_t, 2 > padding)
 Creates a 2D convolution expression with explicit stride and padding arrays.
 

Detailed Description

Defines tensor convolutional operations.

Author
Eric Hermosis
Date
2025

This header provides tensor convolution operations implemented as expression templates.

Part of the Tannic Tensor Library.