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_MATRIX_EXACT_LOG_H_ 00011 #define DENSE_MATRIX_EXACT_LOG_H_ 00012 00013 #include <shogun/lib/config.h> 00014 #include <shogun/mathematics/linalg/ratapprox/opfunc/OperatorFunction.h> 00015 00016 #ifdef HAVE_EIGEN3 00017 00018 namespace shogun 00019 { 00020 00021 template<class T> class SGVector; 00022 template<class T> class CDenseMatrixOperator; 00023 class CJobResultAggregator; 00024 class CIndependentComputationEngine; 00025 00029 class CDenseMatrixExactLog : public COperatorFunction<float64_t> 00030 { 00031 public: 00033 CDenseMatrixExactLog(); 00034 00041 CDenseMatrixExactLog(CDenseMatrixOperator<float64_t>* op, 00042 CIndependentComputationEngine* engine); 00043 00045 virtual ~CDenseMatrixExactLog(); 00046 00052 virtual void precompute(); 00053 00062 virtual CJobResultAggregator* submit_jobs(SGVector<float64_t> sample); 00063 00065 virtual const char* get_name() const 00066 { 00067 return "DenseMatrixExactLog"; 00068 } 00069 }; 00070 00071 } 00072 00073 #endif // HAVE_EIGEN3 00074 #endif // DENSE_MATRIX_EXACT_LOG_H_