numpy的环缓冲实现
numpy_ringbuffer的Python项目详细描述
由numpy数组支持的环形(也称为圆形)缓冲区,支持:
- 来自collections.deque 的操作
- b.append(val)
- b.appendleft(val)
- b.extend(val)
- b.extendleft(val)
- b.pop(val)
- b.popleft(val)
- collections.Sequence协议(未优化)
- 用np.array(b) 将C面展开到数组中
- 任意元素数据类型,包括额外的维度,如 RingBuffer(N, dtype=(int, 3))
例如:
importnumpyasnpfromnumpy_ringbufferimportRingBufferr=RingBuffer(capacity=4,dtype=np.bool)r.append(True)r.appendleft(False)print(np.array(r))# array([False, True])