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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? prob_calc.cpp

?? Intel開(kāi)發(fā)的IPP庫(kù)的應(yīng)用實(shí)例
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
   sen_end      = false;
   type         = calcNone;
   if (features) ippsFree(features);
   if (tmp_prob) ippsFree(tmp_prob);
   if (buffer)   ippsFree(buffer);
   if (flog)     fclose(flog);
   feat         = NULL;
   buffer       = NULL;
   features     = NULL;
   tmp_prob     = NULL;
   states       = NULL;
   weights      = NULL;
   dets         = NULL;
   means        = NULL;
   vars         = NULL;
   curfeat      = NULL;
   endfeat      = NULL;
   lastfeat     = NULL;
   flog         = NULL;
   if(sel_gauss)
       delete sel_gauss;
   sel_gauss    = NULL;
   is_select    = false;
   ready        = -2;
}

bool Prob_Calc::Attach_Feat(Feat_Calc *f) {
   if (ready!=-1)                                      return false;
   feat=f;
   if (!feat)                                          return false;
   if (!feat->Ready())                                 return false;
   if (feat->Feature_Length()!=space_dim)              return false;

   sen_end     = false;
   curfeat     = features;
   endfeat     = features;
   lastfeat    = features;
   curidx      = 0;
   lastidx     = 0;
   delta_delay = feat->Delta_Delay();

   if (flog)
      feat->Write_LogHeader(flog);

   ready       = 0;
   return true;
}

bool Prob_Calc::Detach_Feat(void) {
   if (ready!=0)                                       return false;
   sen_end=true;
   feat=NULL;
   curfeat=NULL;
   endfeat=NULL;
   lastfeat=NULL;
   curidx=0;
   lastidx=0;
   delta_delay=0;
   ready=-1;

   if (flog)
      fclose(flog);
   flog=NULL;

   return true;
}

bool Prob_Calc::Step_Forward(void) {
   if (ready!=0)                                       return false;
   curfeat+=space_dim4;
   curidx++;
   if ((sen_end)&&(lastidx==curidx)) {
      return false;
   } else if (curidx>=max_len-min_len-delta_delay) {  //  switch to buffer beginning
      if (is_select) {
         sel_gauss->ShiftIndxBegin(delta_delay+(lastfeat-curfeat)/space_dim4);
      }
      ippsCopy_32f(curfeat,features,lastfeat-curfeat+delta_delay*space_dim4);
      lastfeat=features+(lastfeat-curfeat);
      lastidx=lastidx-curidx;
      curfeat=features;
      curidx=0;
   }
   return true;
}

int Prob_Calc::Obv_Prob_Vec(int state, float *result, int len) {
   int m,num;
   if (ready!=0)                                       return -1;
   if (!sen_end) {
      if (lastidx-curidx<min_len) {
         num=feat->Get_Feature(lastfeat,max_len-lastidx,&sen_end);
         if (flog)
            for (m=0; m<num; m++)
               fwrite((void*)(lastfeat+m*space_dim4), sizeof(float), space_dim, flog);
         // here wait if num==0 if features are consumed faster
         if (is_select) {
            if (lastidx==curidx)
               sel_gauss->WriteVQ(lastfeat, 0, num);
            else
               sel_gauss->WriteVQ(lastfeat, lastidx, num);
         }
         lastidx+=num;
         lastfeat+=num*space_dim4;
      }
   }

   num=lastidx-curidx;
   if (len<num) num=len;

   float *mean=Mean(state);
   float *var=Var(state);
   float *det=Det(state);
   float *feat=curfeat;

   switch (type) {
   case calcVecS:
          sel_gauss->FillSign(states[state].compNum, states[state].compInd, num, curidx);
          ippsLogGaussMixture_Select_32f_D2(curfeat, mean, var, space_dim4,
             space_dim, det, sel_gauss->MixTable, states[state].compNum, result, num, -4.31602e+008f);
      break;
   case calcVect:
          ippsLogGauss_32f_D2(curfeat,space_dim4,mean,var,space_dim,result,num,det[0]);
          for (m=1; m<states[state].compNum; m++) {
              mean+=space_dim4;
              var+=space_dim4;
              ippsLogGaussAdd_32f_D2(curfeat,space_dim4,mean,var,space_dim,result,num,det[m]);
          }
      break;
   case calcVecM:
      ippsLogGauss_32f_D2(curfeat,space_dim4,mean,var,space_dim,result,num,det[0]);
      for (m=1; m<states[state].compNum; m++) {
         mean+=space_dim4;
         var+=space_dim4;
         ippsLogGaussMax_32f_D2(curfeat,space_dim4,mean,var,space_dim,result,num,det[m]);
      }
      break;
   case calcMMix:
      for (m=0; m<num; m++) {
         ippsCopy_32f(det,tmp_prob,states[state].compNum);
         ippsLogGaussMultiMix_32f_D2(mean,var,space_dim4,feat,space_dim,
            tmp_prob,states[state].compNum);
         ippsLogSum_32f(tmp_prob,result+m,states[state].compNum,ippAlgHintNone);
         feat+=space_dim4;
      }
      break;
   case calcMix:
      for (m=0; m<num; m++) {
         ippsLogGaussMixture_32f_D2(feat,mean,var,states[state].compNum,space_dim4,
            space_dim,det,result+m);
         feat+=space_dim4;
      }
      break;
   case calcNone:
      fake_sum=det[0];
      for (m=0; m<space_dim4*states[state].compNum; m+=8)
         fake_sum+=mean[m];
      for (m=0; m<space_dim4*states[state].compNum; m+=8)
         fake_sum+=var[m];
      for (m=0; m<space_dim4*num; m+=8)
         fake_sum+=curfeat[m];
      break;
   default:
      return -1;
   }

   return num;
}


