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 DENSE_EXACT_LOG_JOB_H_ 00011 #define DENSE_EXACT_LOG_JOB_H_ 00012 00013 #include <shogun/lib/config.h> 00014 00015 #ifdef HAVE_EIGEN3 00016 #include <shogun/lib/computation/job/IndependentJob.h> 00017 00018 namespace shogun 00019 { 00020 template<class T> class SGVector; 00021 template<class T> class CDenseMatrixOperator; 00022 00026 class CDenseExactLogJob : public CIndependentJob 00027 { 00028 public: 00030 CDenseExactLogJob(); 00031 00039 CDenseExactLogJob(CJobResultAggregator* aggregator, 00040 CDenseMatrixOperator<float64_t>* log_operator, 00041 SGVector<float64_t> vector); 00042 00044 virtual ~CDenseExactLogJob(); 00045 00047 virtual void compute(); 00048 00050 SGVector<float64_t> get_vector() const; 00051 00053 CDenseMatrixOperator<float64_t>* get_operator() const; 00054 00056 virtual const char* get_name() const 00057 { 00058 return "DenseExactLogJob"; 00059 } 00060 00061 private: 00063 CDenseMatrixOperator<float64_t>* m_log_operator; 00064 00066 SGVector<float64_t> m_vector; 00067 00069 void init(); 00070 }; 00071 00072 } 00073 00074 #endif // HAVE_EIGEN3 00075 #endif // DENSE_EXACT_LOG_JOB_H_