SHOGUN
v3.2.0
|
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) 2013 Soumyajit De 00008 */ 00009 00010 #ifndef INDIVIDUAL_JOB_RESULT_AGGREGATOR_H_ 00011 #define INDIVIDUAL_JOB_RESULT_AGGREGATOR_H_ 00012 00013 #include <shogun/lib/config.h> 00014 #include <shogun/lib/computation/aggregator/StoreVectorAggregator.h> 00015 00016 #ifdef HAVE_EIGEN3 00017 00018 namespace shogun 00019 { 00020 class CJobResult; 00021 template<class T> class SGVector; 00022 template<class T> class CLinearOperator; 00023 00031 class CIndividualJobResultAggregator : public CStoreVectorAggregator<complex128_t> 00032 { 00033 public: 00035 CIndividualJobResultAggregator(); 00036 00047 CIndividualJobResultAggregator(CLinearOperator<float64_t>* 00048 linear_operator, SGVector<float64_t> vector, 00049 const float64_t& const_multiplier); 00050 00052 virtual ~CIndividualJobResultAggregator(); 00053 00058 virtual void finalize(); 00059 00061 virtual const char* get_name() const 00062 { 00063 return "IndividualJobResultAggregator"; 00064 } 00065 private: 00067 CLinearOperator<float64_t>* m_linear_operator; 00068 00070 SGVector<float64_t> m_vector; 00071 00073 const float64_t m_const_multiplier; 00074 00076 void init(); 00077 }; 00078 00079 } 00080 00081 #endif // HAVE_EIGEN3 00082 #endif // INDIVIDUAL_JOB_RESULT_AGGREGATOR_H_