From 5f5647643d3586af67f33ea16461e96f05aeb334 Mon Sep 17 00:00:00 2001 From: Heiko Strathmann Date: Thu, 25 Jul 2013 13:33:15 +0100 Subject: [PATCH 1/2] cleaned up GP interfaces and added an own file for them --- src/interfaces/modular/Classifier.i | 15 +---------- src/interfaces/modular/Classifier_includes.i | 12 +-------- src/interfaces/modular/Machine.i | 13 +++++++++ src/interfaces/modular/Regression.i | 28 ++------------------ src/interfaces/modular/Regression_includes.i | 15 ----------- src/interfaces/modular/modshogun.i | 2 ++ 6 files changed, 19 insertions(+), 66 deletions(-) diff --git a/src/interfaces/modular/Classifier.i b/src/interfaces/modular/Classifier.i index 98443a6474c..0a3a10bcbc3 100644 --- a/src/interfaces/modular/Classifier.i +++ b/src/interfaces/modular/Classifier.i @@ -5,6 +5,7 @@ * (at your option) any later version. * * Written (W) 2009 Soeren Sonnenburg + * Written (W) 2013 Heiko Strathmann * Copyright (C) 2009 Fraunhofer Institute FIRST and Max-Planck-Society */ @@ -64,12 +65,6 @@ %rename(DirectorLinearMachine) CDirectorLinearMachine; %rename(DirectorKernelMachine) CDirectorKernelMachine; -#ifdef HAVE_EIGEN3 -%rename(ProbitLikelihood) CProbitLikelihood; -%rename(LogitLikelihood) CLogitLikelihood; -%rename(GaussianProcessBinaryClassification) CGaussianProcessBinaryClassification; -#endif //HAVE_EIGEN3 - /* These functions return new Objects */ %newobject apply(); %newobject apply(CFeatures* data); @@ -112,14 +107,6 @@ %include %include -#ifdef HAVE_EIGEN3 -%include -%include -%include -%include -%include -#endif //HAVE_EIGEN3 - #ifdef USE_SVMLIGHT %ignore VERSION; diff --git a/src/interfaces/modular/Classifier_includes.i b/src/interfaces/modular/Classifier_includes.i index 69b2ac2c51a..2ec78f3a0f2 100644 --- a/src/interfaces/modular/Classifier_includes.i +++ b/src/interfaces/modular/Classifier_includes.i @@ -29,17 +29,7 @@ #include #include #include -#ifdef HAVE_EIGEN3 - #include - #include - #include - #include - #include - #include - #include - #include - #include -#endif //HAVE_EIGEN3 + #ifdef USE_SVMLIGHT #include #include diff --git a/src/interfaces/modular/Machine.i b/src/interfaces/modular/Machine.i index 2200ddb5859..0aeeeaa906b 100644 --- a/src/interfaces/modular/Machine.i +++ b/src/interfaces/modular/Machine.i @@ -1,3 +1,13 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Written (W) 2009 Soeren Sonnenburg + * Written (W) 2013 Heiko Strathmann + */ + /*%warnfilter(302) apply; %warnfilter(302) apply_generic;*/ #if defined(SWIGPYTHON) || defined(SWIGOCTAVE) || defined(SWIGRUBY) || defined(SWIGLUA) || defined(SWIGR) @@ -63,6 +73,9 @@ APPLY_BINARY(CLinearMachine); APPLY_BINARY(CKernelMachine); APPLY_BINARY(CWDSVMOcas); APPLY_BINARY(CPluginEstimate); +#ifdef HAVE_EIGEN3 +APPLY_BINARY(CGaussianProcessBinaryClassification); +#endif //HAVE_EIGEN3 APPLY_REGRESSION(CKernelRidgeRegression); APPLY_REGRESSION(CLibSVR); diff --git a/src/interfaces/modular/Regression.i b/src/interfaces/modular/Regression.i index 060f6f80c1a..857ed9103d8 100644 --- a/src/interfaces/modular/Regression.i +++ b/src/interfaces/modular/Regression.i @@ -5,6 +5,7 @@ * (at your option) any later version. * * Written (W) 2009 Soeren Sonnenburg + * Written (W) 2013 Heiko Strathmann * Copyright (C) 2009 Fraunhofer Institute FIRST and Max-Planck-Society */ @@ -13,40 +14,16 @@ %rename(KernelRidgeRegression) CKernelRidgeRegression; %rename(LinearRidgeRegression) CLinearRidgeRegression; %rename(LeastSquaresRegression) CLeastSquaresRegression; -%rename(ExactInferenceMethod) CExactInferenceMethod; -%rename(LaplacianInferenceMethod) CLaplacianInferenceMethod; -%rename(FITCInferenceMethod) CFITCInferenceMethod; -%rename(GaussianLikelihood) CGaussianLikelihood; -%rename(StudentsTLikelihood) CStudentsTLikelihood; -%rename(ZeroMean) CZeroMean; -%rename(GaussianProcessRegression) CGaussianProcessRegression; -%rename(GaussianProcessBinaryClassification) CGaussianProcessBinaryClassification; -%rename(ProbitLikelihood) CProbitLikelihood; %rename(LeastAngleRegression) CLeastAngleRegression; %rename(LibSVR) CLibSVR; %rename(LibLinearRegression) CLibLinearRegression; %rename(MKL) CMKL; %rename(MKLRegression) CMKLRegression; + #ifdef USE_SVMLIGHT %rename(SVRLight) CSVRLight; #endif //USE_SVMLIGHT -#ifdef HAVE_EIGEN3 -%include -%include -%include -%include -%include -%include -%include -%include -%include -%include -%include -%include -%include - -#endif //HAVE_EIGEN3 /* Include Class Headers to make them visible from within the target language */ %include @@ -58,7 +35,6 @@ %include %include %include - #ifdef USE_SVMLIGHT %include #endif //USE_SVMLIGHT diff --git a/src/interfaces/modular/Regression_includes.i b/src/interfaces/modular/Regression_includes.i index 6f4a89bb90a..7d48e694e2a 100644 --- a/src/interfaces/modular/Regression_includes.i +++ b/src/interfaces/modular/Regression_includes.i @@ -6,21 +6,6 @@ #include #include #include -#ifdef HAVE_EIGEN3 - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include - #include -#endif //HAVE_EIGEN3 #include #include #include diff --git a/src/interfaces/modular/modshogun.i b/src/interfaces/modular/modshogun.i index 1a7fa68738d..c59e172ea8e 100644 --- a/src/interfaces/modular/modshogun.i +++ b/src/interfaces/modular/modshogun.i @@ -65,6 +65,7 @@ %include "Statistics_includes.i" %include "Latent_includes.i" %include "Metric_includes.i" +%include "GaussianProcess_includes.i" %include "Machine.i" %include "SGBase.i" @@ -89,6 +90,7 @@ %include "Statistics.i" %include "Latent.i" %include "Metric.i" +%include "GaussianProcess.i" #if defined(SWIGPERL) %include "abstract_types_extension.i" From d71edc34ca6a1fde4b9b2d747cd22afa55e24c74 Mon Sep 17 00:00:00 2001 From: Heiko Strathmann Date: Thu, 25 Jul 2013 13:33:56 +0100 Subject: [PATCH 2/2] added new files --- src/interfaces/modular/GaussianProcess.i | 59 +++++++++++++++++++ .../modular/GaussianProcess_includes.i | 27 +++++++++ 2 files changed, 86 insertions(+) create mode 100644 src/interfaces/modular/GaussianProcess.i create mode 100644 src/interfaces/modular/GaussianProcess_includes.i diff --git a/src/interfaces/modular/GaussianProcess.i b/src/interfaces/modular/GaussianProcess.i new file mode 100644 index 00000000000..141ea0d4618 --- /dev/null +++ b/src/interfaces/modular/GaussianProcess.i @@ -0,0 +1,59 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * Written (W) 2013 Heiko Strathmann + */ + +/* Remove C Prefix */ +#ifdef HAVE_EIGEN3 +%rename(GaussianProcessMachine) CGaussianProcessMachine; +%rename(GaussianProcessBinaryClassification) CGaussianProcessBinaryClassification; +%rename(GaussianProcessBinaryRegression) CGaussianProcessBinaryRegression; + +%rename(MeanFunction) CMeanFunction; +%rename(ZeroMean) CZeroMean; + +%rename(InferenceMethod) CInferenceMethod; +%rename(ExactInferenceMethod) CExactInferenceMethod; +%rename(LaplacianInferenceMethod) CLaplacianInferenceMethod; +%rename(FITCInferenceMethod) CFITCInferenceMethod; + +%rename(LikelihoodModel) CLikelihoodModel; +%rename(ProbitLikelihood) CProbitLikelihood; +%rename(LogitLikelihood) CLogitLikelihood; +%rename(GaussianLikelihood) CGaussianLikelihood; +%rename(StudentsTLikelihood) CStudentsTLikelihood; + +#endif //HAVE_EIGEN3 + +/* These functions return new Objects */ + +/* Include Class Headers to make them visible from within the target language */ +#ifdef HAVE_EIGEN3 +%include +%include +%include + +%include +%include +%include +%include +%include +%include + +%include +%include + +%include +%include +%include +%include +%include + +%include +%include +#endif //HAVE_EIGEN3 + diff --git a/src/interfaces/modular/GaussianProcess_includes.i b/src/interfaces/modular/GaussianProcess_includes.i new file mode 100644 index 00000000000..3f8406442d8 --- /dev/null +++ b/src/interfaces/modular/GaussianProcess_includes.i @@ -0,0 +1,27 @@ +%{ +#ifdef HAVE_EIGEN3 + #include + + #include + #include + + #include + #include + #include + #include + #include + #include + + #include + #include + + #include + #include + #include + #include + #include + + #include + #include +#endif //HAVE_EIGEN3 +%}