if (is_buf_16u)
{
unsigned short* udst_idx = (unsigned short*)(buf->data.s + root->buf_idx*get_length_subbuf() +
- vi*sample_count + data_root->offset);
+ (size_t)vi*sample_count + data_root->offset);
for( int i = 0; i < num_valid; i++ )
{
idx = src_idx[i];
else
{
int* idst_idx = buf->data.i + root->buf_idx*get_length_subbuf() +
- vi*sample_count + root->offset;
+ (size_t)vi*sample_count + root->offset;
for( int i = 0; i < num_valid; i++ )
{
idx = src_idx[i];
if (is_buf_16u)
{
unsigned short* udst = (unsigned short*)(buf->data.s + root->buf_idx*get_length_subbuf() +
- (workVarCount-1)*sample_count + root->offset);
+ (size_t)(workVarCount-1)*sample_count + root->offset);
for( int i = 0; i < count; i++ )
udst[i] = (unsigned short)src_lbls[sidx[i]];
}
else
{
int* idst = buf->data.i + root->buf_idx*get_length_subbuf() +
- (workVarCount-1)*sample_count + root->offset;
+ (size_t)(workVarCount-1)*sample_count + root->offset;
for( int i = 0; i < count; i++ )
idst[i] = src_lbls[sidx[i]];
}
if (is_buf_16u)
{
unsigned short* sample_idx_dst = (unsigned short*)(buf->data.s + root->buf_idx*get_length_subbuf() +
- workVarCount*sample_count + root->offset);
+ (size_t)workVarCount*sample_count + root->offset);
for( int i = 0; i < count; i++ )
sample_idx_dst[i] = (unsigned short)sample_idx_src[sidx[i]];
}
else
{
int* sample_idx_dst = buf->data.i + root->buf_idx*get_length_subbuf() +
- workVarCount*sample_count + root->offset;
+ (size_t)workVarCount*sample_count + root->offset;
for( int i = 0; i < count; i++ )
sample_idx_dst[i] = sample_idx_src[sidx[i]];
}
// set sample labels
if (is_buf_16u)
- udst = (unsigned short*)(buf->data.s + work_var_count*sample_count);
+ udst = (unsigned short*)(buf->data.s + (size_t)work_var_count*sample_count);
else
- idst = buf->data.i + work_var_count*sample_count;
+ idst = buf->data.i + (size_t)work_var_count*sample_count;
for (int si = 0; si < sample_count; si++)
{
if ( vi < numPrecalcIdx )
{
if( !is_buf_16u )
- *sortedIndices = buf->data.i + n->buf_idx*get_length_subbuf() + vi*sample_count + n->offset;
+ *sortedIndices = buf->data.i + n->buf_idx*get_length_subbuf() + (size_t)vi*sample_count + n->offset;
else
{
const unsigned short* shortIndices = (const unsigned short*)(buf->data.s + n->buf_idx*get_length_subbuf() +
- vi*sample_count + n->offset );
+ (size_t)vi*sample_count + n->offset );
for( int i = 0; i < nodeSampleCount; i++ )
sortedIndicesBuf[i] = shortIndices[i];
{
valCachePtr[si] = (*featureEvaluator)( fi, si );
if ( is_buf_16u )
- *(udst + fi*sample_count + si) = (unsigned short)si;
+ *(udst + (size_t)fi*sample_count + si) = (unsigned short)si;
else
- *(idst + fi*sample_count + si) = si;
+ *(idst + (size_t)fi*sample_count + si) = si;
}
if ( is_buf_16u )
- std::sort(udst + fi*sample_count, udst + (fi + 1)*sample_count, LessThanIdx<float, unsigned short>(valCachePtr) );
+ std::sort(udst + (size_t)fi*sample_count, udst + (size_t)(fi + 1)*sample_count, LessThanIdx<float, unsigned short>(valCachePtr) );
else
- std::sort(idst + fi*sample_count, idst + (fi + 1)*sample_count, LessThanIdx<float, int>(valCachePtr) );
+ std::sort(idst + (size_t)fi*sample_count, idst + (size_t)(fi + 1)*sample_count, LessThanIdx<float, int>(valCachePtr) );
}
}
const CvFeatureEvaluator* featureEvaluator;
{
valCache->at<float>(fi,si) = (*featureEvaluator)( fi, si );
if ( is_buf_16u )
- *(udst + fi*sample_count + si) = (unsigned short)si;
+ *(udst + (size_t)fi*sample_count + si) = (unsigned short)si;
else
- *(idst + fi*sample_count + si) = si;
+ *(idst + (size_t)fi*sample_count + si) = si;
}
if ( is_buf_16u )
- std::sort(udst + fi*sample_count, udst + (fi + 1)*sample_count, LessThanIdx<float, unsigned short>(valCache->ptr<float>(fi)) );
+ std::sort(udst + (size_t)fi*sample_count, udst + (size_t)(fi + 1)*sample_count, LessThanIdx<float, unsigned short>(valCache->ptr<float>(fi)) );
else
- std::sort(idst + fi*sample_count, idst + (fi + 1)*sample_count, LessThanIdx<float, int>(valCache->ptr<float>(fi)) );
+ std::sort(idst + (size_t)fi*sample_count, idst + (size_t)(fi + 1)*sample_count, LessThanIdx<float, int>(valCache->ptr<float>(fi)) );
}
}
const CvFeatureEvaluator* featureEvaluator;
if (data->is_buf_16u)
{
unsigned short *ldst = (unsigned short *)(buf->data.s + left->buf_idx*length_buf_row +
- (workVarCount-1)*scount + left->offset);
+ (size_t)(workVarCount-1)*scount + left->offset);
unsigned short *rdst = (unsigned short *)(buf->data.s + right->buf_idx*length_buf_row +
- (workVarCount-1)*scount + right->offset);
+ (size_t)(workVarCount-1)*scount + right->offset);
for( int i = 0; i < n; i++ )
{
else
{
int *ldst = buf->data.i + left->buf_idx*length_buf_row +
- (workVarCount-1)*scount + left->offset;
+ (size_t)(workVarCount-1)*scount + left->offset;
int *rdst = buf->data.i + right->buf_idx*length_buf_row +
- (workVarCount-1)*scount + right->offset;
+ (size_t)(workVarCount-1)*scount + right->offset;
for( int i = 0; i < n; i++ )
{
if (data->is_buf_16u)
{
unsigned short* ldst = (unsigned short*)(buf->data.s + left->buf_idx*length_buf_row +
- workVarCount*scount + left->offset);
+ (size_t)workVarCount*scount + left->offset);
unsigned short* rdst = (unsigned short*)(buf->data.s + right->buf_idx*length_buf_row +
- workVarCount*scount + right->offset);
+ (size_t)workVarCount*scount + right->offset);
for (int i = 0; i < n; i++)
{
unsigned short idx = (unsigned short)tempBuf[i];
else
{
int* ldst = buf->data.i + left->buf_idx*length_buf_row +
- workVarCount*scount + left->offset;
+ (size_t)workVarCount*scount + left->offset;
int* rdst = buf->data.i + right->buf_idx*length_buf_row +
- workVarCount*scount + right->offset;
+ (size_t)workVarCount*scount + right->offset;
for (int i = 0; i < n; i++)
{
int idx = tempBuf[i];
if (data->is_buf_16u)
{
unsigned short* labels = (unsigned short*)(buf->data.s + data->data_root->buf_idx*length_buf_row +
- data->data_root->offset + (data->work_var_count-1)*data->sample_count);
+ data->data_root->offset + (size_t)(data->work_var_count-1)*data->sample_count);
for( int i = 0; i < n; i++ )
{
// save original categorical responses {0,1}, convert them to {-1,1}
else
{
int* labels = buf->data.i + data->data_root->buf_idx*length_buf_row +
- data->data_root->offset + (data->work_var_count-1)*data->sample_count;
+ data->data_root->offset + (size_t)(data->work_var_count-1)*data->sample_count;
for( int i = 0; i < n; i++ )
{
int* c_map;
if (is_buf_16u)
- udst = (unsigned short*)(buf->data.s + vi*sample_count);
+ udst = (unsigned short*)(buf->data.s + (size_t)vi*sample_count);
else
- idst = buf->data.i + vi*sample_count;
+ idst = buf->data.i + (size_t)vi*sample_count;
// copy data
for( i = 0; i < sample_count; i++ )
else if( ci < 0 ) // process ordered variable
{
if (is_buf_16u)
- udst = (unsigned short*)(buf->data.s + vi*sample_count);
+ udst = (unsigned short*)(buf->data.s + (size_t)vi*sample_count);
else
- idst = buf->data.i + vi*sample_count;
+ idst = buf->data.i + (size_t)vi*sample_count;
for( i = 0; i < sample_count; i++ )
{
// set sample labels
if (is_buf_16u)
- udst = (unsigned short*)(buf->data.s + work_var_count*sample_count);
+ udst = (unsigned short*)(buf->data.s + (size_t)work_var_count*sample_count);
else
- idst = buf->data.i + work_var_count*sample_count;
+ idst = buf->data.i + (size_t)work_var_count*sample_count;
for (i = 0; i < sample_count; i++)
{
if (is_buf_16u)
{
- usdst = (unsigned short*)(buf->data.s + (get_work_var_count()-1)*sample_count);
+ usdst = (unsigned short*)(buf->data.s + (size_t)(get_work_var_count()-1)*sample_count);
for( i = vi = 0; i < sample_count; i++ )
{
usdst[i] = (unsigned short)vi++;
}
else
{
- idst2 = buf->data.i + (get_work_var_count()-1)*sample_count;
+ idst2 = buf->data.i + (size_t)(get_work_var_count()-1)*sample_count;
for( i = vi = 0; i < sample_count; i++ )
{
idst2[i] = vi++;
if (is_buf_16u)
{
unsigned short* udst = (unsigned short*)(buf->data.s + root->buf_idx*get_length_subbuf() +
- vi*sample_count + root->offset);
+ (size_t)vi*sample_count + root->offset);
for( i = 0; i < count; i++ )
{
int val = src[sidx[i]];
else
{
int* idst = buf->data.i + root->buf_idx*get_length_subbuf() +
- vi*sample_count + root->offset;
+ (size_t)vi*sample_count + root->offset;
for( i = 0; i < count; i++ )
{
int val = src[sidx[i]];
if (is_buf_16u)
{
unsigned short* udst_idx = (unsigned short*)(buf->data.s + root->buf_idx*get_length_subbuf() +
- vi*sample_count + data_root->offset);
+ (size_t)vi*sample_count + data_root->offset);
for( i = 0; i < num_valid; i++ )
{
idx = src_idx[i];
else
{
int* idst_idx = buf->data.i + root->buf_idx*get_length_subbuf() +
- vi*sample_count + root->offset;
+ (size_t)vi*sample_count + root->offset;
for( i = 0; i < num_valid; i++ )
{
idx = src_idx[i];
if (is_buf_16u)
{
unsigned short* sample_idx_dst = (unsigned short*)(buf->data.s + root->buf_idx*get_length_subbuf() +
- workVarCount*sample_count + root->offset);
+ (size_t)workVarCount*sample_count + root->offset);
for (i = 0; i < count; i++)
sample_idx_dst[i] = (unsigned short)sample_idx_src[sidx[i]];
}
else
{
int* sample_idx_dst = buf->data.i + root->buf_idx*get_length_subbuf() +
- workVarCount*sample_count + root->offset;
+ (size_t)workVarCount*sample_count + root->offset;
for (i = 0; i < count; i++)
sample_idx_dst[i] = sample_idx_src[sidx[i]];
}
if( !is_buf_16u )
*sorted_indices = buf->data.i + n->buf_idx*get_length_subbuf() +
- vi*sample_count + n->offset;
+ (size_t)vi*sample_count + n->offset;
else {
const unsigned short* short_indices = (const unsigned short*)(buf->data.s + n->buf_idx*get_length_subbuf() +
- vi*sample_count + n->offset );
+ (size_t)vi*sample_count + n->offset );
for( int i = 0; i < node_sample_count; i++ )
sorted_indices_buf[i] = short_indices[i];
*sorted_indices = sorted_indices_buf;
const int* cat_values = 0;
if( !is_buf_16u )
cat_values = buf->data.i + n->buf_idx*get_length_subbuf() +
- vi*sample_count + n->offset;
+ (size_t)vi*sample_count + n->offset;
else {
const unsigned short* short_values = (const unsigned short*)(buf->data.s + n->buf_idx*get_length_subbuf() +
- vi*sample_count + n->offset);
+ (size_t)vi*sample_count + n->offset);
for( int i = 0; i < n->sample_count; i++ )
cat_values_buf[i] = short_values[i];
cat_values = cat_values_buf;