ut_helpers.hpp File Reference

Implements helper primitives for modeling in the UT MoC. More...

#include <functional>
#include <tuple>
#include "ut_process_constructors.hpp"
Include dependency graph for ut_helpers.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 ForSyDe
 The namespace for ForSyDe.
 
 ForSyDe::UT
 The namespace for untimed MoC.
 

Functions

template<class T0 , template< class > class OIf, class T1 , template< class > class I1If>
comb< T0, T1 > * ForSyDe::UT::make_comb (const std::string &pName, const typename comb< T0, T1 >::functype &_func, const unsigned int &i1toks, OIf< T0 > &outS, I1If< T1 > &inp1S)
 Helper function to construct a comb process. More...
 
template<class T0 , template< class > class OIf, class T1 , template< class > class I1If, class T2 , template< class > class I2If>
comb2< T0, T1, T2 > * ForSyDe::UT::make_comb2 (const std::string pName, const typename comb2< T0, T1, T2 >::functype &_func, const unsigned int &i1toks, const unsigned int &i2toks, OIf< T0 > &outS, I1If< T1 > &inp1S, I2If< T2 > &inp2S)
 Helper function to construct a comb2 process. More...
 
template<class T0 , template< class > class OIf, class T1 , template< class > class I1If, class T2 , template< class > class I2If, class T3 , template< class > class I3If>
comb3< T0, T1, T2, T3 > * ForSyDe::UT::make_comb3 (const std::string &pName, const typename comb3< T0, T1, T2, T3 >::functype &_func, const unsigned int &i1toks, const unsigned int &i2toks, const unsigned int &i3toks, OIf< T0 > &outS, I1If< T1 > &inp1S, I2If< T2 > &inp2S, I3If< T3 > &inp3S)
 Helper function to construct a comb3 process. More...
 
template<class T0 , template< class > class OIf, class T1 , template< class > class I1If, class T2 , template< class > class I2If, class T3 , template< class > class I3If, class T4 , template< class > class I4If>
comb4< T0, T1, T2, T3, T4 > * ForSyDe::UT::make_comb4 (const std::string &pName, const typename comb4< T0, T1, T2, T3, T4 >::functype &_func, const unsigned int &i1toks, const unsigned int &i2toks, const unsigned int &i3toks, const unsigned int &i4toks, OIf< T0 > &outS, I1If< T1 > &inp1S, I2If< T2 > &inp2S, I3If< T3 > &inp3S, I4If< T4 > &inp4S)
 Helper function to construct a comb4 process. More...
 
template<typename T , template< class > class IIf, template< class > class OIf>
delay< T > * ForSyDe::UT::make_delay (const std::string &pName, const T &initval, OIf< T > &outS, IIf< T > &inpS)
 Helper function to construct a delay process. More...
 
template<typename T , template< class > class IIf, template< class > class OIf>
delayn< T > * ForSyDe::UT::make_delayn (const std::string &pName, const T &initval, const unsigned int &n, OIf< T > &outS, IIf< T > &inpS)
 Helper function to construct a delayn process. More...
 
template<typename IT , typename ST , template< class > class IIf, template< class > class OIf>
scan< IT, ST > * ForSyDe::UT::make_scan (const std::string &pName, const typename scan< IT, ST >::gamma_functype &_gamma_func, const typename scan< IT, ST >::ns_functype &_ns_func, const ST &init_st, OIf< ST > &outS, IIf< IT > &inpS)
 Helper function to construct a scan-based process. More...
 
template<typename IT , typename ST , template< class > class IIf, template< class > class OIf>
scand< IT, ST > * ForSyDe::UT::make_scand (const std::string &pName, const typename scan< IT, ST >::gamma_functype &_gamma_func, const typename scan< IT, ST >::ns_functype &_ns_func, const ST &init_st, OIf< ST > &outS, IIf< IT > &inpS)
 Helper function to construct a scand-based process. More...
 
template<typename IT , typename ST , typename OT , template< class > class IIf, template< class > class OIf>
moore< IT, ST, OT > * ForSyDe::UT::make_moore (const std::string &pName, const typename moore< IT, ST, OT >::gamma_functype &_gamma_func, const typename moore< IT, ST, OT >::ns_functype &_ns_func, const typename moore< IT, ST, OT >::od_functype &_od_func, const ST &init_st, OIf< OT > &outS, IIf< IT > &inpS)
 Helper function to construct a moore process. More...
 
template<typename IT , typename ST , typename OT , template< class > class IIf, template< class > class OIf>
mealy< IT, ST, OT > * ForSyDe::UT::make_mealy (const std::string &pName, const typename moore< IT, ST, OT >::gamma_functype &_gamma_func, const typename mealy< IT, ST, OT >::ns_functype &_ns_func, const typename mealy< IT, ST, OT >::od_functype &_od_func, const ST &init_st, OIf< OT > &outS, IIf< IT > &inpS)
 Helper function to construct a mealy process. More...
 
template<class T , template< class > class OIf>
constant< T > * ForSyDe::UT::make_constant (const std::string &pName, const T &initval, const unsigned long long &take, OIf< T > &outS)
 Helper function to construct a constant source process. More...
 
template<class T , template< class > class OIf>
source< T > * ForSyDe::UT::make_source (const std::string &pName, const typename source< T >::functype &_func, const T &initval, const unsigned long long &take, OIf< T > &outS)
 Helper function to construct a source process. More...
 
template<class T , template< class > class OIf>
vsource< T > * ForSyDe::UT::make_vsource (const std::string &pName, const std::vector< T > &in_vec, OIf< T > &outS)
 Helper function to construct a vector source process. More...
 
template<class T , template< class > class IIf>
sink< T > * ForSyDe::UT::make_sink (const std::string &pName, const typename sink< T >::functype &_func, IIf< T > &inS)
 Helper function to construct a sink process. More...
 
template<class T1 , template< class > class I1If, class T2 , template< class > class I2If, template< class > class OIf>
zip< T1, T2 > * ForSyDe::UT::make_zip (const std::string &pName, const unsigned int &i1toks, const unsigned int &i2toks, OIf< std::tuple< std::vector< T1 >, std::vector< T2 >>> &outS, I1If< T1 > &inp1S, I2If< T2 > &inp2S)
 Helper function to construct a zip process. More...
 
template<template< class > class IIf, class T1 , template< class > class O1If, class T2 , template< class > class O2If>
unzip< T1, T2 > * ForSyDe::UT::make_unzip (const std::string &pName, IIf< std::tuple< std::vector< T1 >, std::vector< T2 >>> &inpS, O1If< T1 > &out1S, O2If< T2 > &out2S)
 Helper function to construct an unzip process. More...
 
template<typename T , template< class > class IIf, template< class > class OIf>
fanout< T > * ForSyDe::UT::make_fanout (const std::string &pName, OIf< T > &outS, IIf< T > &inpS)
 Helper function to construct an unzipN process. More...
 

Detailed Description

Implements helper primitives for modeling in the UT MoC.

This file includes helper functions which facilliate construction of processes in the untimed MoC