⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 select_gauss.h

📁 Intel开发的IPP库的应用实例
💻 H
字号:
/*
//
//                  INTEL CORPORATION PROPRIETARY INFORMATION
//     This software is supplied under the terms of a license agreement or
//     nondisclosure agreement with Intel Corporation and may not be copied
//     or disclosed except in accordance with the terms of that agreement.
//          Copyright(c) 1999-2006 Intel Corporation. All Rights Reserved.
//
//     Intel(R) Integrated Performance Primitives Gaussian Mixture Sample for Windows*
//
//  By downloading and installing this sample, you hereby agree that the
//  accompanying Materials are being provided to you under the terms and
//  conditions of the End User License Agreement for the Intel(R) Integrated
//  Performance Primitives product previously accepted by you. Please refer
//  to the file ippEULA.rtf located in the root directory of your Intel(R) IPP
//  product installation for more information.
//
//
*/

#ifndef aaaSELECT_GAUSS_Haaa
#define aaaSELECT_GAUSS_Haaa

#include <stdio.h>
#include <stdlib.h>
#include <ipps.h>
#include <ippsr.h>

#include "prob_calc.h"

class Select_Gauss {
   protected:
      CdbkState_32f* pCdbk;    // Codebook pointer
      int    cdbksize;         // Codebook size
      int    space_dim;        // feature space dimension
      int    gauss_num;        // number of Gaussians in model
      int    num_clusters;     // quantity of clusters to search
      float  treshold;         // treshold for VQ for creating of shortlist
      int    num_vec;          // number for VQ for creating of shortlist
      Ipp8u** pShortlist;      // ShortList pointer
      int    Listlen;          // Lenght of shortlist
      int    max_len;          // Maximum of lenght for VQ
      int    max_gauss;        // Maximal Gaussians in mixture
      int*   pIndx;            // Index vector for VQ
      int    space_dim4;       // aligned to 4 space_dim
      int    states_num;       // number of states
      Mixture *states;         // states array for shortlist creation
      float* local_weights;    // weights from cdbk
      bool   is_row;           // Is shortlist filling by rows


      int    CreateShortList(float* means);
      int    CommonInit(float* means);
   public:
      int    count_all;        // all Gaussian counter
      int    count_one;        // calculated Gaussian counter
      Ipp8u* MixTable;
      int    Init_SelectGauss_Simple(int m_len, int m_gauss, int gss_num, float *tmpcodebook,
                                     float *weights, float *meanSet, Mixture *states, int states_num);
      int    Init_SelectGauss_Full  (int m_len, int m_gauss, int gss_num, float *tmpcodebook,
                                     float *weights, float *meanSet, Mixture *states, int states_num);

      int    WriteVQ(float* feature, int shift, int len);
      int    ShiftIndxBegin(int len);

      int    FillSign(int esnmix, int shiftbits, int num,int shift);

      Select_Gauss (int cdbk_size, bool is_row, int n_vec, float val, int num_clust, int spc_dim);
      virtual ~Select_Gauss(void);
};

#endif

⌨️ 快捷键说明

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