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

3G开发

开发平台:

Visual C++

  1. //
  2. //  File = delay_modes.cpp
  3. //
  4. #include <stdlib.h>
  5. #include <fstream>
  6. #include <string.h>
  7. #include "parmfile.h"
  8. #include "delay_modes.h"
  9. #include "psstream.h"
  10. extern ParmFile *ParmInput;
  11. //======================================================
  12. DELAY_MODE_T GetDelayModeParm(const char* parm_nam)
  13. {
  14.   char parm_str[30];
  15.   if(ParmInput->GetParmStr(parm_nam, parm_str)!=0)
  16.     {
  17.     ParmInput->RestartBlock();
  18.     if(ParmInput->GetParmStr(parm_nam, parm_str) !=0)
  19.       {
  20.       ErrorStream <<  "Error: parameter '" << parm_nam 
  21.                   << "' not found after 2 attempts" << endl;
  22.       exit(-1);
  23.       }
  24.     }
  25.   if(!strcmp(parm_str,"DELAY_MODE_NONE")) return(DELAY_MODE_NONE);
  26.   if(!strcmp(parm_str,"DELAY_MODE_FIXED")) return(DELAY_MODE_FIXED);
  27.   if(!strcmp(parm_str,"DELAY_MODE_DYNAMIC")) return(DELAY_MODE_DYNAMIC);
  28.   if(!strcmp(parm_str,"DELAY_MODE_GATED")) return(DELAY_MODE_GATED);
  29.   ErrorStream <<  "Error: '" << parm_str 
  30.               << "' is not a legal value for type DELAY_MODE_T" << endl;
  31.   exit(-1);
  32. }
  33. ostream& operator<<( ostream& s, const DELAY_MODE_T& dly_mode_val)
  34. {
  35.   switch (dly_mode_val)
  36.     {
  37.     case DELAY_MODE_NONE:
  38.       s << "DELAY_MODE_NONE";
  39.       break;
  40.     case DELAY_MODE_FIXED:
  41.       s << "DELAY_MODE_FIXED";
  42.       break;
  43.     case DELAY_MODE_DYNAMIC:
  44.       s << "DELAY_MODE_DYNAMIC";
  45.       break;
  46.     case DELAY_MODE_GATED:
  47.       s << "DELAY_MODE_GATED";
  48.       break;
  49.     default:
  50.       s << "unknown DELAY_MODE_T";
  51.     } // end of switch on dly_mode_val
  52.  return s;
  53. }
  54. PracSimStream& operator<<( PracSimStream& s, const DELAY_MODE_T& dly_mode_val)
  55. {
  56.   switch (dly_mode_val)
  57.     {
  58.     case DELAY_MODE_NONE:
  59.       s << "DELAY_MODE_NONE";
  60.       break;
  61.     case DELAY_MODE_FIXED:
  62.       s << "DELAY_MODE_FIXED";
  63.       break;
  64.     case DELAY_MODE_DYNAMIC:
  65.       s << "DELAY_MODE_DYNAMIC";
  66.       break;
  67.     case DELAY_MODE_GATED:
  68.       s << "DELAY_MODE_GATED";
  69.       break;
  70.     default:
  71.       s << "unknown DELAY_MODE_T";
  72.     } // end of switch on dly_mode_val
  73.  return s;
  74. }