sigstuff.h
上传用户:jtjnyq9001
上传日期:2014-11-21
资源大小:3974k
文件大小:2k
源码类别:

3G开发

开发平台:

Visual C++

  1. //
  2. //  File = sigstuff.h
  3. //
  4. #ifndef _SIGSTUFF_H_
  5. #define _SIGSTUFF_H_
  6. #include "typedefs.h"
  7. //#define BIT_SIGNAL(X) bitSignal* X=new bitSignal(#X);
  8. #define BIT_SIGNAL(X) Signal<bit_t>* X=new Signal<bit_t>(#X);
  9. #define BYTE_SIGNAL(X) Signal<byte_t>* X=new Signal<byte_t>(#X);
  10. #define COMPLEX_SIGNAL(X) Signal<f_complex_t>* X=new Signal<f_complex_t>(#X);
  11. //#define FLOAT_SIGNAL(X) floatSignal* X=new floatSignal(#X);
  12. #define FLOAT_SIGNAL(X) Signal<float>* X=new Signal<float>(#X);
  13. #define DOUBLE_SIGNAL(X) doubleSignal* X=new doubleSignal(#X);
  14. #define INT_SIGNAL(X) Signal<int>* X=new Signal<int>(#X);
  15. #define SHORT_SIGNAL(X) shortSignal* X=new shortSignal(#X);
  16. #define GET_OUTPUT_PTR(X) X->GetRawOutputPtr(this)
  17. #define GET_INPUT_PTR(X) X->GetRawInputPtr(this)
  18. #define MAKE_OUTPUT(X) {  if(Nest_Depth == 1) 
  19.   {Curr_Mod_Graph->InsertSignal( X, this, false);}}
  20. //#define MAKE_OUTPUT(X) {  if(Nest_Depth == 1) 
  21. //  {this->AddOutputSignal(X, false); 
  22. //  Curr_Mod_Graph->InsertSignal( X, this, false);}}
  23. #define MAKE_INPUT(X) { if(Nest_Depth == 1) 
  24.   {Curr_Mod_Graph->InsertSignal( X, this, true); 
  25.   X = X->AddConnection(  this, #X );}}
  26. //#define MAKE_INPUT(X) { if(Nest_Depth == 1) 
  27. //  {this->AddInputSignal(X, false); 
  28. //  Curr_Mod_Graph->InsertSignal( X, this, true); 
  29. //  X = X->AddConnection(  this, #X );}}
  30. #define CHANGE_RATE(X,Y,Z) Curr_Mod_Graph->ChangeRate(X->GetId(), Y, Z, this)
  31. #define SAME_RATE(X,Y) Curr_Mod_Graph->ChangeRate(X->GetId(), Y, 1.0, this)
  32. #define SET_BLOCK_SIZE(X,Y) Curr_Mod_Graph->SetBlockSize(X->GetId(),Y);
  33. //define SET_SAMP_RATE(X,Y) Curr_Mod_Graph->SetSampRate(X->GetId(),Y);
  34. #define SET_SAMP_INTVL(X,Y) Curr_Mod_Graph->SetSampIntvl(X->GetId(),Y);
  35. #define MAKE_SIG_FILE(X) ofstream X##_file(#X##".txt", ios::out)
  36. #define ENABLE_MULTIRATE Curr_Mod_Graph->EnableMultirate();
  37. #define ENABLE_CONST_INTERVAL Curr_Mod_Graph->EnableConstantInterval();
  38. #endif