6 using namespace shogun;
9 m_num_states(0), m_feat_dim3(0), m_plif_matrix(NULL), m_state_signals(NULL)
34 m_num_plifs=num_plifs;
37 for (int32_t i=0; i<num_plifs; i++)
108 SG_ERROR(
"limits size mismatch expected (%d,%d) got (%d,%d)\n",
116 lim[k] = limits.
matrix[i*m_num_limits+k];
127 SG_ERROR(
"penalties size mismatch expected (%d,%d) got (%d,%d)\n",
136 pen[k] = penalties.
matrix[i*m_num_limits+k];
146 SG_ERROR(
"names size mismatch (num_values=%d vs.num_plifs=%d)\n", num_values,
m_num_plifs);
160 SG_ERROR(
"transform_type size mismatch (num_values=%d vs.num_plifs=%d)\n", num_values,
m_num_plifs);
167 if (!
m_PEN[
id]->set_transform_type(transform_str))
173 SG_ERROR(
"transform type not recognized ('%s')\n", transform_str) ;
183 int32_t num_states = penalties_array.
dims[0];
190 m_num_states = num_states;
195 for (int32_t i=0; i<num_states; i++)
197 for (int32_t j=0; j<num_states; j++)
200 CPlif * plif = NULL ;
201 for (int32_t k=0; k<penalties_array.
dims[2]; k++)
203 if (penalties.
element(i,j,k)==0)
209 plif_array->
clear() ;
212 int32_t
id = (int32_t) penalties.
element(i,j,k)-1 ;
214 if ((id<0 || id>=num_plifs) && (
id!=-1))
254 int32_t
id = (int32_t) state_signals.
matrix[i]-1 ;
255 if ((id<0 || id>=Nplif) && (
id!=-1))
262 PEN_state_signal[i]=NULL ;
264 PEN_state_signal[i]=PEN[id] ;
271 int32_t *plif_id_matrix, int32_t m, int32_t max_num_signals)
274 SG_ERROR(
"plif_state_signal_matrix size does not match previous info %i!=%i\n", m,
m_num_plifs) ;