Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

simthlib::Interleaving Class Reference

#include <interleaver.h>

Inheritance diagram for simthlib::Interleaving:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 Interleaving (int memoryLen)
 constructor, length of memory
virtual ~Interleaving ()
 destructor
size_t interleavedLength (size_t inputLength) const
void adjustMemoryLength (int newMemLength)
void setDeinterleavedLength (int deInterLen)
 sets the length of the next deinterleaved output sequence
int deinterleavedLength () const
 returns the length of the deinterleaved output sequence
template<class Seq>
void interleave (const Seq &orig, Seq *inter) const
 interleaves a sequence
template<class Seq_in, class Seq_out>
void deinterleave (const Seq_in &inter, Seq_out *deInter) const
 deinterleaves a sequence
int interleaveIndex (size_t index) const
 Returns the interleaved position for the given deinterleaved position.
int deinterleaveIndex (size_t index) const
 Returns the deinterleaved position for the given interleaved position.
int memoryLength () const
 returns the memory length of the interleaver
virtual void print (std::ostream &os, bool debugInfo=false) const

Static Public Member Functions

static void init (std::ifstream &is, Interleaving **intlv, const std::string &regionQualifier)
static std::auto_ptr< simthlib::Interleavinginit (std::ifstream &is, const std::string &regionQualifier)
static std::auto_ptr< simthlib::Interleavinginit (const std::string &type, const simth::PropertyList &pl)
static void register_init (simth::DeviceFactory &registration)

Protected Attributes

simth::checkedVector< int > interleavingVector
simth::checkedVector< int > deinterleavingVector

Constructor & Destructor Documentation

simthlib::Interleaving::Interleaving int  memoryLen  ) 
 

constructor, length of memory

virtual simthlib::Interleaving::~Interleaving  )  [inline, virtual]
 

destructor


Member Function Documentation

void simthlib::Interleaving::adjustMemoryLength int  newMemLength  ) 
 

template<class Seq_in, class Seq_out>
void simthlib::Interleaving::deinterleave const Seq_in &  inter,
Seq_out *  deInter
const
 

deinterleaves a sequence

int simthlib::Interleaving::deinterleavedLength  )  const [inline]
 

returns the length of the deinterleaved output sequence

int simthlib::Interleaving::deinterleaveIndex size_t  index  )  const [inline]
 

Returns the deinterleaved position for the given interleaved position.

static std::auto_ptr<simthlib::Interleaving> simthlib::Interleaving::init const std::string &  type,
const simth::PropertyList pl
[static]
 

Init for a given typename and propertylist, returning the resulting Interleaving object. This means for any Interleaving object, we only need part of the cpp type name and also the correct properties in the PropertyList, and then the resulting Interleaving object will be returned.

static std::auto_ptr<simthlib::Interleaving> simthlib::Interleaving::init std::ifstream &  is,
const std::string &  regionQualifier
[static]
 

Init for old-style par files, returning the resulting Interleaving object according to the settings in the regionQualifier section of the input stream

static void simthlib::Interleaving::init std::ifstream &  is,
Interleaving **  intlv,
const std::string &  regionQualifier
[static]
 

Init for old-style par files

template<class Seq>
void simthlib::Interleaving::interleave const Seq &  orig,
Seq *  inter
const
 

interleaves a sequence

size_t simthlib::Interleaving::interleavedLength size_t  inputLength  )  const [inline]
 

int simthlib::Interleaving::interleaveIndex size_t  index  )  const [inline]
 

Returns the interleaved position for the given deinterleaved position.

int simthlib::Interleaving::memoryLength  )  const [inline]
 

returns the memory length of the interleaver

virtual void simthlib::Interleaving::print std::ostream &  os,
bool  debugInfo = false
const [virtual]
 

Reimplemented in simthlib::NoInterleaving, simthlib::BlockInterleaving, simthlib::SymbolInterleaving, simthlib::Interleaving3d, simthlib::Interleaving3dModified, simthlib::PolyphaseInterleaving3d, simthlib::PseudoRandomInterleaving, simthlib::PseudoRandom3dInterleaving, and simthlib::PseudoRandomSymbolInterleaving.

static void simthlib::Interleaving::register_init simth::DeviceFactory registration  )  [static]
 

Register the available factory functions, which are quite a lot: All combinations of Interleave/Deinterleave, BitSeq/LlrSeq, and all different Interleaving classes. The factory function itself will always be Interleaver::init and Deinterleaver::init.

void simthlib::Interleaving::setDeinterleavedLength int  deInterLen  )  [inline]
 

sets the length of the next deinterleaved output sequence


Member Data Documentation

simth::checkedVector<int> simthlib::Interleaving::deinterleavingVector [protected]
 

simth::checkedVector<int> simthlib::Interleaving::interleavingVector [protected]
 


Generated on Tue Aug 9 14:38:13 2005 for simtheticlib by  doxygen 1.4.1