Example #1
0
double ks_distance(const histogram<double>& sample1,const histogram<double>& sample2)
{
  //let's include the whole range 
  double _min=std::min(sample1.min(),sample2.min());
  double _max=std::max(sample1.max(),sample2.max());
  double _range=_max-_min;
  
  histogram<double> _s1(sample1);
  histogram<double> _s2(sample2);
  
  _s1.convert_to_commulative();
  _s2.convert_to_commulative();
  
  int _size=std::max(_s1.size(),_s2.size())*2;
  double _bin=_range/_size;
  
  double dist=0.0;
  double v=0.0;
  for(int i=0;i<_size;i++,v+=_bin)
  {
    double d=fabs(_s1[v]-_s2[v]);
    if(d>dist) dist=d;
  }
  return dist;
}
Example #2
0
    //--------------------------------------------------------------
    void
    DataStream::writeInt16BE(i16 n)
    {
#ifdef AZURA_LITTLE_ENDIAN
        _s2((_2*)&n);
#endif
        writeInt16(n);
    }
Example #3
0
    //--------------------------------------------------------------
    void
    DataStream::writeInt16(i16 n)
    {
#ifdef AZURA_BIG_ENDIAN
        _s2((_2*)&n);
#endif
        _file->write((u8*)&n, sizeof(n));
    }
Example #4
0
    //--------------------------------------------------------------
    void
    DataStream::readUint16BE(u16& n)
    {
        _file->read((u8*)&n, sizeof(n));
#ifdef AZURA_LITTLE_ENDIAN
        _s2((_2*)&n);
#endif
    }
Example #5
0
    //--------------------------------------------------------------
    void
    DataStream::readInt16(i16& n)
    {
        _file->read((u8*)&n, sizeof(n));
#ifdef AZURA_BIG_ENDIAN
        _s2((_2*)&n);
#endif
    }