我正在研究一个涉及在线(流)数据的项目。我想使用该数据的滑动窗口。例如,假设我想在我的向量中保存 10 个值。当值 11 出现时,我想删除值 1,将所有内容移过来,然后将值 11 放在值 10 所在的位置。
很长的路是这样的:
int n = 9;
thrust::device_vector<float> val;
val.resize(n+1,0);
// Shift left
for(int i=0; i != n-1; i++){
val[i] = val[i+1];
}
// add the new value to the last position
val[n] = newValue;
有没有一种“快速”的方法可以用推力做到这一点?我正在查看的项目将有大约 500 个向量需要同时完成此操作。
谢谢!