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

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

?? histogram.h

?? 統計軟件包
?? H
字號:

#ifndef _HISTOGRAM_H_
#define _HISTOGRAM_H_

#include <assert.h>

/**
  Support for calculating histograms.

  The histogram class constructor is initialized with the number of
  bins to be used in the histogram.

  Each bin is a histo_bin object which contains information on the
  start and end value of the bin range and the frequency in the bin.
  The frequency is the number of values in the data set which
  are greater than or equal to start and less than end.

  Example:

  Given an array of 20 double values, calculate the histogram.  The
  data does not need to be in sorted order.  The histogram calculation
  will sort it.  A vector of histo_bin objects is allocated by the
  histogram::bin_vec class constructor.  The data, number of elements
  in the data set and the vector of histogram bins is passed to the
  histogram calculate function.  This will initialize each of the
  histogram bins with a start, end and frequency.

<pre>
    const size_t num_bins = 20;
    histogram::bin_vec binz( num_bins );
    histogram histo;

    histo.calculate( data, N, binz );

    for (size_t i = 0; i &lt; num_bins; i++) {
      size_t freq = static_cast<size_t>( binz[i] );
      printf("%7.4f %2d\\n", binz.start(i), freq );
    }
</pre>

  Note that binz[i] returns the frequency as a double, which is
  cast to a size_t value.

 */
class histogram
{
private:
  // copy constructor
  histogram( const histogram &rhs );

  class bin_vec;
  void init_bins( bin_vec &bins,
		  const double min,
		  const double max );

  /**
    Get values from a double array.
    */
  class value_pool
  {
  private:
    size_t ix_;
    const double *vec_;
    const size_t N_;

  public:
    value_pool( const double *vec, size_t N ) : vec_( vec ), N_( N )
    {
      ix_ = 0;
    }

    bool get_val( double &val )
    {
      bool rslt = false;
      val = 0.0;
      if (ix_ < N_) {
	rslt = true;
	val = vec_[ ix_ ];
	ix_++;
      }
      return rslt;
    } // get_val

  }; // value_pool

public:
  /**
    A histogram bin

    In a standard histogram a bin always contains a positive integer
    frequency (a.k.a. count of elements).  This histogram bin object
    is designed to be operated on a floating point wavelet
    transform.  So the frequency element is a double.

   */
  class histo_bin
  {
  private:
    /** number of values, v, such that start <= v < end */
    double frequency_;
    /** start of bin value range */
    double start_;
    /** end of bin value range */
    double end_;

  public:
    histo_bin() {}
    ~histo_bin() {}

    double frequency() { return frequency_; }
    void frequency( const double f ) { frequency_ = f; }

    double &freqPtr() { return frequency_; }

    double start() { return start_; }
    void start( const double s ) { start_ = s; }

    double end() { return end_; }
    void end( const double e ) { end_ = e; }

  }; // class histo_bin


  /**
    An array of histogram bins.

    This class overloads the array index operator [].  For an
    instance of bin_vec named binz, binz[i] will return the
    frequency value at index i.

    The class constructor is passed a value for the number of
    bin_vec elements.  It dynamically allocates an internal array.
    
    The class destructor deallocates the internal array.

    The start and end values for a given bin are referenced
    via the start and end functions.

   */
  class bin_vec
  {
  private:
    bin_vec( const bin_vec &rhs );
    const size_t num_bins;
    histo_bin *bins;

  public:
    bin_vec( size_t N ) : num_bins( N )
    {
      bins = new histo_bin[ num_bins ];
    }

    ~bin_vec()
    {
      delete [] bins;
    }

    size_t length() { return num_bins; }

    double start( const size_t i ) 
    { 
      assert( i < num_bins );
      return bins[i].start(); 
    }

    void start( const size_t i, const double val )
    {
      assert( i < num_bins );
      bins[i].start( val );
    }

    double end( const size_t i ) 
    { 
      assert( i < num_bins );
      return bins[i].end(); 
    }

    void end( const size_t i, const double val )
    {
      assert( i < num_bins );
      bins[i].end( val );
    }

    /** LHS [] operator */
    double &operator[]( const size_t i )
    {
      assert( i < num_bins );
      
      return bins[i].freqPtr();
    }

    /** RHS [] operator */
    double operator[]( const size_t i ) const
    {
      assert( i < num_bins );
      return bins[i].frequency();
    }

  }; // class bin_vec

public:
  histogram() {}
  ~histogram() {}

  void calculate( const double *raw_data,
		  const size_t N,
		  bin_vec &binz );
}; // histogram


