Tconorm.h

Go to the documentation of this file.
00001 
00024 #ifndef         TCONORM_H_
00025 # define        TCONORM_H_
00026 
00027 #include <iostream>
00028 #include "Symbol.h"
00029 
00031 namespace IRIS {
00032 
00033   using namespace std;
00034 
00037   namespace Fuzzy {
00038 
00042     class Tconorm : public Symbol
00043     {
00044       public :
00045     
00046     //  CONSTRUCTORS  /////////////////////////////////////////////////////
00047     
00051         Tconorm( string name , double (*f)(double, double) );
00054         Tconorm( const Tconorm& Or );
00055     
00056     //  DESTRUCTORS  //////////////////////////////////////////////////////
00057     
00058         virtual ~Tconorm( );
00059     
00060     //  SET MEMBER FUNCTIONS (MUTATORS)  //////////////////////////////////
00061     
00063         Tconorm& operator=( const Tconorm& Or );
00064 
00065     //  GET MEMBER FUNCTIONS (ACCESSORS)  /////////////////////////////////
00066 
00067         //        /// returns a copy/clone of this object
00068         //        virtual Symbol* clone() const ;
00072         virtual double eval( double a , double b )
00073             { return (*_function)(a,b); };
00077         virtual double operator()( double a , double b )
00078             { return (*_function)(a,b); };
00079 
00080     //  (OTHER) OVERLOADED OPERATORS  /////////////////////////////////////
00081 
00083         friend ostream& operator<<( ostream& outs , const Tconorm& Or ) ;
00084     
00085       protected :
00086     
00087         double (*_function) (double, double) ;   // associated triangular norm
00088     
00089     //  UTILITIES  ////////////////////////////////////////////////////////
00090     
00091         void _copy ( const Tconorm& Or ) ;
00092         void _destroy( ) ;
00093       
00094     }; // end of Tconorm class
00095 
00096   } // end of Fuzzy namespace
00097 
00098 } // end of IRIS namespace
00099     
00100 #endif      /* !TCONORM_H_ */

Generated on Tue Dec 12 13:41:39 2006 for IRIS Intelligent Systems Tools by  doxygen 1.4.6