Skip to content

Commit

Permalink
Plif fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
lisitsyn committed Aug 25, 2011
1 parent e4ca15d commit 420fce1
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 12 deletions.
16 changes: 6 additions & 10 deletions src/shogun/structure/Plif.h
Expand Up @@ -250,16 +250,13 @@ class CPlif: public CPlifBase
/** set plif_limits
*
* @param p_limits limit
* @param p_len len
*/
void set_plif_limits(float64_t *p_limits, int32_t p_len)
void set_plif_limits(SGVector<float64_t> p_limits)
{
if (len!=p_len)
SG_PRINT("len=%i p_len=%i\n", len, p_len) ;
ASSERT(len==p_len);
ASSERT(len==p_limits.vlen);

for (int32_t i=0; i<len; i++)
limits[i]=p_limits[i];
limits[i]=p_limits.vector[i];

invalidate_cache();
penalty_clear_derivative();
Expand All @@ -269,14 +266,13 @@ class CPlif: public CPlifBase
/** set plif penalty
*
* @param p_penalties penalties
* @param p_len len
*/
void set_plif_penalty(float64_t* p_penalties, int32_t p_len)
void set_plif_penalty(SGVector<float64_t> p_penalties)
{
ASSERT(len==p_len);
ASSERT(len==p_penalties.vlen);

for (int32_t i=0; i<len; i++)
penalties[i]=p_penalties[i];
penalties[i]=p_penalties.vector[i];

invalidate_cache();
penalty_clear_derivative();
Expand Down
4 changes: 2 additions & 2 deletions src/shogun/structure/PlifMatrix.cpp
Expand Up @@ -116,7 +116,7 @@ void CPlifMatrix::set_plif_limits(SGMatrix<float64_t> limits)
lim[k] = limits.matrix[i*m_num_limits+k];

int32_t id=get_plif_id(i);
m_PEN[id]->set_plif_limits(lim, m_num_limits);
m_PEN[id]->set_plif_limits(SGVector<float64_t>(lim, m_num_limits));
}
SG_FREE(lim);
}
Expand All @@ -137,7 +137,7 @@ void CPlifMatrix::set_plif_penalties(SGMatrix<float64_t> penalties)
pen[k] = penalties.matrix[i*m_num_limits+k];

int32_t id=get_plif_id(i);
m_PEN[id]->set_plif_penalty(pen, m_num_limits);
m_PEN[id]->set_plif_penalty(SGVector<float64_t>(pen, m_num_limits));
}
SG_FREE(pen);
}
Expand Down

0 comments on commit 420fce1

Please sign in to comment.