def execute_workspace(self, iarray, oarray, workspace_ptr, workspace_size, inverse=False): _fast_call(_bf.FftExecute, self.obj, asarray(iarray).as_BFarray(), asarray(oarray).as_BFarray(), inverse, workspace_ptr, workspace_size) return oarray
def execute_workspace(self, idata, odata, workspace_ptr, workspace_size, negative_delays=False): size = _bf.BFsize(workspace_size) _fast_call(_bf.FdmtExecute, self.obj, asarray(idata).as_BFarray(), asarray(odata).as_BFarray(), negative_delays, workspace_ptr, ctypes.pointer(size)) return odata
def __init__(self, sequence, frame_offset, nframe): SpanBase.__init__(self, sequence.ring, sequence, writeable=False) tensor = sequence.tensor self.obj = _bf.BFrspan() _fast_call(_bf.RingSpanAcquire, self.obj, sequence.obj, frame_offset*tensor['frame_nbyte'], nframe*tensor['frame_nbyte']) self._set_base_obj(self.obj)
def __init__(self, ring, sequence, nframe): SpanBase.__init__(self, ring, sequence, writeable=True) nbyte = nframe * self.tensor['frame_nbyte'] self.obj = _bf.BFwspan() _fast_call(_bf.RingSpanReserve, self.obj, ring.obj, nbyte) self._set_base_obj(self.obj) self.commit_nframe = nframe
def release(self): _fast_call(_bf.RingSpanRelease, self.obj)
def close(self): commit_nbyte = self.commit_nframe * self.tensor['frame_nbyte'] _fast_call(_bf.RingSpanCommit, self.obj, commit_nbyte)
def _cache_info(self): self._info = _bf.BFspan_info() _fast_call(_bf.bfRingSpanGetInfo, self._base_obj, self._info)
def quantize(src, dst, scale=1.): src_bf = asarray(src).as_BFarray() dst_bf = asarray(dst).as_BFarray() _fast_call(_bf.Quantize, src_bf, dst_bf, scale) return dst
def stream_synchronize(): _fast_call(_bf.StreamSynchronize)
def unpack(src, dst, align_msb=False): src_bf = asarray(src).as_BFarray() dst_bf = asarray(dst).as_BFarray() _fast_call(_bf.Unpack, src_bf, dst_bf, align_msb) return dst