00001 #ifndef INDII_ML_AUX_NORM_HPP
00002 #define INDII_ML_AUX_NORM_HPP
00003
00004 #include "vector.hpp"
00005
00006 #include "boost/serialization/serialization.hpp"
00007
00008 namespace indii {
00009 namespace ml {
00010 namespace aux {
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 class Norm {
00024 public:
00025
00026
00027
00028 virtual ~Norm();
00029
00030
00031
00032
00033
00034
00035
00036
00037 virtual double operator()(const vector& x) const = 0;
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047 virtual vector sample(const unsigned int N) const = 0;
00048
00049 private:
00050
00051
00052
00053 template<class Archive>
00054 void serialize(Archive& ar, const unsigned int version);
00055
00056
00057
00058
00059 friend class boost::serialization::access;
00060
00061 };
00062
00063 }
00064 }
00065 }
00066
00067 template<class Archive>
00068 void indii::ml::aux::Norm::serialize(Archive& ar,
00069 const unsigned int version) {
00070
00071 }
00072
00073 #endif
00074