Anaphe Home Page Reference Documentation

Main Page     Namespaces     Classes     Source Code    

I_Bin.h

Go to the documentation of this file.
00001 #ifndef _I_BIN_H_
00002 #define _I_BIN_H_ 1
00003 
00004 #include "HTL/H_Types.h"
00005 
00007 class I_Bin
00008 {
00009 public:
00011   H_IID_IMPLEMENT( I_Bin );
00012     typedef I_Bin Like_Current;
00013 protected:
00015   I_Bin() {}
00017   virtual ~I_Bin() {}
00018 public:
00020         virtual double value( Index i = 0 ) const = 0;
00021 
00023         virtual double error( Index i = 0 ) const = 0;
00024 
00026         virtual Size count() const = 0;
00027 
00029         virtual void set_value( double other, Index i = 0 ) = 0;
00030 
00032         virtual void set_error( double other, Index i = 0 ) = 0;
00033 
00035         virtual void set_count( Size other ) = 0;
00036 
00042   virtual double center( Index  = 0 ) const { return 0.5; }
00043 
00045   virtual void set_center( double ) { /* nop */ }
00046 
00051   virtual int offset( Index = 0 ) const { return 1; }
00053   virtual void reset() = 0;
00054 public:
00056   virtual void make( const Like_Current &other ) = 0;
00058   virtual void add( const Like_Current &other ) = 0;
00060   virtual void sub( const Like_Current &other ) = 0;
00062   virtual void mul( const Like_Current &other ) = 0;
00064   virtual void div( const Like_Current &other ) = 0;
00066   virtual void binomial_div( const Like_Current &other ) = 0;
00068   virtual void add( double x ) = 0;
00070   virtual void sub( double x ) = 0;
00072   virtual void mul( double x ) = 0;
00074   virtual void div( double x ) = 0;
00075 };
00076 
00077 #endif // _I_BIN_H
00078 


Anaphe documentation generated by Doxygen (www.doxygen.org)