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

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

?? mp_recons.c

?? LastWave
?? C
字號:
/*..........................................................................*//*                                                                          *//*      L a s t W a v e    P a c k a g e 'mp' 2.1                           *//*                                                                          *//*      Copyright (C) 2000 Remi Gribonval, Emmanuel Bacry and Javier Abadia.*//*      email  : remi.gribonval@inria.fr                                    *//*      email  : lastwave@cmap.polytechnique.fr                             *//*                                                                          *//*..........................................................................*//*                                                                          *//*      This program is a free software, you can redistribute it and/or     *//*      modify it under the terms of the GNU General Public License as      *//*      published by the Free Software Foundation; either version 2 of the  *//*      License, or (at your option) any later version                      *//*                                                                          *//*      This program is distributed in the hope that it will be useful,     *//*      but WITHOUT ANY WARRANTY; without even the implied warranty of      *//*      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the       *//*      GNU General Public License for more details.                        *//*                                                                          *//*      You should have received a copy of the GNU General Public License   *//*      along with this program (in a file named COPYRIGHT);                *//*      if not, write to the Free Software Foundation, Inc.,                *//*      59 Temple Place, Suite 330, Boston, MA  02111-1307  USA             *//*                                                                          *//*..........................................................................*//*****************************************************//* *	Functions to BUILD a BOOK (Matching Pursuit) *//****************************************************/#include "lastwave.h"#include "mp_book.h"/******************************************************************//*                Reconstruction                                  *//******************************************************************//* flagFundamentalRange = YES :  *   if the fundamental is not in range, we skip all the partials * flagFundamentalRange = NO :  *   we check each partial separately. */void Mpr(BOOK book,SIGNAL reconsSignal,long *pTimeIdReconsMin,long *pTimeIdReconsMax,	 SIGNAL maskSignal,	 char flagFundamentalRange,	 unsigned long windowSizeMin,unsigned long windowSizeMax,	 LWFLOAT timeIdMin, LWFLOAT timeIdMax,	 LWFLOAT freqIdMin, LWFLOAT freqIdMax,	 LWFLOAT chirpIdMin,LWFLOAT chirpIdMax,	 unsigned long nMin,unsigned long nMax){  static SIGNAL atomSignal = NULL;  MOLECULE molecule;  ATOM atom;  unsigned short k;  unsigned long n;  char flagSkipHarmo = NO;  // TODO : decide what to do with that  char borderType = BorderPad0;  LWFLOAT shift;  unsigned long count = 0;  // TODO ; change to long when prototype of ComputeWindowSupport is changed  int atomTimeIdMin,atomTimeIdMax;  // Checking  CheckBookNotEmpty(book);  if((maskSignal != NULL) && (maskSignal->size != book->size)) Errorf("Mpr : bad size of the mask");  // Allocations  if(atomSignal == NULL) {    atomSignal = NewSignal();  }    // Init the signal  SizeSignal(reconsSignal,book->signalSize,YSIG);  ZeroSig(reconsSignal);  reconsSignal->dx = book->dx;  reconsSignal->x0 = book->x0;    // So far nothing has been built :  *pTimeIdReconsMin = book->signalSize;  *pTimeIdReconsMax = 0;    // Loop on molecules  for(n = nMin; n <= MIN(book->size-1,nMax); n++) {    molecule = GetBookMolecule(book,n);    // Skip masked molecules          if(maskSignal != NULL && maskSignal->Y[n] == 0.0)    continue;    flagSkipHarmo = NO;    // Loop on atoms in molecule    for(k = 0; k < molecule->dim; k++) {      atom = GetMoleculeAtom(molecule,0,k);      if (flagSkipHarmo ||	  !INRANGE(windowSizeMin,atom->windowSize,windowSizeMax) ||	  !INRANGE(timeIdMin, atom->timeId,timeIdMax) ||	  !INRANGE(freqIdMin, atom->freqId,freqIdMax) ||	  !INRANGE(chirpIdMin, atom->chirpId,chirpIdMax)) {	if(flagFundamentalRange && k == 0) flagSkipHarmo = YES;	continue;      }      // Display a clock for waiting      switch(count%4) {//      case 0 : Printf("\\"); Flush(); break;//      case 1 : Printf("|"); Flush(); break;//      case 2 : Printf("/"); Flush(); break;//      case 3 : Printf("-"); Flush(); break;      }            // Build a real normalized atom      BuildAtom(atom,atomSignal,NULL,borderType,YES);       // Add it to the output signal      shift = (atomSignal->x0-atom->x0)/atom->dx;      if (shift < 0) shift = (int) (shift-.5);      else shift = (int) (shift+.5);      AddShiftedSignals(atomSignal,reconsSignal,(unsigned long) shift);      // Compute the limits where the output signal has changed      ComputeWindowSupport(atom->windowSize,atom->windowShape,atom->timeId,&atomTimeIdMin,&atomTimeIdMax);      *pTimeIdReconsMin = MIN(*pTimeIdReconsMin,atomTimeIdMin);      *pTimeIdReconsMax = MAX(*pTimeIdReconsMax,atomTimeIdMax);      /* Border effect : only ZERO border is treated for the moment */      switch(borderType) {      case BorderPad0 :	if(*pTimeIdReconsMin < 0 || *pTimeIdReconsMax > book->signalSize-1)	  Errorf("Mpr : signal updated out of its limits!");	break;      default :	Errorf("Mpr : border type '%s' not treated yet",BorderType2Name(borderType));      }      // Deal with the 'clock'//      Printf("\b");      count++;    }  }}void C_Mpr(char **argv){  SIGNAL reconsSignal;  long timeIdReconsMin,timeIdReconsMax;  SIGNAL maskSignal;  BOOK book;  char opt;    /* The rangs */  unsigned long nMin,nMax;    unsigned long windowSizeMin, windowSizeMax;  LWFLOAT timeIdMin,timeIdMax;  LWFLOAT freqIdMin,freqIdMax;  LWFLOAT chirpIdMin,chirpIdMax;    /* Which ranges have been selected */  int flagFundamentalRange = NO;  LISTV lv;  /* Reading arguments */  argv = ParseArgv(argv,tBOOK_,NULL,&book,tSIGNAL,&reconsSignal,tSIGNALI_,NULL,&maskSignal,-1);  if(book == NULL)    book = GetBookCur();    /* Checking arguments */  CheckBookNotEmpty(book);    /* default values */  nMin = 0;  nMax = book->size-1;  windowSizeMin	= STFT_MIN_WINDOWSIZE;  windowSizeMax	= STFT_MAX_WINDOWSIZE;  timeIdMin 	= 0;  timeIdMax 	= book->signalSize;  freqIdMin 	= 0;  freqIdMax 	= GABOR_NYQUIST_FREQID;  chirpIdMax 	= GABOR_MAX_CHIRPID;  chirpIdMin	= -chirpIdMax;    /* Looking for options */  while((opt = ParseOption(&argv))) {    switch(opt) {      /* Do we reconstruct an harmonic structure        * if the fundamental is not in range ? */    case 'h' :      flagFundamentalRange = YES;      break;    case 'n':      argv = ParseArgv(argv,tINT,&nMin,tINT_,0,&nMax,-1);      if(nMax == 0) nMax = nMin;      if(nMin > nMax) Errorf("<nMin> is greater than <nMax>");      break;    case 's':      argv = ParseArgv(argv,tINT,&windowSizeMin,tINT_,0,&windowSizeMax,-1);      if(windowSizeMax == 0) windowSizeMax = windowSizeMin;      if(windowSizeMin > windowSizeMax) Errorf("<windowSizeMin> is greater than <windowSizeMax>");      break;    case 'T':      argv = ParseArgv(argv,tFLOAT,&timeIdMin,tFLOAT,&timeIdMax,-1);      if(timeIdMin > timeIdMax) Errorf("<timeIdMin> is greater than <timeIdMax>");      break;    case 'F':      argv = ParseArgv(argv,tFLOAT,&freqIdMin,tFLOAT,&freqIdMax,-1);      if(freqIdMin > freqIdMax) Errorf("<freqIdMin> is greater than <freqIdMax>");      break;    case 'C':      argv = ParseArgv(argv,tFLOAT,&chirpIdMin,tFLOAT,&chirpIdMax,-1);      if(chirpIdMin > chirpIdMax) Errorf("<chirpIdMin> is greater than <chirpIdMax>");      break;    case 't':      argv = ParseArgv(argv,tFLOAT,&timeIdMin,tFLOAT,&timeIdMax,-1);      if(timeIdMin > timeIdMax) Errorf("<timeMin> is greater than <timeMax>");      timeIdMin = Time2TimeId(book,timeIdMin);      timeIdMax = Time2TimeId(book,timeIdMax);      break;    case 'f':      argv = ParseArgv(argv,tFLOAT,&freqIdMin,tFLOAT,&freqIdMax,-1);      if(freqIdMin > freqIdMax) Errorf("<freqMin> is greater than <freqMax>");      freqIdMin = Freq2FreqId(book,freqIdMin);      freqIdMax = Freq2FreqId(book,freqIdMax);      break;    case 'c':      argv = ParseArgv(argv,tFLOAT,&chirpIdMin,tFLOAT,&chirpIdMax,-1);      if(chirpIdMin > chirpIdMax) Errorf("<chirpMin> is greater than <chirpMax>");      chirpIdMin = Chirp2ChirpId(book,chirpIdMin);      chirpIdMax = Chirp2ChirpId(book,chirpIdMax);      break;    default :       ErrorOption(opt);    }  }  NoMoreArgs(argv);    if (timeIdMin < 0)     Errorf("'timeIdMin' should be greater than 0\n");  if (timeIdMax > book->signalSize)     Errorf("'timeIdMax' is too big\n");  /* Reconstructing */  Mpr(book,reconsSignal,&timeIdReconsMin,&timeIdReconsMax,maskSignal,      flagFundamentalRange,      windowSizeMin,windowSizeMax,      timeIdMin,timeIdMax,      freqIdMin,freqIdMax,      chirpIdMin,chirpIdMax,      nMin,nMax);  lv = TNewListv();  AppendInt2Listv(lv,timeIdReconsMin);  AppendInt2Listv(lv,timeIdReconsMax);  SetResultValue(lv);}/* EOF */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕av不卡| 欧美成人a∨高清免费观看| 中文字幕不卡在线播放| 丁香婷婷综合色啪| 国产精品国产三级国产专播品爱网| 懂色av一区二区在线播放| 国产精品久久综合| 色吧成人激情小说| 婷婷开心久久网| 精品成人一区二区三区| 大尺度一区二区| 亚洲观看高清完整版在线观看| 欧美高清dvd| 国产精品一区二区三区四区 | 久久久精品综合| 北条麻妃一区二区三区| 亚洲午夜免费电影| 久久老女人爱爱| 欧美视频你懂的| 国产一区二区调教| 亚洲欧美欧美一区二区三区| 欧美日韩美少妇| 国产精品18久久久久久久网站| 亚洲欧美日韩一区| 欧美电影免费观看高清完整版在 | 国产精品美女久久久久久久| 一本大道av伊人久久综合| 日韩精品亚洲一区二区三区免费| 精品久久人人做人人爽| 日本乱人伦一区| 国产中文字幕精品| 一级女性全黄久久生活片免费| 日韩一级免费一区| 91黄色小视频| 粉嫩av一区二区三区粉嫩| 日韩主播视频在线| 亚洲视频一区二区在线| 精品国产精品网麻豆系列| 一本色道a无线码一区v| 久久99国产精品久久| 一区二区成人在线| 国产精品卡一卡二| 久久综合久久99| 3751色影院一区二区三区| 91社区在线播放| 成人一区二区三区在线观看| 青青草成人在线观看| 亚洲综合在线五月| 国产精品久久久久久久久免费樱桃 | 欧洲中文字幕精品| 国产99久久久国产精品免费看| 午夜久久久久久久久| 国产精品美女久久久久久久久 | 欧美性受xxxx黑人xyx| 成人一区二区三区在线观看| 久久精品国产一区二区三区免费看| 亚洲综合精品自拍| 亚洲美女在线国产| 亚洲天天做日日做天天谢日日欢| 久久久九九九九| 久久久久青草大香线综合精品| 91精品国产综合久久香蕉麻豆| 91精彩视频在线| 色噜噜久久综合| 91女厕偷拍女厕偷拍高清| 懂色av一区二区三区蜜臀| 国产在线不卡一区| 精品一区二区精品| 久久国产尿小便嘘嘘尿| 男男成人高潮片免费网站| 日韩精品欧美精品| 日本麻豆一区二区三区视频| 五月综合激情婷婷六月色窝| 亚洲123区在线观看| 亚洲成年人网站在线观看| 五月天精品一区二区三区| 视频在线观看一区二区三区| 亚洲国产精品久久久久秋霞影院| 亚洲激情校园春色| 一级精品视频在线观看宜春院| 亚洲欧美电影院| 亚洲激情中文1区| 香蕉影视欧美成人| 天天色天天操综合| 精品系列免费在线观看| 国产一区 二区| 国产精品一区二区无线| 成人动漫视频在线| 欧美亚洲综合色| 欧美人狂配大交3d怪物一区| 91麻豆精品国产| 精品国产凹凸成av人网站| 国产亚洲欧洲一区高清在线观看| 国产欧美视频一区二区三区| 中文字幕在线观看一区| 亚洲永久精品大片| 日韩不卡在线观看日韩不卡视频| 久久精品二区亚洲w码| 国产成人亚洲综合a∨婷婷| eeuss鲁一区二区三区| 欧美日韩在线播放一区| 日韩欧美中文字幕一区| 亚洲国产精品99久久久久久久久| 亚洲视频1区2区| 日韩精品视频网站| 国产精品911| 欧美性受极品xxxx喷水| 日韩精品一区二区三区老鸭窝| 国产欧美日韩综合| 视频一区视频二区中文| 国产精品一区二区在线观看网站| 91麻豆福利精品推荐| 欧美一区二区三区公司| 欧美国产成人精品| 日韩精品91亚洲二区在线观看| 国产一区二区三区在线观看免费视频| 91丝袜美腿高跟国产极品老师 | 久久精品一区八戒影视| 一区二区三区在线高清| 激情欧美一区二区| 欧日韩精品视频| 国产丝袜美腿一区二区三区| 一区二区激情小说| 国产 欧美在线| 777奇米四色成人影色区| 中文字幕一区二区三区在线观看 | 国产亚洲综合在线| 丝袜美腿一区二区三区| 91一区二区三区在线播放| 日韩欧美成人一区二区| 亚洲综合在线观看视频| 国产成人99久久亚洲综合精品| 欧美日韩三级在线| 亚洲欧美日韩国产手机在线| 狠狠色综合播放一区二区| 欧美在线视频日韩| 国产精品毛片a∨一区二区三区| 日韩av一级电影| 欧美羞羞免费网站| 一区视频在线播放| 国产乱国产乱300精品| 欧美一级午夜免费电影| 亚洲图片欧美色图| 99精品偷自拍| 中文字幕一区二区三区色视频 | 色婷婷综合激情| 国产亚洲自拍一区| 激情国产一区二区| 日韩一区二区三区视频| 日韩电影在线一区二区三区| 91伊人久久大香线蕉| 国产精品无人区| 国产精品1区2区| 国产天堂亚洲国产碰碰| 国产在线一区二区| 精品国产乱码久久久久久蜜臀| 日精品一区二区| 欧美日韩二区三区| 天天综合色天天综合| 欧美日韩1234| 日本伊人午夜精品| 91精品国产黑色紧身裤美女| 午夜日韩在线电影| 欧美日本精品一区二区三区| 亚洲国产一区二区视频| 欧美性受极品xxxx喷水| 午夜精品视频一区| 日韩一区二区中文字幕| 久久黄色级2电影| 久久久久久夜精品精品免费| 经典三级在线一区| 欧美激情在线一区二区| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 欧美影视一区在线| 日韩制服丝袜av| 欧美一区二区免费| 国产麻豆视频精品| 中文字幕免费观看一区| 91视频在线看| 亚洲chinese男男1069| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲宅男天堂在线观看无病毒| av中文字幕在线不卡| 一区二区三区日韩精品视频| 欧美亚洲动漫另类| 久久精品国产**网站演员| 国产无遮挡一区二区三区毛片日本| 国产aⅴ综合色| 一区二区高清在线| 日韩精品在线一区二区| 国产91富婆露脸刺激对白| 亚洲男人天堂av网| 91.com在线观看| 国产成人精品一区二区三区四区| 亚洲欧洲色图综合| 4438成人网| 波多野结衣视频一区| 午夜在线成人av| 久久精品一级爱片| 91国偷自产一区二区使用方法|