LAMA
|
00001 00033 #ifndef LAMA_NORM_HPP_ 00034 #define LAMA_NORM_HPP_ 00035 00036 // for dll_import 00037 #include <lama/config.hpp> 00038 00039 // others 00040 #include <lama/Vector.hpp> 00041 #include <lama/Scalar.hpp> 00042 00043 namespace lama 00044 { 00045 00046 class Norm; 00047 00048 typedef boost::shared_ptr<Norm> NormPtr; 00049 00056 class LAMA_DLL_IMPORTEXPORT Norm 00057 { 00058 public: 00062 Norm(); 00063 00067 virtual ~Norm(); 00068 00077 Scalar operator() ( const Scalar& scalar ) const; 00078 00087 Scalar operator() ( const Vector& vector ) const; 00088 00095 virtual Scalar apply( const Scalar& scalar ) const =0; 00096 00103 virtual Scalar apply( const Vector& vector ) const =0; 00104 }; 00105 00106 } 00107 00108 #endif // LAMA_NORM_HPP_