00001 /* 00002 * This program is free software; you can redistribute it and/or modify 00003 * it under the terms of the GNU General Public License as published by 00004 * the Free Software Foundation; either version 3 of the License, or 00005 * (at your option) any later version. 00006 * 00007 * Written (W) 2012 Heiko Strathmann 00008 */ 00009 00010 #ifndef __DATAGENERATOR_H_ 00011 #define __DATAGENERATOR_H_ 00012 #include <shogun/lib/config.h> 00013 #include <shogun/base/SGObject.h> 00014 #include <shogun/lib/SGMatrix.h> 00015 00016 namespace shogun 00017 { 00018 00022 class CDataGenerator: public CSGObject 00023 { 00024 public: 00025 CDataGenerator(); 00026 00027 virtual ~CDataGenerator(); 00028 00042 static SGMatrix<float64_t> generate_mean_data(index_t m, index_t dim, 00043 float64_t mean_shift, 00044 SGMatrix<float64_t> target=SGMatrix<float64_t>()); 00045 00067 static SGMatrix<float64_t> generate_sym_mix_gauss(index_t m, 00068 float64_t d, float64_t angle, 00069 SGMatrix<float64_t> target=SGMatrix<float64_t>()); 00070 00071 #ifdef HAVE_LAPACK 00072 00082 static SGMatrix<float64_t> generate_gaussians(index_t m, index_t n, index_t dim); 00083 #endif /* HAVE_LAPACK */ 00084 00085 virtual const char* get_name() const { return "DataGenerator"; } 00086 00087 private: 00089 void init(); 00090 00091 }; 00092 00093 } 00094 00095 #endif /* __DATAGENERATOR_H_ */