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

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

?? hmem.h

?? 隱馬爾科夫模型工具箱
?? H
字號:
/* ----------------------------------------------------------- *//*                                                             *//*                          ___                                *//*                       |_| | |_/   SPEECH                    *//*                       | | | | \   RECOGNITION               *//*                       =========   SOFTWARE                  */ /*                                                             *//*                                                             *//* ----------------------------------------------------------- *//*         Copyright: Microsoft Corporation                    *//*          1995-2000 Redmond, Washington USA                  *//*                    http://www.microsoft.com                 *//*                                                             *//*   Use of this software is governed by a License Agreement   *//*    ** See the file License for the Conditions of Use  **    *//*    **     This banner notice must not be removed      **    *//*                                                             *//* ----------------------------------------------------------- *//*         File: HMem.h:   Memory Management Module            *//* ----------------------------------------------------------- *//* !HVER!HMem:   3.2 [CUED 09/12/02] *//*   This module provides a type MemHeap which once initialised   acts as a memory heap.  Every heap has a name which is used    in error messages and a type:         MHEAP    = fixed size objects, with random order                  new/free operations and global reset                   MSTAK    = variable size objects with LIFO order                  new/free operations and global reset                   CHEAP    = variable size objects with random order                  new/free operations but no reset (this uses                  malloc and free directly)                Storage for each heap (except CHEAP) is allocated in blocks.   Blocks grow according to the growf(actor up to a specified limit.   When items are freed from a MHEAP heap and a block becomes empty    then the block is free'd.  Every item in a heap can be freed via the    ResetHeap function.  For MSTAK heaps this is a very low cost   operation.      On top of the above basic memory types, this module defines   vector, matrix and string memory manipulation routines.*/#ifndef _HMEM_H_#define _HMEM_H_#ifdef __cplusplusextern "C" {#endif/* ----------------- Define Memory Management Functions ---------------- */typedef enum{MHEAP, MSTAK, CHEAP} HeapType;typedef unsigned char * ByteP;typedef void * Ptr;typedef struct _Block *BlockP;typedef struct _Block{  /*      MHEAP                     MSTAK           */   size_t numFree;      /* #free elements            #free bytes          */   size_t firstFree;    /* idx of 1st free elem      idx of stack top     */   size_t numElem;      /* #elems in blk             #bytes in blk        */   ByteP used;          /* alloc map, 1 bit/elem         not used         */   Ptr   data;          /*        actual data for this block              */   BlockP next;         /*           next block in chain                  */} Block;typedef struct {   char *name;          /*            name of this memory heap            */   HeapType type;       /*              type of this heap                 */   float growf;         /*           succ blocks grow as 1+growf          */   size_t elemSize;     /*  size of each elem              1 always       */   size_t minElem;      /*  init #elems per blk      init #bytes per blk  */   size_t maxElem;      /*  max #elems per block     max #bytes per blk   */   size_t curElem;      /*  current #elems per blk   curr #bytes per blk  */   size_t totUsed;      /*  total #elems used        total #bytes used    */   size_t totAlloc;     /*  total #elems alloc'ed    total #bytes alloc'd */   BlockP heap;         /*               linked list of blocks            */   Boolean protectStk;  /*  MSTAK only, prevents disposal below Stack Top */}MemHeap;/* ---------------------- Alignment Issues -------------------------- */size_t MRound(size_t size);/*   Round size to align elements of array on full word boundary.*//* ---------------- General Purpose Memory Management ---------------- */extern MemHeap gstack;  /* global MSTAK for general purpose use */extern MemHeap gcheap;  /* global CHEAP for general purpose use */void InitMem(void);/*   Initialise the module.  This routine must be called before any other   routine in this module*/void CreateHeap(MemHeap *x, char *name, HeapType type, size_t elemSize,                 float growf, size_t numElem,  size_t maxElem);/*   Create a memory heap x for elements of size elemSize and numElem in   first block.  If type is MSTAK or CHEAP then elemSize should be 1.*/void ResetHeap(MemHeap *x);/*   Frees all items currently allocated from the given heap. Fails   if type is CHEAP.*/void DeleteHeap(MemHeap *x);/*   Delete given heap and all associated data structures.*/Ptr New(MemHeap *x,size_t size);/*   Allocate and return a new element of given size from memory heap x.   If heap is MHEAP then the size can be 0 in which case it is   ignored, otherwise it must be the correct size for that heap.  Note   that New aborts if requests cannot be satisfied.  It never   returns NULL.*/Ptr CNew(MemHeap *x,size_t size);/*  Create a new element from heap x and initialise to zero. See  comment for New() above.*/void Dispose(MemHeap *x, Ptr p);/*   Free the element pointed to by p from memory heap x*/void PrintHeapStats(MemHeap *x);/*    Print summary stats for given memory heap */void PrintAllHeapStats(void);/*    Print summary stats for all allocated heaps*//* ------------- Vector/Matrix Memory Management -------------- *//* Basic Numeric Types */typedef short *ShortVec;   /* short vector[1..size] */typedef int   *IntVec;     /* int vector[1..size] */typedef float *Vector;     /* vector[1..size]   */typedef float **Matrix;    /* matrix[1..nrows][1..ncols] */typedef Matrix TriMat;     /* matrix[1..nrows][1..i] (lower triangular) */typedef double *DVector;   /* double vector[1..size]   */typedef double **DMatrix;  /* double matrix[1..nrows][1..ncols] *//* Shared versions */typedef Vector SVector;    /* shared vector[1..size]   */typedef Matrix SMatrix;    /* shared matrix[1..nrows][1..ncols] */typedef Matrix STriMat;    /* shared matrix[1..nrows][1..i] (lower tri) */size_t ShortVecElemSize(int size);size_t IntVecElemSize(int size);size_t VectorElemSize(int size);size_t DVectorElemSize(int size);size_t SVectorElemSize(int size);/*    Return elemSize of a vector with size components.  These   functions should be used for creating MHEAP heaps*/ShortVec CreateShortVec(MemHeap *x,int size);IntVec   CreateIntVec(MemHeap *x,int size);Vector   CreateVector(MemHeap *x,int size);DVector  CreateDVector(MemHeap *x,int size);SVector  CreateSVector(MemHeap *x,int size);/*   Create and return a vector of size components.   The SVector version prepends 8 bytes for use by HModel's shared   data structure mechanism.*/int ShortVecSize(ShortVec v);int IntVecSize(IntVec v);int VectorSize(Vector v);int DVectorSize(DVector v);/*   Return the number of components in vector v*/void FreeShortVec(MemHeap *x,ShortVec v);void FreeIntVec(MemHeap *x,IntVec v);void FreeVector(MemHeap *x,Vector v);void FreeDVector(MemHeap *x,DVector v);void FreeSVector(MemHeap *x,SVector v);/*   Free the memory allocated for vector v*/size_t MatrixElemSize(int nrows,int ncols);size_t DMatrixElemSize(int nrows,int ncols);size_t SMatrixElemSize(int nrows,int ncols);size_t TriMatElemSize(int size);size_t STriMatElemSize(int size);/*    Return elemSize of a Matrix with given number of rows   and columns, or Triangular Matrix with size rows and   columns.  These functions should be used for creating    MHEAP heaps.*/Matrix  CreateMatrix(MemHeap *x,int nrows,int ncols);DMatrix CreateDMatrix(MemHeap *x,int nrows,int ncols);SMatrix CreateSMatrix(MemHeap *x,int nrows,int ncols);TriMat  CreateTriMat(MemHeap *x,int size);STriMat CreateSTriMat(MemHeap *x,int size);/*   Create and return a matrix with nrows rows and ncols columns.   The S version prepends 8 bytes for use by HModel's shared   datastructure mechanism. The TriMat versions allocate only the    lower triangle of a square matrix.*/Boolean IsTriMat(Matrix m);/*   Return true if m is actually TriMat*/int NumRows(Matrix m);int NumDRows(DMatrix m);int NumCols(Matrix m);int NumDCols(DMatrix m);int TriMatSize(TriMat m);/*   Return the number of rows/cols in matrix m.  These can be   applied to shared variants also.*/void FreeMatrix(MemHeap *x,Matrix m);void FreeDMatrix(MemHeap *x,DMatrix m);void FreeSMatrix(MemHeap *x,SMatrix m);void FreeTriMat(MemHeap *x,TriMat m);void FreeSTriMat(MemHeap *x,STriMat m);/*   Free the space occupied by matrix m*/void SetUse(Ptr m,int n);void IncUse(Ptr m);void DecUse(Ptr m);int  GetUse(Ptr m);/*   Access to Usage count attached to Shared Vector/Matrix m */Boolean IsSeenV(Ptr m);void TouchV(Ptr m);void UntouchV(Ptr m);/*   Set/clear/check nUse as "seen" flag*/void SetHook(Ptr m, Ptr ptr);Ptr GetHook(Ptr m);/*   Access to Hook attached to Shared Vector/Matrix m *//* ------------------ String Memory Management ----------------- */char *NewString(MemHeap *x, int size);/*   Returns a pointer to a string of given size*/char *CopyString(MemHeap *x, char *s);/*   Returns a pointer to a copy of string s*/#ifdef __cplusplus}#endif#endif  /* _HMEM_H_ *//* -------------------------- End of HMem.h ---------------------------- */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成年人午夜久久久| 欧美性受xxxx黑人xyx| 亚洲男人都懂的| 日韩西西人体444www| 99国产精品久久久| 国产在线精品不卡| 一区二区三区中文免费| 久久综合色婷婷| 欧美日韩在线综合| 成人激情图片网| 日本女人一区二区三区| 亚洲激情图片小说视频| 国产拍揄自揄精品视频麻豆| 欧美一区日本一区韩国一区| 91丝袜国产在线播放| 国产精品一区二区果冻传媒| 五月激情六月综合| 亚洲黄色免费网站| 国产婷婷色一区二区三区在线| 8x福利精品第一导航| 99视频在线观看一区三区| 精一区二区三区| 亚洲成人精品一区| 亚洲私人影院在线观看| 久久蜜臀精品av| 欧美v日韩v国产v| 91麻豆精品国产91久久久使用方法 | 亚洲香蕉伊在人在线观| 中文字幕在线不卡视频| 亚洲国产精品国自产拍av| 2023国产精品自拍| 日韩三级中文字幕| 91精品国产综合久久福利 | 99在线精品免费| 国产成人精品亚洲午夜麻豆| 蜜臀av性久久久久av蜜臀妖精| 亚洲18色成人| 午夜精品在线看| 亚洲h精品动漫在线观看| 亚洲国产视频直播| 午夜精品福利一区二区三区av| 亚洲成人精品一区| 日韩av一区二区三区四区| 日日夜夜一区二区| 日韩电影免费一区| 日av在线不卡| 国产一区二区导航在线播放| 国产一二精品视频| 成人国产在线观看| 99久久久久免费精品国产| 91久久精品一区二区二区| 色88888久久久久久影院野外| 欧美在线一二三四区| 欧美日韩国产大片| 日韩一区二区三区电影| 2021久久国产精品不只是精品| 精品国产99国产精品| 国产日韩欧美制服另类| 中文字幕在线一区免费| 一区二区三区四区激情| 日欧美一区二区| 激情六月婷婷久久| 成人午夜视频福利| 91理论电影在线观看| 777奇米四色成人影色区| 精品国产一区二区三区四区四| 国产日韩欧美电影| 亚洲美女屁股眼交3| 日本中文字幕一区二区视频| 国产精品亚洲第一区在线暖暖韩国| 丁香啪啪综合成人亚洲小说| 欧美亚洲一区二区在线观看| 日韩欧美综合一区| 国产精品美女久久久久aⅴ| 亚洲一区二区黄色| 久久精品国产免费看久久精品| 成人一道本在线| 欧美综合在线视频| 久久综合色之久久综合| 亚洲免费av观看| 美国十次了思思久久精品导航| 国产风韵犹存在线视精品| 色天天综合久久久久综合片| 精品久久久久99| 伊人开心综合网| 经典三级视频一区| 欧美性感一类影片在线播放| 久久久三级国产网站| 一区二区三区四区在线| 国产伦精品一区二区三区在线观看| 99精品视频一区二区三区| 精品久久人人做人人爰| 成人免费一区二区三区在线观看| 蜜臀av一区二区三区| 99v久久综合狠狠综合久久| 欧美r级在线观看| 亚洲香肠在线观看| 不卡影院免费观看| 精品美女被调教视频大全网站| 亚洲综合小说图片| 国产一区二区精品久久91| 欧美日韩在线精品一区二区三区激情| 久久综合九色综合97婷婷女人| 亚洲成年人影院| 91原创在线视频| 久久精品欧美日韩| 久久精品免费看| 欧美视频一二三区| 亚洲天堂久久久久久久| 国产成人aaa| 日韩欧美中文字幕公布| 亚洲一区免费在线观看| 色综合夜色一区| 亚洲国产成人自拍| 国产成人综合亚洲网站| 欧美大片在线观看一区二区| 亚洲国产成人porn| 在线免费视频一区二区| 国产精品国产馆在线真实露脸| 国产一区二区福利| 亚洲精品在线免费观看视频| 日本va欧美va欧美va精品| 欧美视频一区二| 亚洲无人区一区| 在线观看网站黄不卡| 亚洲理论在线观看| 99久久er热在这里只有精品15 | 丁香另类激情小说| 国产午夜亚洲精品羞羞网站| 国产一区在线观看视频| 精品99一区二区| 国产一区二区三区香蕉| 久久久久久日产精品| 国产一区二区三区观看| 精品久久一区二区三区| 国产乱码字幕精品高清av| 久久综合丝袜日本网| 国产精品66部| 国产精品麻豆久久久| 成人美女视频在线观看18| 国产欧美视频一区二区| 成人夜色视频网站在线观看| 欧美—级在线免费片| 成人性色生活片免费看爆迷你毛片| 国产拍揄自揄精品视频麻豆| 成人性生交大片| 最新国产精品久久精品| 色噜噜狠狠色综合中国| 亚洲在线一区二区三区| 欧美另类变人与禽xxxxx| 免费精品视频最新在线| 精品伦理精品一区| 高清日韩电视剧大全免费| 亚洲视频网在线直播| 欧美中文字幕一区二区三区亚洲| 亚洲成人av一区二区| 欧美一区二区三区视频免费播放| 老司机一区二区| 国产精品三级视频| 色噜噜狠狠一区二区三区果冻| 亚洲成人黄色小说| 欧美第一区第二区| 成人黄色免费短视频| 一区二区三区四区av| 欧美一区二区性放荡片| 国产精选一区二区三区| 伊人婷婷欧美激情| 日韩欧美成人午夜| www.激情成人| 亚洲aaa精品| 精品区一区二区| 99v久久综合狠狠综合久久| 天堂av在线一区| 久久久www免费人成精品| 色狠狠桃花综合| 激情综合亚洲精品| 亚洲免费毛片网站| 欧美成人性战久久| 色狠狠综合天天综合综合| 久久精品国产久精国产| 综合激情成人伊人| 欧美成人一区二区三区| 一本大道久久a久久综合| 看电影不卡的网站| 亚洲色图欧洲色图婷婷| 精品久久国产字幕高潮| 在线观看av不卡| 高清国产一区二区| 蜜臀久久99精品久久久画质超高清| 国产精品久久久久永久免费观看 | 精品国产网站在线观看| 91猫先生在线| 国产一区在线精品| 亚洲成a人片综合在线| 欧美激情在线一区二区三区| 欧美肥妇毛茸茸| 色婷婷国产精品久久包臀| 国产在线观看免费一区| 午夜精品久久久久久久久| 成人欧美一区二区三区视频网页|