| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | from . import number_types as N |
| | from . import packer |
| | from .compat import memoryview_type |
| | from .compat import import_numpy, NumpyRequiredForThisFeature |
| |
|
| | np = import_numpy() |
| |
|
| | FILE_IDENTIFIER_LENGTH=4 |
| |
|
| | def Get(packer_type, buf, head): |
| | """ Get decodes a value at buf[head] using `packer_type`. """ |
| | return packer_type.unpack_from(memoryview_type(buf), head)[0] |
| |
|
| |
|
| | def GetVectorAsNumpy(numpy_type, buf, count, offset): |
| | """ GetVecAsNumpy decodes values starting at buf[head] as |
| | `numpy_type`, where `numpy_type` is a numpy dtype. """ |
| | if np is not None: |
| | |
| | |
| | return np.frombuffer(buf, dtype=numpy_type, count=count, offset=offset) |
| | else: |
| | raise NumpyRequiredForThisFeature('Numpy was not found.') |
| |
|
| |
|
| | def Write(packer_type, buf, head, n): |
| | """ Write encodes `n` at buf[head] using `packer_type`. """ |
| | packer_type.pack_into(buf, head, n) |
| |
|