int Prob_Calc::ReadAndInitCdbk(char* file, int cdbksize, int num_clust, int num_vec, float val,
                               bool is_row){
   FILE  *fptr;
   Param_File_Header header;
   float *tmpcodebook,*tmpweights;
   int i;

   if (!(fptr=fopen(file, "rb")))
       return -3;

   if (fread((void*)(&header), sizeof(Param_File_Header), 1, fptr)<1) {
      fclose(fptr); return -3;
   }

// ******************** Reading codebook start ********************
     if ((header.fileType&0x1000)!=0) { //it means that codebook is stored in file
        if (fseek(fptr,sizeof(Param_File_Header)+sizeof(File_Mixture)*state_number+sizeof(float)*gauss_num+
           2*sizeof(float)*space_dim4*gauss_num+gauss_num*sizeof(float)+header.trpNum*sizeof(float),SEEK_SET)!=0){
           fclose(fptr); return -3;
        }

        i=-1;
        fread((void*)(&i), sizeof(int), 1, fptr);

        if (i==cdbksize) { // the same codebook
           if (!(tmpweights=ippsMalloc_32f(space_dim4*(cdbksize+1)))) {
              fclose(fptr); return -2;
           }
           tmpcodebook=tmpweights+space_dim4;

           if ((int)fread((void*)tmpweights, sizeof(float), space_dim4, fptr) < space_dim4) {
              ippsFree(tmpweights); fclose(fptr); return -3;
           }

           if ((int)fread((void*)tmpcodebook, sizeof(float)*space_dim4, cdbksize, fptr) < cdbksize) {
              ippsFree(tmpweights); fclose(fptr); return -3;
           }

           i=sel_gauss->Init_SelectGauss_Simple(max_len, max_gauss, gauss_num, tmpcodebook, tmpweights,
                                                means, states, state_number);
           if (i!=0) {
              ippsFree(tmpweights); fclose(fptr); return i;
           }

           ippsFree(tmpweights);
        }
     }
     fclose(fptr);
// ******************** Reading codebook end ********************
       return 0;
}

