亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hmodel.c

?? 隱馬爾科夫模型工具箱
?? C
?? 第 1 頁 / 共 5 頁
字號:
{   int i;   for (i=0;i<=NULLSYM;i++) symNames[i]="";   for (i=0;i<NUMSYM;i++) symNames[symMap[i].sym]=symMap[i].name;}/* InitScanner: initialise scanner for new source */ReturnStatus InitScanner(char *fname, Source *src, Token *tok, HMMSet *hset){   if(InitSource(fname, src, HMMDefFilter)<SUCCESS){      return(FAIL);   }   tok->sym = NULLSYM; tok->macroType = ' ';    tok->binForm = FALSE;   return(SUCCESS);}/* TermScanner: terminate scanner for given source */static void TermScanner(Source *src){   CloseSource(src);}/* HMError: report a HMM definition error */static void HMError(Source *src, char *message){   char buf[MAXSTRLEN];      fflush(stdout);   fprintf(stderr,"HMM Def Error: %s at %s\n",           message,SrcPosition(*src,buf));   HRError(7050,"HMError:");}/* GetToken: put next symbol from given source into token */static ReturnStatus GetToken(Source *src, Token *tok){   char buf[MAXSYMLEN],tmp[MAXSTRLEN];   int i,c,imax,sym;      tok->binForm = FALSE;   while (isspace(c=GetCh(src)));     /* Look for symbol or Macro */   if (c != '<' && c != ':' && c != '~'  && c != '.' && c != '#') {      if (c == EOF) {         if (trace&T_TOK) printf("HModel:   tok=<EOF>\n");         tok->sym=EOFSYM; return(SUCCESS);      }      HMError(src,"GetToken: Symbol expected");      return(FAIL);   }   if (c == '~'){                    /* If macro sym return immediately */      c = tolower(GetCh(src));      if (c!='s' && c!='m' && c!='u' && c!='x' && c!='d' && c!='c' &&          c!='r' && c!='a' && c!='b' && c!='g' && c!='f' && c!='y' && c!='j' &&          c!='v' && c!='i' && c!='t' && c!='w' && c!='h' && c!='o')         {            HMError(src,"GetToken: Illegal macro type");            return(FAIL);         }      tok->macroType = c; tok->sym = MACRO;      if (trace&T_TOK) printf("HModel:   MACRO ~%c\n",c);      return(SUCCESS);   }   i=0; imax = MAXSYMLEN-1;   if (c=='#') {           /* if V1 mmf header convert to ~h */      while ((c=GetCh(src)) != '#' && i<imax)         buf[i++] = c;      buf[i] = '\0';      if (strcmp(buf,"!MMF!") != 0){         HMError(src,"GetToken: expecting V1 style MMF header #!MMF!#");         return(FAIL);      }      tok->sym = MACRO; tok->macroType = 'h';      if (trace&T_TOK) printf("HModel:   MACRO ~h (#!MMF!#)\n");      return(SUCCESS);   }   if (c=='.'){            /* if . and not EOF convert to ~h */      while (isspace(c=GetCh(src)));      if (c == EOF) {         if (trace&T_TOK) printf("HModel:   tok=.<EOF>\n");         tok->sym=EOFSYM;         return(SUCCESS);      }      UnGetCh(c,src);      tok->sym = MACRO; tok->macroType = 'h';      if (trace&T_TOK) printf("HModel:   MACRO ~h (.)\n");      return(SUCCESS);        }     if (c=='<') {                 /* Read verbose symbol string into buf */      while ((c=GetCh(src)) != '>' && i<imax)         buf[i++] = islower(c)?toupper(c):c;      buf[i] = '\0';      if (c != '>'){         HMError(src,"GetToken: > missing in symbol");         return(FAIL);      }      for (sym=0; sym<NUMSYM; sym++) /* Look symbol up in symMap */         if (strcmp(symMap[sym].name,buf) == 0) {            tok->sym = symMap[sym].sym;            if (trace&T_TOK) printf("HModel:   tok=<%s>\n",buf);            return(SUCCESS);                                /* and return */           }   } else {      /* Read binary symbol into buf */      tok->binForm = TRUE;      sym = GetCh(src);      if (sym>=BEGINHMM && sym<PARMKIND) {         if (trace&T_TOK) printf("HModel:   tok=:%s\n",symNames[sym]);         tok->sym = (Symbol) sym;         return(SUCCESS);                                /* and return */        }        }            /* if symbol not in symMap then it may be a sampkind */   if ((tok->pkind = Str2ParmKind(buf)) != ANON){      tok->sym = PARMKIND;      if (trace&T_TOK) printf("HModel:   tok=SK[%s]\n",buf);      return(SUCCESS);   }   strcpy(tmp,"GetToken: Unknown symbol ");   HMError(src,strcat(tmp,buf));   return(FAIL);}/*  Looks for the macroname in the current directory. If it is   notfound search through the input transform directories  in order. FOpen is used to allow optional generation of  Error messages using T_XFD*/static char *InitXFormScanner(HMMSet *hset, char *macroname, char *fname,			      Source *src, Token *tok){   static char buf[MAXSTRLEN];   XFDirLink p;   Boolean isPipe;   FILE *f;   if ((fname==NULL) || ((f=FOpen(fname,NoFilter,&isPipe)) == NULL)) {      if ((trace&T_XFD) && (fname!=NULL))         HRError(7010,"InitXFormScanner: Cannot open source file %s",fname);      p = xformDirNames;      while ((p!=NULL) &&              ((f=FOpen(MakeFN(macroname,p->dirName,NULL,buf),NoFilter,&isPipe)) == NULL)) {         if (trace&T_XFD)             HRError(7010,"InitXFormScanner: Cannot open source file %s",buf);         p = p->next;      }      if (p==NULL) { /* Failed to find macroname */         HError(7035,"Failed to find macroname %s",macroname);      } else { /* Close file and initialise scanner */         FClose(f,isPipe);         InitScanner(buf,src,tok,hset);      }      if (trace&T_TOP) printf("Loading macro file %s\n",buf);      return buf;   } else {      FClose(f,isPipe);      if (trace&T_TOP) printf("Loading macro file %s\n",fname);      InitScanner(fname,src,tok,hset);      return fname;   }}/* ------------------- HMM 'option' handling ----------------------- */static void OWarn(HMMSet *hset,Boolean equal,char *opt){   if (!equal && hset->optSet)      HRError(-7032,"OWarn: change HMM Set %s",opt);}/* GetOption: read a HMM option specifier - value set in nState pointer */static ReturnStatus GetOption(HMMSet *hset, Source *src, Token *tok, int *nState){   DurKind dk;   char buf[MAXSTRLEN];   short vs,sw[SMAX],nSt=0;   int i;   Boolean ntok=TRUE;   static InputXForm* GetInputXForm(HMMSet *hset, Source *src, Token *tok);   switch (tok->sym) {   case NUMSTATES:      if (!ReadShort(src,&nSt,1,tok->binForm)){         HMError(src,"NumStates Expected");         return(FAIL);      }      *nState=nSt;      break;   case PARMKIND:          OWarn(hset,hset->pkind==tok->pkind,"parmKind");      hset->pkind = tok->pkind;      break;   case NDUR:   case PDUR:   case GDUR:   case RELDUR:   case GENDUR:      dk = (DurKind) (NULLD + (tok->sym-NDUR));      OWarn(hset,hset->dkind==dk,"durKind");      hset->dkind = dk;       break;   case HMMSETID:      if (!ReadString(src,buf)){         HMError(src,"HMM identifier expected");         return(FAIL);      }      hset->hmmSetId=CopyString(hset->hmem,buf);      SkipWhiteSpace(src);      break;   case INPUTXFORM:      if(GetToken(src,tok)<SUCCESS){         HMError(src,"GetOption: GetToken failed");         return(FAIL);           }      if (tok->sym==MACRO && tok->macroType=='j') {         if (!ReadString(src,buf))            HError(7013,"GetOption: cannot read input xform macro name");         hset->xf = LoadInputXForm(hset,buf,NULL);	      } else {         hset->xf = GetInputXForm(hset,src,tok);         hset->xf->xformName = CopyString(hset->hmem,src->name);         ntok = FALSE;      }           break;   case VECSIZE:      if (!ReadShort(src,&vs,1,tok->binForm)){         HMError(src,"Vector Size Expected");         return(FAIL);      }      OWarn(hset,hset->vecSize==vs,"vecSize");      hset->vecSize = vs;      break;   case STREAMINFO:      if (!ReadShort(src,sw,1,tok->binForm)){         HMError(src,"Num Streams Expected");         return(FAIL);      }      if (sw[0] >= SMAX){         HMError(src,"Stream limit exceeded");         return(FAIL);      }      if (!ReadShort(src,sw+1,sw[0],tok->binForm)){         HMError(src,"Stream Widths Expected");         return(FAIL);      }      OWarn(hset,hset->swidth[0]==sw[0],"swidth[0]");             for (i=0; i<=sw[0]; i++) hset->swidth[i] = sw[i];      break;   case DIAGCOV:      OWarn(hset,hset->ckind==DIAGC,"covKind");      hset->ckind = DIAGC;       break;   case FULLCOV:      OWarn(hset,hset->ckind==FULLC,"covKind");      hset->ckind = FULLC;       break;   case XFORMCOV:      OWarn(hset,hset->ckind==XFORMC,"covKind");      hset->ckind = XFORMC;       break;   case INVDIAGCOV:      OWarn(hset,hset->ckind==INVDIAGC,"covKind");      hset->ckind = INVDIAGC;       break;   case LLTCOV:      OWarn(hset,hset->ckind==LLTC,"covKind");      hset->ckind = LLTC;       break;   default:       HMError(src,"GetOption: Ilegal Option Symbol");      return(FAIL);   }   if (ntok && (GetToken(src,tok)<SUCCESS)){      HMError(src,"GetOption: GetToken failed");      return(FAIL);        }      return(SUCCESS);}/* FreezeOptions: freeze the global options in HMM set */static ReturnStatus FreezeOptions(HMMSet *hset){   int i;      if (hset->optSet) return(SUCCESS);   if (hset->vecSize == 0) {      if (hset->swidth[0] > 0 && hset->swidth[1] > 0)         for (i=1; i<=hset->swidth[0]; i++)            hset->vecSize += hset->swidth[i];      else{         HRError(7032,"FreezeOptions: vecSize not set");         return(FAIL);      }   }   if (hset->swidth[0] == 0) {      hset->swidth[0] = 1; hset->swidth[1] = hset->vecSize;   }   if (hset->pkind == 0){      HRError(7032,"FreezeOptions: parmKind not set");      return(FAIL);   }   hset->optSet = TRUE;   return(SUCCESS);}/* CheckOptions: check that options are set in given HMM set */static ReturnStatus CheckOptions(HMMSet *hset){   if (!hset->optSet){      HRError(7032,"CheckOptions: options not set in HMM Set");      return(FAIL);   }   return(SUCCESS);}/* ---------------------- Input XForm Directory Handling ---------------------- *//* EXPORT->AddInXFormDir: Add given file name to set *//* Doesn't check for repeated specification! */void AddInXFormDir(HMMSet *hset, char *dirname){  XFDirLink p,q;     p = (XFDirLink)New(hset->hmem,sizeof(XFDirInfo));  p->next = NULL;  p->dirName = CopyString(hset->hmem,dirname);  if (xformDirNames == NULL)    xformDirNames = p;  else {  /* store in order of arrival */    for (q=xformDirNames; q->next != NULL; q=q->next);    q->next = p;  }}/* ---------------------- MMF File Name Handling ---------------------- *//* FindMMF: find given file name in HMM set */static MILink FindMMF(HMMSet *hset, char *fname, Boolean ignorePath){   MILink p;   char buf1[MAXSTRLEN],buf2[MAXSTRLEN];      for (p=hset->mmfNames; p!=NULL; p=p->next){      if (ignorePath){         if (strcmp(NameOf(fname,buf1),NameOf(p->fName,buf2)) == 0 )             return p;      }else{         if (strcmp(fname,p->fName) == 0 )            return p;      }   }   return NULL;}/* EXPORT->AddMMF: Add given file name to set */MILink AddMMF(HMMSet *hset, char *fname){   MILink p,q;      if ((p = FindMMF(hset,fname,FALSE)) != NULL)       return(p);   p = (MILink)New(hset->hmem,sizeof(MMFInfo));   ++hset->numFiles;   p->isLoaded = FALSE; p->next = NULL;   p->fName = CopyString(hset->hmem,fname);   p->fidx = hset->numFiles;   if (hset->mmfNames == NULL)      hset->mmfNames = p;   else {  /* store in order of arrival */      for (q=hset->mmfNames; q->next != NULL; q=q->next);      q->next = p;   }   return p;}/* -------------- Special Discrete/Tied Mixture Input Routines ------------ *//*    Run-length encoding for verbose external form uses the notation w*n   to mean that w is repeated n times.  For binary form, all weights   are stored as unsigned shorts.  The msb is set to indicate that a   repeat count follows.  Repeat counts are stored as unsigned chars.*//* GetTiedWeights: parse src and get compact mixture weight def */ReturnStatus GetTiedWeights(Source *src, Token *tok, int M, Vector tpdf){   float weight=0.0;   short repCount=0;      /* repeat counter for weights */   int c,m;      if (trace&T_PAR) printf("HModel: GetTiedWeights: M=%d\n",M);   for (m=1; m<=M; m++) {      if (repCount>0)         /* get mixture weight */         --repCount;      else {         if (tok->binForm) {            if (!ReadFloat(src,&weight,1,TRUE)){               HMError(src,"Tied Weight expected");               return(FAIL);            }            if (weight<0.0) {               repCount=GetCh(src);               --repCount; weight = weight+2.0;            }         } else {            if (!ReadFloat(src,&weight,1,FALSE)){               HMError(src,"Discrete Weight expected");               return(FAIL);            }            c=GetCh(src);            if (c == '*') {               if (!ReadShort(src,&repCount,1,FALSE)){                  HMError(src,"Discrete Repeat Count expected");                  return(FAIL);               }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美成人一区二区三区| 亚洲精品成人天堂一二三| 国产精品亚洲第一区在线暖暖韩国| 欧美一卡2卡三卡4卡5免费| 国产成人精品aa毛片| 日韩高清在线不卡| 亚洲色图在线视频| www欧美成人18+| 久久精品欧美日韩精品| 久久久久久夜精品精品免费| 日韩精品中文字幕在线一区| 在线播放欧美女士性生活| 欧美在线色视频| 欧美一区二区三区啪啪| 欧美成人乱码一区二区三区| 色婷婷久久久亚洲一区二区三区 | 欧美电影精品一区二区| 日韩亚洲欧美在线| 久久久一区二区三区| 国产精品午夜电影| 亚洲午夜久久久久中文字幕久| 一区二区国产盗摄色噜噜| 五月婷婷激情综合| 国内外成人在线| 色一情一乱一乱一91av| 欧美老肥妇做.爰bbww视频| 精品久久一区二区| 日韩毛片视频在线看| 美洲天堂一区二卡三卡四卡视频| 久久99久久99小草精品免视看| 国产91精品一区二区麻豆亚洲| 成人高清视频免费观看| 欧美一级黄色片| 亚洲成人你懂的| 99久久精品久久久久久清纯| 日韩欧美第一区| 五月天亚洲婷婷| 国产成人综合亚洲网站| 国产精品性做久久久久久| 欧美亚洲禁片免费| 国产精品国产三级国产普通话99| 日本不卡的三区四区五区| 成年人网站91| 亚洲人亚洲人成电影网站色| 亚洲超丰满肉感bbw| 国产精品乱人伦| 日本美女一区二区三区视频| 91亚洲精品乱码久久久久久蜜桃| 国产欧美日韩三区| 色综合久久久久| 国产精品传媒入口麻豆| 亚洲免费观看在线观看| 色综合天天综合网天天狠天天| 久久精品欧美一区二区三区不卡 | 一区二区三区自拍| 欧美午夜精品理论片a级按摩| 国产精品久久久久久亚洲毛片 | 国产精品资源网站| 国产欧美日韩在线视频| 不卡在线观看av| 亚洲欧美中日韩| 91成人在线免费观看| 一级精品视频在线观看宜春院 | 一区二区三区四区亚洲| 日韩美女主播在线视频一区二区三区| 国产精品影视在线| 一区二区三区在线视频观看| 精品欧美乱码久久久久久1区2区| www.亚洲免费av| 国产高清亚洲一区| 美女在线一区二区| 亚洲成a人v欧美综合天堂下载 | 色久优优欧美色久优优| 国产尤物一区二区在线| 丝袜脚交一区二区| 亚洲精品五月天| 一区二区中文字幕在线| 久久婷婷成人综合色| 精品美女在线播放| 欧美一三区三区四区免费在线看 | 国产精品资源在线看| 狠狠狠色丁香婷婷综合激情| 青青草97国产精品免费观看无弹窗版| 亚洲欧美一区二区三区极速播放 | 欧美一级专区免费大片| 欧美一区二区在线观看| 日韩欧美国产系列| 精品国免费一区二区三区| 久久婷婷成人综合色| 五月婷婷综合在线| 久久精品国产99国产| 国产乱子伦视频一区二区三区 | 国产精品黄色在线观看| 国产精品嫩草久久久久| 亚洲曰韩产成在线| 久久超碰97人人做人人爱| 国产一区二区不卡| 成人sese在线| 91精品国产高清一区二区三区 | 日韩一区二区三区av| 日韩精品一区二区三区蜜臀| 国产亚洲欧洲一区高清在线观看| 国产欧美一区二区精品仙草咪| 国产精品国产三级国产aⅴ原创| 亚洲精品乱码久久久久久黑人| 亚洲永久精品国产| 国产成人av一区二区| 欧美视频一区二区三区| 久久久久久久久久美女| 亚洲成人激情自拍| 99久久久免费精品国产一区二区| 91超碰这里只有精品国产| 国产精品久久久久久久久动漫| 三级影片在线观看欧美日韩一区二区 | 亚洲综合色丁香婷婷六月图片| 国产一区二区三区av电影| 欧美网站一区二区| 亚洲另类在线一区| 91在线视频免费观看| 久久久五月婷婷| 国产精品一区二区三区乱码| 欧美日韩电影在线| 天堂久久久久va久久久久| 色偷偷一区二区三区| 国产精品久久久久国产精品日日| 美女性感视频久久| 精品粉嫩超白一线天av| 久久精品国产精品青草| 精品久久久久久久久久久久包黑料| 亚洲主播在线观看| 欧美乱熟臀69xxxxxx| 日本成人在线不卡视频| 在线综合视频播放| 久草热8精品视频在线观看| 欧美videossexotv100| 国产精品1区二区.| 中文av一区二区| 色噜噜狠狠成人中文综合| 亚洲丰满少妇videoshd| 欧美一区二区视频在线观看2022| 奇米影视7777精品一区二区| 日韩精品中午字幕| 91色视频在线| 日韩精品一级中文字幕精品视频免费观看 | 欧美色综合天天久久综合精品| 亚洲成人手机在线| 国产亚洲欧美激情| 在线观看网站黄不卡| 精品写真视频在线观看| 中文字幕日本不卡| 日韩精品一区二区三区视频| 99这里都是精品| 九九九精品视频| 亚洲成人精品一区二区| 国产欧美日产一区| 欧美大白屁股肥臀xxxxxx| 99精品视频免费在线观看| 老司机一区二区| 亚洲成av人片一区二区梦乃| 久久精品视频免费观看| 日韩一区二区三区av| 欧洲一区二区三区免费视频| 成人自拍视频在线观看| 美女性感视频久久| 一区二区三区加勒比av| 国产无遮挡一区二区三区毛片日本| 色偷偷88欧美精品久久久 | 26uuu亚洲综合色| 欧美嫩在线观看| 欧美精品欧美精品系列| 欧美性xxxxxx少妇| 欧美性色黄大片| 欧美在线免费观看视频| 欧美在线免费观看亚洲| 色94色欧美sute亚洲线路一ni| 成人性生交大片免费看中文网站| 高清不卡一区二区在线| 成人免费的视频| 97久久精品人人澡人人爽| 91一区在线观看| 欧美三片在线视频观看 | 五月天激情综合网| 日本亚洲天堂网| 久久99国产精品免费网站| 国产一区二区三区在线观看免费视频| 久久精品av麻豆的观看方式| 国产一区二区三区香蕉| 波多野结衣一区二区三区| 91在线高清观看| 欧美一区二区成人| 国产欧美中文在线| 亚洲1区2区3区视频| 国产成人无遮挡在线视频| 99久久久无码国产精品| 777a∨成人精品桃花网| 国产精品丝袜一区| 亚洲444eee在线观看| 东方aⅴ免费观看久久av| 欧美日韩一区国产| 亚洲视频免费在线观看|