wave_kinds.cpp

来自「《无线通信系统仿真——c++使用模型》这本书的源代码」· C++ 代码 · 共 73 行

CPP
73
字号
//
//  File = wave_kinds.cpp
//

#include <stdlib.h>
#include <fstream>
#include <string.h>
#include "parmfile.h"
#include "wave_kinds.h"
#include "psstream.h"
extern ParmFile *ParmInput;

//======================================================

PCM_WAVE_KIND_T GetWaveKindParm(const char* parm_nam)
{
  char parm_str[30];

  if(ParmInput->GetParmStr(parm_nam, parm_str)!=0)
    {
    ParmInput->RestartBlock();
    if(ParmInput->GetParmStr(parm_nam, parm_str) !=0)
      {
      ErrorStream <<  "Error: parameter '" << parm_nam 
                  << "' not found after 2 attempts" << endl;
      exit(-1);
      }
    }

  if(!strcmp(parm_str,"PCM_NRZ")) return(PCM_NRZ);
  if(!strcmp(parm_str,"PCM_BIPHASE")) return(PCM_BIPHASE);
  if(!strcmp(parm_str,"PCM_DELAY_MOD")) return(PCM_DELAY_MOD);
  ErrorStream <<  "Error: '" << parm_str 
              << "' is not a legal value for type PCM_WAVE_KIND_T" << endl;
  exit(-1);
}
ostream& operator<<( ostream& s, const PCM_WAVE_KIND_T& dly_mode_val)
{
  switch (dly_mode_val)
    {
    case PCM_NRZ:
      s << "PCM_NRZ";
      break;
    case PCM_BIPHASE:
      s << "PCM_BIPHASE";
      break;
    case PCM_DELAY_MOD:
      s << "PCM_DELAY_MOD";
      break;
    default:
      s << "unknown PCM_WAVE_KIND_T";
    } // end of switch on wave_kind_val
 return s;
}
PracSimStream& operator<<( PracSimStream& s, const PCM_WAVE_KIND_T& wave_kind_val)
{
  switch (wave_kind_val)
    {
    case PCM_NRZ:
      s << "PCM_NRZ";
      break;
    case PCM_BIPHASE:
      s << "PCM_BIPHASE";
      break;
    case PCM_DELAY_MOD:
      s << "PCM_DELAY_MOD";
      break;
    default:
      s << "unknown PCM_WAVE_KIND_T";
    } // end of switch on wave_kind_val
 return s;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?