int Prob_Calc::CreateInitSaveCdbk(char* file, int cdbksize, int num_clust, int num_vec, float val, bool is_row){
   int i;
   FILE  *fptr;
   Param_File_Header header;
   float *tmpcodebook,*tmpweights;
   char *tmparray;
   int filesize;

   if (!(tmpweights=ippsMalloc_32f(space_dim4*(cdbksize+1)))) {
      return -2;
   }
   tmpcodebook=tmpweights+space_dim4;

// ******************** Creating codebook start ********************
   i=sel_gauss->Init_SelectGauss_Full(max_len, max_gauss, gauss_num, tmpcodebook, tmpweights, means,
                                      states, state_number);

   if (i!=0) {
      ippsFree(tmpweights); return i;
   }
// ******************** Creating codebook end ********************

// ******************** Saving codebook start ********************
   if (!(fptr=fopen(file, "rb"))) {
      ippsFree(tmpweights); return -3;
   }

   if (fread((void*)(&header), sizeof(Param_File_Header), 1, fptr)<1) {
      ippsFree(tmpweights); fclose(fptr); return -3;
   }

   if ((header.fileType&0x1000)!=0) { //it means that codebook exist in file, remove cdbk
      filesize=sizeof(File_Mixture)*state_number+sizeof(float)*gauss_num+2*sizeof(float)*space_dim4*gauss_num+gauss_num*sizeof(float)+header.trpNum*sizeof(float);
      if (!(tmparray=(char*)ippsMalloc_8u(filesize))) {
         ippsFree(tmpweights); fclose(fptr); return -2;
      }

      if ((int)fread((void*)tmparray, 1,filesize, fptr)<filesize) {
         ippsFree(tmpweights); ippsFree(tmparray); fclose(fptr); return -3;
      }
      fclose(fptr);

      if (!(fptr=fopen(file, "wb"))) {
         ippsFree(tmpweights); ippsFree(tmparray); fclose(fptr); return -3;
      }

      if ((int)fwrite((void*)(&header), sizeof(Param_File_Header), 1, fptr)<1) {
         ippsFree(tmpweights); ippsFree(tmparray); fclose(fptr); return -3;
      }

      if ((int)fwrite((void*)(tmparray), 1, filesize, fptr)<filesize) {
         ippsFree(tmpweights); ippsFree(tmparray); fclose(fptr); return -3;

      }
      fclose(fptr);
      ippsFree(tmparray);
   } else { //replace header only
      fclose(fptr);
      header.fileType|=0x1000;

      if (!(fptr=fopen(file, "r+b"))) {
         ippsFree(tmpweights); fclose(fptr); return -3;
        }

      if(fseek(fptr,0,SEEK_SET)!=0){
         ippsFree(tmpweights); fclose(fptr); return -3;
        }

      if ((int)fwrite((void*)(&header), sizeof(Param_File_Header), 1, fptr)<1) {
         ippsFree(tmpweights); fclose(fptr); return -3;
        }

      fclose(fptr);
   }

   // Adding codebook information!!!
   if (!(fptr=fopen(file, "ab"))) {
         ippsFree(tmpweights); fclose(fptr); return -3;
   }

   if ((int)fwrite((void*)(&cdbksize), sizeof(int), 1, fptr)<1) {
         ippsFree(tmpweights); fclose(fptr); return -3;
   }

   if ((int)fwrite((void*)tmpweights, sizeof(float), space_dim4, fptr)<space_dim4) {
         ippsFree(tmpweights); fclose(fptr); return -3;
   }

   if ((int)fwrite((void*)tmpcodebook, sizeof(float)*space_dim4, cdbksize, fptr)<cdbksize) {
         ippsFree(tmpweights); fclose(fptr); return -3;
   }
   fclose(fptr);

   ippsFree(tmpweights);
// ******************** Saving codebook end ********************
   return 0;
}