#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合中文字幕国产 | 一区二区三区四区不卡在线| 国产亚洲一区二区三区在线观看 | 亚洲欧洲av另类| 中文天堂在线一区| 欧美激情一区二区三区蜜桃视频| 久久婷婷成人综合色| 精品电影一区二区| 久久综合一区二区| 国产精品久久久久久亚洲伦| 国产精品剧情在线亚洲| 成人欧美一区二区三区1314 | 在线观看成人免费视频| 色先锋久久av资源部| 91农村精品一区二区在线| 色爱区综合激月婷婷| 欧美日韩一卡二卡三卡| 日韩美女视频一区二区在线观看| 2023国产一二三区日本精品2022| 国产亚洲欧美日韩日本| 亚洲人成网站在线| 日韩高清不卡一区| 国产另类ts人妖一区二区| 成人av手机在线观看| 丁香婷婷综合激情五月色| 99精品视频在线观看免费| 欧美亚洲尤物久久| 久久蜜桃一区二区| 亚洲免费电影在线| 美国毛片一区二区三区| 97国产精品videossex| 日韩一区二区不卡| 国产精品第五页| 美女被吸乳得到大胸91| 成人高清免费在线播放| 欧美久久一二三四区| 26uuu另类欧美| 亚洲成人av资源| 99精品视频中文字幕| 91精品国产全国免费观看 | 欧美丝袜丝nylons| 国产亚洲一区二区在线观看| 午夜精品久久久久久久99水蜜桃| 国产精品中文字幕欧美| 欧美精品一二三| 亚洲天堂网中文字| 黄色成人免费在线| 91精品国产免费| 亚洲一线二线三线视频| 成人黄色网址在线观看| 久久综合狠狠综合| 日产国产高清一区二区三区| 91看片淫黄大片一级在线观看| 日韩精品综合一本久道在线视频| 一区二区三区在线播| 播五月开心婷婷综合| 久久免费的精品国产v∧| 偷拍一区二区三区四区| 在线中文字幕一区| 日韩毛片视频在线看| 国内精品久久久久影院一蜜桃| 欧美乱妇15p| 午夜亚洲国产au精品一区二区| 色综合久久中文字幕| 国产精品视频九色porn| 国产ts人妖一区二区| 国产欧美日韩在线视频| 国产在线不卡一区| 久久免费精品国产久精品久久久久| 久久成人免费网| 91精品国产一区二区人妖| 亚洲午夜精品久久久久久久久| 在线观看一区日韩| 亚洲成a人片在线观看中文| 欧美色手机在线观看| 午夜精品123| 欧美一二三区在线| 久久97超碰国产精品超碰| 精品国产91久久久久久久妲己| 国产在线精品一区二区不卡了| 精品国产伦一区二区三区观看方式| 久久99精品国产麻豆婷婷| 久久影院视频免费| 国产91丝袜在线播放九色| 亚洲品质自拍视频网站| 欧美综合一区二区| 全国精品久久少妇| 国产午夜一区二区三区| 99久久久精品免费观看国产蜜| 一区二区三区在线观看动漫| 欧美午夜宅男影院| 日本中文字幕不卡| 国产欧美日本一区视频| 99久久伊人精品| 日韩中文字幕麻豆| 久久在线观看免费| 成人免费高清视频在线观看| 亚洲少妇30p| 这里只有精品电影| 盗摄精品av一区二区三区| 亚洲综合免费观看高清完整版在线 | 自拍偷拍国产精品| 国产成人精品综合在线观看| 国产亚洲精品精华液| 一本一本久久a久久精品综合麻豆| 国产精品理论在线观看| 在线观看视频一区| 美脚の诱脚舐め脚责91| 国产精品久久看| 51精品久久久久久久蜜臀| 国产一区二区三区不卡在线观看| 亚洲少妇30p| 91精品国产麻豆| 93久久精品日日躁夜夜躁欧美| 亚洲成人www| 国产精品国产三级国产普通话99| 91色乱码一区二区三区| 日韩精品欧美精品| 国产精品不卡视频| 日韩欧美国产成人一区二区| 色综合久久久久久久久久久| 国产综合久久久久影院| 亚洲成人一二三| 中文字幕一区二区不卡| 日韩一级片在线观看| thepron国产精品| 韩国精品免费视频| 日韩av一区二区在线影视| 国产精品动漫网站| 久久精品日产第一区二区三区高清版| 在线中文字幕一区二区| 成人黄色av电影| 韩国成人福利片在线播放| 亚洲一区二区三区小说| 国产精品久久久久四虎| 国产亚洲欧洲997久久综合 | 极品少妇xxxx精品少妇| 午夜欧美在线一二页| 一区二区免费在线播放| 国产精品久久久久久妇女6080| 久久久噜噜噜久噜久久综合| 日韩欧美一级二级三级| 91精品国模一区二区三区| 91成人免费网站| 91天堂素人约啪| 色哦色哦哦色天天综合| 色婷婷久久综合| 在线欧美一区二区| 91久久精品一区二区三| 一本大道综合伊人精品热热| 色欧美日韩亚洲| 欧美亚洲禁片免费| 欧美伦理视频网站| 日韩精品一区二区三区中文不卡| 日韩一级高清毛片| 久久这里只精品最新地址| 国产亚洲精久久久久久| 国产精品素人视频| 一区二区三区国产精品| 亚洲在线中文字幕| 日韩av在线免费观看不卡| 日本成人在线视频网站| 九色综合狠狠综合久久| 国产高清久久久久| 成人教育av在线| 欧美天天综合网| 91精品国产欧美一区二区成人| 日韩欧美国产三级| 国产精品丝袜久久久久久app| 成人免费在线观看入口| 亚洲国产精品视频| 激情深爱一区二区| 成人激情动漫在线观看| 在线亚洲一区观看| 日韩一级二级三级精品视频| 国产欧美中文在线| 一区二区高清视频在线观看| 日韩精品每日更新| 国产999精品久久| 欧美日韩一区中文字幕| 欧美sm极限捆绑bd| 亚洲美女在线国产| 奇米精品一区二区三区在线观看一| 国产乱理伦片在线观看夜一区| 91精品福利视频| 久久久久国产一区二区三区四区| 亚洲男人天堂av网| 国产一区二区91| 欧美日韩在线观看一区二区| 久久久久成人黄色影片| 亚洲h精品动漫在线观看| 国产精品自拍三区| 欧美日韩国产天堂| 国产精品乱码一区二区三区软件| 亚洲激情男女视频| 国产精品1区2区3区| 欧美一区二区在线看| 亚洲天堂福利av| 国产成人啪免费观看软件| 欧美午夜电影在线播放|