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

3G开发

开发平台:

Visual C++

  1. //
  2. //  File = wave_kinds.cpp
  3. //
  4. #include <stdlib.h>
  5. #include <fstream>
  6. #include <string.h>
  7. #include "parmfile.h"
  8. #include "wave_kinds.h"
  9. #include "psstream.h"
  10. extern ParmFile *ParmInput;
  11. //======================================================
  12. PCM_WAVE_KIND_T GetWaveKindParm(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,"PCM_NRZ")) return(PCM_NRZ);
  26.   if(!strcmp(parm_str,"PCM_BIPHASE")) return(PCM_BIPHASE);
  27.   if(!strcmp(parm_str,"PCM_DELAY_MOD")) return(PCM_DELAY_MOD);
  28.   ErrorStream <<  "Error: '" << parm_str 
  29.               << "' is not a legal value for type PCM_WAVE_KIND_T" << endl;
  30.   exit(-1);
  31. }
  32. ostream& operator<<( ostream& s, const PCM_WAVE_KIND_T& dly_mode_val)
  33. {
  34.   switch (dly_mode_val)
  35.     {
  36.     case PCM_NRZ:
  37.       s << "PCM_NRZ";
  38.       break;
  39.     case PCM_BIPHASE:
  40.       s << "PCM_BIPHASE";
  41.       break;
  42.     case PCM_DELAY_MOD:
  43.       s << "PCM_DELAY_MOD";
  44.       break;
  45.     default:
  46.       s << "unknown PCM_WAVE_KIND_T";
  47.     } // end of switch on wave_kind_val
  48.  return s;
  49. }
  50. PracSimStream& operator<<( PracSimStream& s, const PCM_WAVE_KIND_T& wave_kind_val)
  51. {
  52.   switch (wave_kind_val)
  53.     {
  54.     case PCM_NRZ:
  55.       s << "PCM_NRZ";
  56.       break;
  57.     case PCM_BIPHASE:
  58.       s << "PCM_BIPHASE";
  59.       break;
  60.     case PCM_DELAY_MOD:
  61.       s << "PCM_DELAY_MOD";
  62.       break;
  63.     default:
  64.       s << "unknown PCM_WAVE_KIND_T";
  65.     } // end of switch on wave_kind_val
  66.  return s;
  67. }