namespace rtm

// classes

template <
    int t_MaxDimZ,
    int t_MaxDimY,
    int t_HalfOrder,
    int t_PEZ,
    int t_PEX,
    int t_NumSM
    >
class Domain3D

template <
    typename t_DataType,
    int t_Order,
    int t_MaxDim = 1024,
    int t_MaxB = 40,
    int t_PE = t_Order / 2
    >
class RTM2D

template <
    typename t_Domain,
    typename t_DataType,
    int t_Order,
    int t_MaxDimZ = 128,
    int t_MaxDimY = 128,
    int t_MaxB = 40,
    int t_PEZ = 1,
    int t_PEX = 1
    >
class RTM3D

template <
    typename t_DataType,
    int t_Order,
    int t_MaxDim = 1024,
    int t_PE = 1
    >
class Stencil2D

template <
    typename t_DataType,
    int t_Order,
    int t_MaxDimZ = 128,
    int t_MaxDimY = 128,
    int t_PEZ = 1,
    int t_PEX = 1
    >
class Stencil3D

memSelStream

#include "rtm/dataMover.hpp"
template <
    typename t_InterfaceType,
    typename t_DataType
    >
void memSelStream (
    unsigned int p_n,
    unsigned int p_k,
    t_InterfaceType* p_mem0,
    t_InterfaceType* p_mem1,
    hls::stream <t_DataType>& p_str
    )

memSelStream reads data alternatively from two memory addresses to a stream

Parameters:

t_InterfaceType is the datatype in memory
t_DataType is the datatype in of the stream
p_n is the number of data to be read
p_k is the selection
p_mem0 is the first memory port
p_mem1 is the second memory port
p_str is the output stream

streamSelMem

#include "rtm/dataMover.hpp"
template <
    typename t_InterfaceType,
    typename t_DataType
    >
void streamSelMem (
    unsigned int p_n,
    unsigned int p_k,
    t_InterfaceType* p_mem0,
    t_InterfaceType* p_mem1,
    hls::stream <t_DataType>& p_str
    )

streamSelMem reads write alternatively to two memory addresses from a stream

Parameters:

t_InterfaceType is the datatype in memory
t_DataType is the datatype in of the stream
p_n is the number of data to be read
p_k is the selection
p_mem0 is the first memory port
p_mem1 is the second memory port
p_str is the input stream