22 lines
666 B
Python
22 lines
666 B
Python
import struct
|
|
|
|
with open("digital-0.bin", "rb") as f:
|
|
data = f.read()
|
|
|
|
num_transitions = (len(data) - 44) // 8
|
|
|
|
# Read integers as little-endian (normal), but doubles as big-endian
|
|
initial_state = struct.unpack_from('<I', data, 16)[0]
|
|
begin_time = struct.unpack_from('>d', data, 20)[0] # big-endian
|
|
end_time = struct.unpack_from('>d', data, 28)[0] # big-endian
|
|
|
|
print(f"initial_state={initial_state}, begin={begin_time:.9f}, end={end_time:.9f}")
|
|
|
|
transitions = []
|
|
for i in range(num_transitions):
|
|
t = struct.unpack_from('>d', data, 44 + i * 8)[0]
|
|
transitions.append(t)
|
|
|
|
for i, t in enumerate(transitions[:20]):
|
|
print(f" [{i}] {t:.9f}s")
|