void Prob_Calc::Get_Statistics(Len_Stat *stat) {
// all     -  all Gaussian counter
// lost    -  calculated Gaussian counter
    if(sel_gauss){
        stat->all=sel_gauss->count_all;
        stat->lost=sel_gauss->count_one;
    }else{
        stat->all=0;
        stat->lost=0;
    }
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品亚洲人成人网在线播放| 欧美日本乱大交xxxxx| 欧美一级理论性理论a| 玉米视频成人免费看| 香蕉乱码成人久久天堂爱免费| 99精品欧美一区二区三区综合在线| 久久这里只有精品视频网| 免播放器亚洲一区| 久久亚洲精品小早川怜子| 麻豆精品久久精品色综合| 日韩精品一区二| 国产又粗又猛又爽又黄91精品| 久久综合九色综合97婷婷| 激情欧美日韩一区二区| 中文字幕免费在线观看视频一区| 成人一区二区在线观看| 一区二区在线观看视频在线观看| 久久影院电视剧免费观看| 国产精品视频免费看| 1区2区3区精品视频| 精品婷婷伊人一区三区三| 青青草国产精品97视觉盛宴| 精品国产乱码久久久久久图片| 国内精品在线播放| 亚洲精品国产成人久久av盗摄| 欧美日精品一区视频| 欧美aaa在线| 亚洲男女一区二区三区| 欧美日韩黄视频| 国产精品系列在线播放| 一区二区三区四区国产精品| 欧美三级电影一区| 波多野结衣在线aⅴ中文字幕不卡| 中文字幕一区三区| 精品国一区二区三区| 欧美亚一区二区| 成人黄色在线网站| 韩国欧美一区二区| 美国欧美日韩国产在线播放| 亚洲欧美日韩久久| 国产精品免费观看视频| 久久综合九色综合97_久久久| 欧美日韩国产综合一区二区| 成人黄页毛片网站| 精品一区二区成人精品| 午夜视频在线观看一区二区| 中文字幕制服丝袜一区二区三区| 精品国产乱子伦一区| 日韩一区二区三区视频| 日韩一区二区三区电影在线观看| 欧美在线视频全部完| 91年精品国产| 色综合久久综合网欧美综合网| 国产不卡视频在线播放| 高清国产午夜精品久久久久久| 国产在线视频不卡二| 成人午夜碰碰视频| 久久精品国产免费| 亚洲一区二区四区蜜桃| 亚洲精品免费在线播放| 亚洲图片欧美一区| 日韩电影在线免费观看| 免费的成人av| 国产成人免费在线观看不卡| av一本久道久久综合久久鬼色| 成人av在线电影| 日本电影亚洲天堂一区| 欧美日韩视频在线第一区| 久久亚洲影视婷婷| 国产精品高潮呻吟| 亚洲第一会所有码转帖| 韩国v欧美v日本v亚洲v| 97国产精品videossex| 欧美一区二区在线不卡| 欧美sm美女调教| 亚洲乱码国产乱码精品精的特点 | 国产成人免费xxxxxxxx| 97久久久精品综合88久久| 在线这里只有精品| 欧美激情一区二区三区全黄| 亚洲国产裸拍裸体视频在线观看乱了| 日日夜夜免费精品视频| www.欧美.com| 欧美成人激情免费网| 亚洲国产成人tv| 丁香网亚洲国际| 久久久综合九色合综国产精品| 亚洲日本中文字幕区| 九九精品一区二区| 91色|porny| 亚洲精品日产精品乱码不卡| 国产一区二区三区四区五区美女| 在线免费不卡电影| 日韩美女视频一区| 中国色在线观看另类| 亚洲一区二区三区小说| 99久精品国产| 《视频一区视频二区| 国产v综合v亚洲欧| 国产欧美日韩中文久久| 国产剧情在线观看一区二区| 久久久久国产精品麻豆ai换脸| 免费在线视频一区| 日韩免费电影一区| 久久99久国产精品黄毛片色诱| 日韩一级精品视频在线观看| 三级成人在线视频| 欧美精品一区二区三区久久久| 久久 天天综合| 国产精品视频线看| 91色.com| 午夜精品福利一区二区三区蜜桃| 色婷婷亚洲精品| 日本不卡一二三区黄网| 久久先锋影音av鲁色资源| av一区二区不卡| 午夜欧美一区二区三区在线播放| 日韩精品一区二区三区老鸭窝| 国产成人在线影院| 亚洲精品第一国产综合野| 欧美成人高清电影在线| 成人av在线资源网| 日韩精品国产精品| 中文字幕不卡在线播放| 欧美日韩综合不卡| 国产成人午夜视频| 樱桃视频在线观看一区| 国产亚洲制服色| 91精品国产综合久久久久| 国产成人免费高清| 精品系列免费在线观看| 一区二区三区中文字幕| 久久久av毛片精品| 制服丝袜国产精品| 91麻豆国产福利在线观看| 粉嫩aⅴ一区二区三区四区 | 欧美大白屁股肥臀xxxxxx| 91免费小视频| 亚洲国产wwwccc36天堂| 欧美三级乱人伦电影| 蜜臀av性久久久久蜜臀av麻豆| 亚洲精品中文字幕在线观看| 久久综合久久综合亚洲| 欧美乱妇20p| 欧美一区二区三区婷婷月色 | 另类专区欧美蜜桃臀第一页| 亚洲一区在线视频| 亚洲一区在线视频观看| 亚洲一区二区黄色| 亚洲成人午夜电影| 天天综合日日夜夜精品| 午夜私人影院久久久久| 午夜精品久久久久影视| 日韩在线a电影| 狠狠久久亚洲欧美| 成人a免费在线看| 一本久久精品一区二区| 在线视频观看一区| 欧美日韩国产系列| 91精品国产欧美日韩| 亚洲精品一区二区三区精华液 | 91麻豆国产福利精品| 色综合天天在线| 欧美高清精品3d| 日韩欧美国产系列| 中文字幕国产一区| 亚洲综合另类小说| 麻豆极品一区二区三区| 99热精品一区二区| 欧美日韩免费一区二区三区视频| 欧美一级在线观看| 国产精品天天看| 石原莉奈在线亚洲二区| 成人午夜视频福利| 日韩一区二区在线观看视频播放| 久久久另类综合| 午夜精品久久久久久久99樱桃| 韩国理伦片一区二区三区在线播放 | 9191久久久久久久久久久| 久久精子c满五个校花| 亚洲大尺度视频在线观看| 丁香激情综合国产| 91精品国产黑色紧身裤美女| 中文字幕中文字幕一区| 国产精品天天摸av网| 日韩电影一区二区三区四区| 国产成人一区在线| 欧美一二三四区在线| 亚洲一区二区欧美激情| av中文字幕在线不卡| 久久婷婷国产综合国色天香 | 午夜精品久久久久久久久久久| 成人妖精视频yjsp地址| 日韩免费在线观看| 日日夜夜精品视频免费| 欧美亚州韩日在线看免费版国语版| 亚洲国产精品高清| 成人av在线资源网| 亚洲私人影院在线观看| 不卡电影一区二区三区|