|
Classes |
class | Array |
class | Device |
| Abstract base class of all devices used in a FreeConnectionSystem. More...
|
class | CompatibleDevice |
| DEPRECATED! Device class with lesser Constructor arguments. More...
|
class | DeviceFactory |
| Abstract base class of classes used to create devices. More...
|
class | SimulationSystem |
| Abstract base class of all classes representing a simulation system. More...
|
class | locking_error |
class | BufferReservoir |
class | checkedVector |
class | CmdLineParser |
class | Connection |
| This class represents a connection between two interfaces of two devices. More...
|
class | checkedVector2d |
class | vector2d |
class | intVector2d |
class | boolVector2d |
class | intVector3d |
class | Array2d |
class | ControlInterface |
| Abstract base class of control interfaces used to wrap member functions of devices with an common interface. More...
|
class | ControlInterfaceVoid |
| Abstract base class of control interfaces used to wrap functions with an empty argument lists. More...
|
class | ControlInterfaceVoidD |
| Control interface to wrap a function with an empty argument list. More...
|
class | ControlInterfaceT |
| Abstract base class of control interfaces used to wrap functions that takes one argument. More...
|
class | ControlInterfaceTD |
| Control interface to wrap a function that takes one argument. More...
|
class | DeviceDescription |
| Device description from devicelist XML file. More...
|
class | DeviceManager |
| Management of XML devicelist files. More...
|
class | DeviceDescriptionPriv |
class | DeviceManagerPriv |
class | DeviceSystemIntf |
| Abstract base class of a simulation system interface. More...
|
class | ParameterErr |
| Exception for errors in parameter files. More...
|
class | FitErr |
class | token_not_found |
| Exception for parameters that are not found. More...
|
class | no_such_parameter |
| Exception for when a parameter is not found. More...
|
class | file_not_found |
| Exception when a file is not found. More...
|
class | library_dependencies |
| Exception for when library dependencies are not fulfilled. More...
|
class | name_conflict |
| Exception for name conflicts of parameters (probably unused?). More...
|
class | type_error |
| Exception for type errors in parameter files. More...
|
class | connection_error |
| Exception for when newly created connections have errors. More...
|
class | type_mismatch_connection |
| Exception for when a type mismatch occurs when creating a connection. More...
|
class | no_connection_error |
| Exception for when an interface is not connected. More...
|
class | no_such_interface |
| Exception for non-existent interface numbers. More...
|
class | no_such_loop_control |
| Exception for non-existent loop control variables. More...
|
class | no_input_interface |
| Exception for interfaces that are not input interfaces. More...
|
class | no_such_scheme |
class | init_incomplete |
class | bad_device_file |
| Exception for error in device file. More...
|
class | device_not_found |
| Exception for nonexistent device. More...
|
class | bad_device_description |
| Exception for error in device description. More...
|
class | FreeConnectionSystem |
| Abstract base class of a simulation systems that supports a free connection architecture. More...
|
class | DataInterface |
| Abstract base class of input and output interfaces. More...
|
class | InputInterface |
| Abstract base class of all input interfaces. More...
|
class | InputInterfaceT |
| Input interface with template argument as data type. More...
|
class | OutputInterface |
| Abstract base class of all output interfaces. More...
|
class | OutputInterfaceT |
| Output interface with template argument as data type. More...
|
class | LoopControl |
| Loop controls are used to control the process flow of a simulation run. More...
|
class | CounterLoopControl |
| Loop control that increments a counter each iteration. More...
|
class | LinearLoopControl |
| Loop control that increments a value each iteration by a fixed addend. More...
|
class | ParameterDescription |
class | PathManager |
class | BadConversion |
class | GslRandomWrapper |
| This class wrapps the random genererator of the Gnu Scientific Library. More...
|
class | RandomGenerator |
class | RandomGeneratorGsl |
class | GaussRng |
| The function get() of this class returns a Gaussian random variate, with mean zero and standard deviation sigma. More...
|
class | RayleighRng |
| Rayleigh distributed random number generator. More...
|
class | JakesRng |
| Jakes distributed random number generator. More...
|
class | UniformRng |
| Random generator for uniform distributed variates. More...
|
class | ExponentialMaxLimitRng |
| Random generator for exponentially distributed variates with an upper interval bound for the generated values ("truncated exponential"). More...
|
class | DiscreteUniformRng |
| Random generator for discrete uniform distributed variates. More...
|
class | Property |
| A Property for the configuration of a device. More...
|
class | PropertyList |
| List of properties that configures a device. More...
|
class | SignalSequenceBase |
| Abstract base class for implementing access to a sequence. More...
|
class | SignalSequence |
| Base class for implementing access to a sequence. More...
|
class | SignalSequenceAccess |
| Implementation of a shallow copy of a sequence. More...
|
class | SignalSequenceStorage |
| This class implements a sequence, including all memory allocation for storage of that sequence. More...
|
class | NoAttributes |
class | TimeSignalAttributes |
class | FreqSignalAttributes |
class | LlvSeqAttributes |
class | LlvSeq |
class | LlvSeqStorage |
class | LlvSeqAccess |
class | LoadingInfo |
class | BasicSimulationSystemFactory |
| Abstract base class of factory classes used to create simulation systems. More...
|
class | SimulationSystemFactory |
class | StreamDrivenSystem |
| This class represents an stream driven system. More...
|
Sequence types with builtin-type names. |
typedef SignalSequence< bool > | BoolSeq |
typedef SignalSequence< int > | IntSeq |
typedef SignalSequence< double > | DoubleSeq |
typedef SignalSequence< Complex > | ComplexSeq |
typedef simth::Array< Complex > | ComplexArray |
Sequence types with transmission system names. |
typedef BoolSeq | BitSeq |
typedef IntSeq | ModIndSeq |
typedef DoubleSeq | PhaseSeq |
typedef ComplexSeq | ModSeq |
typedef ComplexArray | SignalSym |
typedef SignalSequence< SignalSym > | SymSeq |
typedef double | LlrType |
typedef double | LlvType |
typedef simth::checkedVector<
LlvType > | Llv |
typedef SignalSequence< LlrType > | LlrSeq |
typedef SignalSequence< Complex,
TimeSignalAttributes > | TimeSignal |
typedef SignalSequence< Complex,
FreqSignalAttributes > | FreqSignal |
Declarations for LoadingInfoSeq |
typedef simth::SignalSequence<
LoadingInfo > | LoadingInfoSeq |
enum | ModType {
UNMOD,
PSK_2,
PSK_4,
PSK_8,
RAM_8,
QAM_4,
QAM_16,
QAM_32,
RAM_32,
QAM_64,
QAM_128,
RAM_128,
QAM_256
} |
Global functions. |
This section contains globally defined (template) functions which do not particularly refer to any classes. These functions are defined in misc.h.
Global functions by definition should rather be avoided in an object oriented library. Please try to add this functionality inside your objects. If you really really think a global function would make sense, then please add a detailed description about the intended use case and (especially for template functions) potential side-effects.
Globally defined functions which only make sense with respect to certain classes should be especially avoided and rather be defined inside these classes.
|
template<class Type> |
Type | sqr (Type a) |
| Returns the square of a parameter.
|
Parameter file reading |
template<class T> |
bool | isComment (const std::string &token) |
void | nextLine (std::istream &inputStream) |
bool | seekToToken (const std::string &token, std::istream ¶meterStream, bool ignoreComments=true) |
bool | isToken (const std::string &token, std::istream ¶meterStream, bool ignoreComments=true) |
std::string | getStream (const std::string &token, std::istream &is) |
std::string | getStream (const std::string ®ion, const std::string &token, std::istream &is) |
std::string | getString (const std::string &token, std::istream ¶meterStream) |
std::string | getPathname (const std::string &token, std::istream ¶meterStream) |
simth::checkedVector< std::string > | getPathnameSeq (const std::string &token, std::istream &istr) |
bool | getBool (const std::string &token, std::istream ¶meterStream) |
int | getInt (const std::string &token, std::istream ¶meterStream) |
unsigned | getOctal (const std::string &istring) |
int | getOctal (const std::string &token, std::istream ¶meterStream) |
double | getDouble (const std::string &token, std::istream ¶meterStream) |
template<class T> |
checkedVector< T > | getDecSeq (const std::string &token, std::istream &is) |
std::vector< int > | getOctalSeq (const std::string &helpString) |
checkedVector< int > | getOctalSeq (const std::string &token, std::istream &is) |
template<class T> |
checkedVector< std::complex<
T > > | getComplSeq (const std::string &token, std::istream &is) |
std::string | getString (const std::string &token, std::istream ¶meterStream, std::string defaultStr) |
std::string | getLine (const std::string &token, std::istream ¶meterStream, std::string defaultStr) |
std::string | getPathname (const std::string &token, std::istream ¶meterStream, std::string defaultStr) |
bool | getBool (const std::string &token, std::istream ¶meterStream, bool defaultStatus) |
int | getInt (const std::string &token, std::istream ¶meterStream, int defaultVal) |
int | getOctal (const std::string &token, std::istream ¶meterStream, int defaultVal) |
double | getDouble (const std::string &token, std::istream ¶meterStream, double defaultVal) |
bool | seekToToken (const std::string ®ion, const std::string &token, std::istream ¶meterStream, const std::string endQualifier="[end]") |
bool | isToken (const std::string ®ion, const std::string &token, std::istream ¶meterStream) |
std::string | getString (const std::string ®ion, const std::string &token, std::istream ¶meterStream) |
std::string | getPathname (const std::string ®ion, const std::string &token, std::istream ¶meterStream) |
bool | getBool (const std::string ®ion, const std::string &token, std::istream ¶meterStream) |
int | getInt (const std::string ®ion, const std::string &token, std::istream ¶meterStream) |
int | getOctal (const std::string ®ion, const std::string &token, std::istream ¶meterStream) |
double | getDouble (const std::string ®ion, const std::string &token, std::istream ¶meterStream) |
Complex | getComplex (const std::string ®ion, const std::string &token, std::istream &is) |
checkedVector< int > | getDecSeq (const std::string ®ion, const std::string &token, std::istream &is) |
checkedVector< int > | getOctalSeq (const std::string ®ion, const std::string &token, std::istream &is) |
template<class T> |
std::vector< T > | getSeq (const std::string &) |
template<class T> |
checkedVector< T > | getSeq (const std::string ®ion, const std::string &token, std::istream &is) |
template<class T> |
checkedVector< T > | getSeq (const std::string ®ion, const std::string &token, std::istream &is, checkedVector< T > defaultSeq) |
template<class T> |
checkedVector< std::complex<
T > > | getComplSeq (const std::string ®ion, const std::string &token, std::istream &is) |
std::string | getString (const std::string ®ion, const std::string &token, std::istream ¶meterStream, std::string defaultStr) |
std::string | getLine (const std::string ®ion, const std::string &token, std::istream ¶meterStream, std::string defaultStr) |
std::string | getPathname (const std::string ®ion, const std::string &token, std::istream ¶meterStream, std::string defaultStr) |
bool | getBool (const std::string ®ion, const std::string &token, std::istream ¶meterStream, bool defaultStatus) |
int | getInt (const std::string ®ion, const std::string &token, std::istream ¶meterStream, int defaultVal) |
int | getOctal (const std::string ®ion, const std::string &token, std::istream ¶meterStream, int defaultVal) |
double | getDouble (const std::string ®ion, const std::string &token, std::istream ¶meterStream, double defaultVal) |
size_t | getSequenceLength (const std::string &token, std::istream ¶meterStream) |
size_t | getSequenceLength (const std::string &token, std::istream ¶meterStream, int defaultVal) |
size_t | getSequenceLength (const std::string ®ion, const std::string &token, std::istream ¶meterStream) |
size_t | getSequenceLength (const std::string ®ion, const std::string &token, std::istream ¶meterStream, int defaultVal) |
template<class T> |
std::ostream & | printParameter (const std::string &name, T value, std::ostream &os) |
bool | isFilemaskMatched (const char *mask, const char *s) |
Global constants for the simulation system |
const double | PI = M_PI |
const double | PI2 = 2.0 * PI |
const long double | ZERO_THRESHOLD = 1.0E-10 |
const unsigned int | MAX_BITS_PER_SYMBOL = 8 |
const unsigned int | MAX_STATES_PER_SYMBOL = 1<<MAX_BITS_PER_SYMBOL |
const unsigned int | MAX_GENERATOR_POLYNOM = 10000 |
Typedefs |
typedef std::complex< double > | Complex |
| Type for complex-valued numbers.
|
Enumerations |
enum | SequenceType { LLV_SEQ,
LLR_SEQ
} |
enum | ConversionFlag { CUT,
FILL,
FIT
} |
Functions |
template<class T> |
std::ostream & | operator<< (std::ostream &os, const Array< T > &a) |
std::ostream & | operator<< (std::ostream &os, const DeviceFactory::FactoryMap &fm) |
template<class T> |
std::ostream & | operator<< (std::ostream &os, const checkedVector< T > &seq) |
std::ostream & | operator<< (std::ostream &os, const checkedVector< Complex > &compSeq) |
template<class T> |
void | twoDim2oneDim (const Array2d< T > &arr, Array< T > *vec, bool fortranlike=false) |
template<class T> |
void | oneDim2twoDim (const Array< T > &vec, size_t xSize, size_t ySize, Array2d< T > *arr, bool fortranlike=false) |
template<class T> |
std::ostream & | operator<< (std::ostream &os, const Array2d< T > &a) |
std::ostream & | operator<< (std::ostream &os, const DeviceManager::DDMap &dds) |
void | readProperties (const std::string ®ion, std::istream ¶meterStream, PropertyList &properties) |
std::string | i2string (int value) |
std::string | oct2string (int value) |
int | oct2int (int oct) |
std::string | demangle (const char *symbol) |
template<typename T> |
std::string | stringify (const T &x) |
template<typename T> |
T | convertTo (const std::string &s, bool failIfLeftoverChars=true) |
double | arg (const Complex &comp) |
int | inversePower2 (int x) |
double | db2linearPowerRatio (double snr) |
double | db2reciprocalLinearPowerRatio (double snr) |
void | computeSplittedSizes (size_t inSize, size_t inBits1, size_t inBits2, size_t &outSize1, size_t &outSize2) |
template<class T> |
void | splitSequence (const T &in, T *out1, T *out2, size_t bits1, size_t bits2) |
template<class T> |
void | mergeSequences (const T &out1, const T &out2, size_t bits1, size_t bits2, T *outSeq) |
void | computeSplittedSizes (size_t inSize, size_t inBits1, size_t inBits2, size_t *outSize1, size_t *outSize2) |
double | gsl_ran_gaussian (const gsl_rng *, double) |
double | gsl_ran_rayleigh (const gsl_rng *, double) |
std::ostream & | operator<< (std::ostream &os, const PropertyList &pl) |
Property::StringPairList | to_stringpairs (const char **a) |
SequenceType | string2SequenceType (const std::string &s) |
template<class Val, class Attr, class Cont, class Stor, class Accs> |
std::ostream & | operator<< (std::ostream &os, const SignalSequenceBase< Val, Attr, Cont, Stor, Accs > &seq) |
template<class T, class A, class Cont> |
std::ostream & | operator<< (std::ostream &os, const SignalSequenceStorage< T, A, Cont > &seq) |
std::ostream & | operator<< (std::ostream &os, const BitSeq &bits) |
unsigned | bits2value (BitSeq::const_iterator first, BitSeq::const_iterator behindLast) |
bool | value2bit (unsigned index, size_t bitPos) |
void | value2bits (unsigned index, BitSeq::iterator first, BitSeq::iterator behindLast) |
double | llrValue2llvValue (LlrType llrValue, bool bitValue) |
bool | llrValue2bit (LlrType llrValue) |
LlvType | bit2llvValue (bool bit, bool index) |
LlrType | bit2llrValue (bool bit) |
void | bitSeq2llvSeq (const BitSeq &bits, LlvSeq &llv) |
void | bitSeq2llvSeq (const BitSeq &bits, LlvSeq *llv) |
void | llrSeq2bitLlvSeq (const LlrSeq &llr, LlvSeq &llv) |
void | llrSeq2bitLlvSeq (const LlrSeq &llr, LlvSeq *llv) |
void | llrSeq2bitSeq (const LlrSeq &from, BitSeq &bits) |
void | llrSeq2bitSeq (const LlrSeq &from, BitSeq *bits) |
void | llvSeq2bitLlvSeq (const LlvSeq &from, LlvSeq &bitLlv) |
void | llvSeq2bitLlvSeq (const LlvSeq &from, LlvSeq *bitLlv) |
void | llvSeq2llrSeq (const LlvSeq &from, LlrSeq &to, size_t outputLength=0) |
void | llvSeq2llrSeq (const LlvSeq &from, LlrSeq *to, size_t outputLength=0) |
void | bitLlvSeq2llvSeq (const LlvSeq &from, LlvSeq &to, unsigned bitsPerState=0) |
void | bitLlvSeq2llvSeq (const LlvSeq &from, LlvSeq *to, unsigned bitsPerState=0) |
void | bitSeq2IntSeq (const simth::BitSeq &bs, simth::checkedVector< int > &IntSeq, int numBits) |
size_t | getSymSeqLength (size_t bitSeqLen, unsigned bitsPerSym, ConversionFlag flag=FIT) |
Variables |
const double | HIGH_METRIC = 1e9 |
In this namespace, the base classes for a simulation system with Devices is defined. Also, the implementation for a Stream Driven system is here, along with the classes for the data streams called SignalSequence. There are additional helper classes for often needed data types as well.
However, the Devices that are needed to build such a system can be found in another library simtheticlib, which also defines its classes in another namespace simthlib.