Skip to content

Commit

Permalink
Transitioned copy feature matrix routine to SGMatrix
Browse files Browse the repository at this point in the history
  • Loading branch information
lisitsyn committed Aug 31, 2011
1 parent 419a67b commit b5f27b9
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 10 deletions.
4 changes: 2 additions & 2 deletions src/shogun/clustering/KMeans.cpp
Expand Up @@ -200,7 +200,7 @@ void CKMeans::clustknb(bool use_old_mus, float64_t *mus_start)
ASSERT(mus_start);

/// set rhs to mus_start
rhs_mus->copy_feature_matrix(mus_start,dimensions,k);
rhs_mus->copy_feature_matrix(SGMatrix<float64_t>(mus_start,dimensions,k));
float64_t* p_dists=dists;

for(int32_t idx=0;idx<XSize;idx++,p_dists+=k)
Expand Down Expand Up @@ -292,7 +292,7 @@ void CKMeans::clustknb(bool use_old_mus, float64_t *mus_start)
}
#endif
///update rhs
rhs_mus->copy_feature_matrix(mus.matrix,dimensions,k);
rhs_mus->copy_feature_matrix(mus);

for (i=0; i<XSize; i++)
{
Expand Down
16 changes: 8 additions & 8 deletions src/shogun/features/SimpleFeatures.h
Expand Up @@ -75,8 +75,9 @@ template<class ST> class CSimpleFeatures: public CDotFeatures
CSimpleFeatures(const CSimpleFeatures & orig) :
CDotFeatures(orig)
{
copy_feature_matrix(orig.feature_matrix, orig.num_features,
orig.num_vectors);
copy_feature_matrix(SGMatrix<ST>(orig.feature_matrix,
orig.num_features,
orig.num_vectors));
initialize_cache();
m_subset=orig.m_subset->duplicate();
}
Expand Down Expand Up @@ -554,21 +555,20 @@ template<class ST> class CSimpleFeatures: public CDotFeatures
* not possible with subset
*
* @param src feature matrix to copy
* @param num_feat number of features in matrix
* @param num_vec number of vectors in matrix
*/
virtual void copy_feature_matrix(ST* src, int32_t num_feat,
int32_t num_vec)
virtual void copy_feature_matrix(SGMatrix<ST> src)
{
if (m_subset)
SG_ERROR("A subset is set, cannot call copy_feature_matrix\n");

free_feature_matrix();
int32_t num_feat = src.num_rows;
int32_t num_vec = src.num_cols;
feature_matrix = SG_MALLOC(ST, ((int64_t) num_feat) * num_vec);
feature_matrix_num_features=num_feat;
feature_matrix_num_features = num_feat;
feature_matrix_num_vectors = num_vec;

memcpy(feature_matrix, src,
memcpy(feature_matrix, src.matrix,
(sizeof(ST) * ((int64_t) num_feat) * num_vec));

num_features = num_feat;
Expand Down

0 comments on commit b5f27b9

Please sign in to comment.