(arr)
| 4 | |
| 5 | |
| 6 | def buffer_length(arr): |
| 7 | if isinstance(arr, str): |
| 8 | if not arr: |
| 9 | charmax = 0 |
| 10 | else: |
| 11 | charmax = max(ord(c) for c in arr) |
| 12 | if charmax < 256: |
| 13 | size = 1 |
| 14 | elif charmax < 65536: |
| 15 | size = 2 |
| 16 | else: |
| 17 | size = 4 |
| 18 | return size * len(arr) |
| 19 | v = memoryview(arr) |
| 20 | if v.shape is None: |
| 21 | return len(v) * v.itemsize |
| 22 | else: |
| 23 | return np.prod(v.shape) * v.itemsize |
| 24 | |
| 25 | |
| 26 | # In both cases below we need to make sure that the byte swapped value (as |
no test coverage detected
searching dependent graphs…