Write a 32-bit integer tag to a fif file.
(fid, kind, data)
| 68 | |
| 69 | |
| 70 | def write_int(fid, kind, data): |
| 71 | """Write a 32-bit integer tag to a fif file.""" |
| 72 | data_size = 4 |
| 73 | data = np.asarray(data) |
| 74 | if data.dtype.kind not in "uib" and data.size > 0: |
| 75 | raise TypeError( |
| 76 | f"Cannot safely write data kind {kind} with dtype {data.dtype} as int", |
| 77 | ) |
| 78 | max_val = data.max() if data.size > 0 else 0 |
| 79 | if max_val > INT32_MAX: |
| 80 | raise TypeError( |
| 81 | f"Value {max_val} exceeds maximum allowed ({INT32_MAX}) for tag {kind}" |
| 82 | ) |
| 83 | data = data.astype(">i4").T |
| 84 | _write(fid, data, kind, data_size, FIFF.FIFFT_INT, ">i4") |
| 85 | |
| 86 | |
| 87 | def write_double(fid, kind, data): |