Skip to content

Commit

Permalink
move the %inline parts of the code doing dynamic casts back into the
Browse files Browse the repository at this point in the history
respective classes
  • Loading branch information
Soeren Sonnenburg committed Oct 27, 2011
1 parent 4e28d27 commit 890ea79
Show file tree
Hide file tree
Showing 7 changed files with 28 additions and 40 deletions.
33 changes: 0 additions & 33 deletions src/interfaces/modular/Kernel.i
Expand Up @@ -131,39 +131,6 @@ namespace shogun
#endif
}



/* Provide some cast functionality available to target languages */
%inline %{

/* C++-style cast */
shogun::CMultitaskKernelNormalizer *KernelNormalizerToMultitaskKernelNormalizer(shogun::CKernelNormalizer* n) {
return dynamic_cast<shogun::CMultitaskKernelNormalizer*>(n);
}

shogun::CMultitaskKernelTreeNormalizer *KernelNormalizerToMultitaskKernelTreeNormalizer(shogun::CKernelNormalizer* n) {
return dynamic_cast<shogun::CMultitaskKernelTreeNormalizer*>(n);
}

shogun::CMultitaskKernelMaskNormalizer *KernelNormalizerToMultitaskKernelMaskNormalizer(shogun::CKernelNormalizer* n) {
return dynamic_cast<shogun::CMultitaskKernelMaskNormalizer*>(n);
}

shogun::CMultitaskKernelMaskPairNormalizer *KernelNormalizerToMultitaskKernelMaskPairNormalizer(shogun::CKernelNormalizer* n) {
return dynamic_cast<shogun::CMultitaskKernelMaskPairNormalizer*>(n);
}

shogun::CMultitaskKernelPlifNormalizer *KernelNormalizerToMultitaskKernelPlifNormalizer(shogun::CKernelNormalizer* n) {
return dynamic_cast<shogun::CMultitaskKernelPlifNormalizer*>(n);
}

shogun::CCombinedKernel *KernelToCombinedKernel(shogun::CKernel* n) {
return dynamic_cast<shogun::CCombinedKernel*>(n);
}


%}

%include <shogun/kernel/KernelNormalizer.h>
%include <shogun/kernel/PyramidChi2.h>
%include <shogun/kernel/ANOVAKernel.h>
Expand Down
5 changes: 5 additions & 0 deletions src/shogun/kernel/CombinedKernel.h
Expand Up @@ -377,6 +377,11 @@ class CCombinedKernel : public CKernel
/** precompute all sub-kernels */
bool precompute_subkernels();

CCombinedKernel* KernelToCombinedKernel(shogun::CKernel* n)
{
return dynamic_cast<CCombinedKernel*>(n);
}

protected:
/** compute kernel function
*
Expand Down
6 changes: 4 additions & 2 deletions src/shogun/kernel/MultitaskKernelMaskNormalizer.h
Expand Up @@ -262,10 +262,12 @@ class CMultitaskKernelMaskNormalizer: public CKernelNormalizer
return "MultitaskKernelMaskNormalizer";
}


CMultitaskKernelMaskNormalizer* KernelNormalizerToMultitaskKernelMaskNormalizer(CKernelNormalizer* n)
{
return dynamic_cast<CMultitaskKernelMaskNormalizer*>(n);
}

protected:

/** list of active tasks **/
std::set<int32_t> active_tasks;

Expand Down
5 changes: 4 additions & 1 deletion src/shogun/kernel/MultitaskKernelMaskPairNormalizer.h
Expand Up @@ -238,7 +238,10 @@ class CMultitaskKernelMaskPairNormalizer: public CKernelNormalizer
return "MultitaskKernelMaskPairNormalizer";
}


CMultitaskKernelMaskPairNormalizer* KernelNormalizerToMultitaskKernelMaskPairNormalizer(CKernelNormalizer* n)
{
return dynamic_cast<shogun::CMultitaskKernelMaskPairNormalizer*>(n);
}

protected:

Expand Down
6 changes: 6 additions & 0 deletions src/shogun/kernel/MultitaskKernelNormalizer.h
Expand Up @@ -230,6 +230,12 @@ class CMultitaskKernelNormalizer: public CKernelNormalizer
return "MultitaskKernelNormalizer";
}

inline CMultitaskKernelNormalizer* KernelNormalizerToMultitaskKernelNormalizer(CKernelNormalizer* n)
{
return dynamic_cast<CMultitaskKernelNormalizer*>(n);
}


protected:

/** MxM matrix encoding similarity between tasks **/
Expand Down
5 changes: 5 additions & 0 deletions src/shogun/kernel/MultitaskKernelPlifNormalizer.h
Expand Up @@ -316,6 +316,11 @@ class CMultitaskKernelPlifNormalizer: public CMultitaskKernelMklNormalizer
return "MultitaskKernelPlifNormalizer";
}

CMultitaskKernelPlifNormalizer* KernelNormalizerToMultitaskKernelPlifNormalizer(CKernelNormalizer* n)
{
return dynamic_cast<shogun::CMultitaskKernelPlifNormalizer*>(n);
}

protected:
/** register the parameters
*/
Expand Down
8 changes: 4 additions & 4 deletions src/shogun/kernel/MultitaskKernelTreeNormalizer.h
Expand Up @@ -572,18 +572,18 @@ class CMultitaskKernelTreeNormalizer: public CMultitaskKernelMklNormalizer

}


/** @return object name */
inline virtual const char* get_name() const
{
return "MultitaskKernelTreeNormalizer";
}


CMultitaskKernelTreeNormalizer* KernelNormalizerToMultitaskKernelTreeNormalizer(CKernelNormalizer* n)
{
return dynamic_cast<CMultitaskKernelTreeNormalizer*>(n);
}

protected:


/** taxonomy **/
CTaxonomy taxonomy;

Expand Down

0 comments on commit 890ea79

Please sign in to comment.