ring.py 文件源码

python
阅读 26 收藏 0 点赞 0 评论 0

项目:bifrost 作者: ledatelescope 项目源码 文件源码
def read(self, whence='earliest', guarantee=True):
        with ReadSequence(self, which=whence, guarantee=guarantee) as cur_seq:
            while True:
                yield cur_seq
                cur_seq.increment()
    #def _data(self):
    #    data_ptr = _get(self.lib.bfRingLockedGetData, self.obj)
    #    #data_ptr = c_void_p()
    #    #self._check( self.lib.bfRingLockedGetData(self.obj, pointer(data_ptr)) )
    #    #data_ptr = data_ptr.value
    #    #data_ptr = self.lib.bfRingLockedGetData(self.obj)
    #    if self.space == 'cuda':
    #        # TODO: See if can wrap this in something like PyCUDA's GPUArray
    #        #         Ideally actual GPUArray, but it doesn't appear to support wrapping pointers
    #        return data_ptr
    #    span     = self._total_span()
    #    stride   = self._stride()
    #    nringlet = self._nringlet()
    #    #print "******", span, stride, nringlet
    #    BufferType = c_byte*(nringlet*stride)
    #    data_buffer_ptr = cast(data_ptr, POINTER(BufferType))
    #    data_buffer     = data_buffer_ptr.contents
    #    data_array = np.ndarray(shape=(nringlet, span),
    #                            strides=(stride, 1) if nringlet > 1 else None,
    #                            buffer=data_buffer, dtype=np.uint8)
    #    return data_array
    #def _contiguous_span(self):
    #    return self._get(BFsize, self.lib.bfRingLockedGetContiguousSpan, self.obj)
    #def _total_span(self):
    #    return self._get(BFsize, self.lib.bfRingLockedGetTotalSpan, self.obj)
    #def _nringlet(self):
    #    return self._get(BFsize, self.lib.bfRingLockedGetNRinglet, self.obj)
    #def _stride(self):
    #    return self._get(BFsize, self.lib.bfRingLockedGetStride, self.obj)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号