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];
128 SG_ERROR(
"penalties size mismatch expected (%d,%d) got (%d,%d)\n",
137 pen[k] = penalties.
matrix[i*m_num_limits+k];
148 SG_ERROR(
"names size mismatch (num_values=%d vs.num_plifs=%d)\n", num_values,
m_num_plifs);
162 SG_ERROR(
"transform_type size mismatch (num_values=%d vs.num_plifs=%d)\n", num_values,
m_num_plifs);
169 if (!
m_PEN[
id]->set_transform_type(transform_str))
175 SG_ERROR(
"transform type not recognized ('%s')\n", transform_str) ;
185 int32_t num_states = penalties_array.
dims[0];
192 m_num_states = num_states;
197 for (int32_t i=0; i<num_states; i++)
199 for (int32_t j=0; j<num_states; j++)
202 CPlif * plif = NULL ;
203 for (int32_t k=0; k<penalties_array.
dims[2]; k++)
205 if (penalties.
element(i,j,k)==0)
211 plif_array->
clear() ;
214 int32_t
id = (int32_t) penalties.
element(i,j,k)-1 ;
216 if ((id<0 || id>=num_plifs) && (
id!=-1))
256 int32_t
id = (int32_t) state_signals.
matrix[i]-1 ;
257 if ((id<0 || id>=Nplif) && (
id!=-1))
264 PEN_state_signal[i]=NULL ;
266 PEN_state_signal[i]=PEN[id] ;
273 int32_t *plif_id_matrix, int32_t m, int32_t max_num_signals)
276 SG_ERROR(
"plif_state_signal_matrix size does not match previous info %i!=%i\n", m,
m_num_plifs) ;