"""本主题专属离线算法，仅读取同目录合成JSON，不联网、不控制设备。"""
import csv, json, math, re, struct
from pathlib import Path
from fractions import Fraction
BASE=Path(__file__).resolve().parent
data=json.loads((BASE/'input.json').read_text(encoding='utf-8'))['data']
ch,n,stride=data['channels'],data['samples'],data['stride_bytes']
assert stride>=n*4
buf=bytearray([0xCD]*(ch*stride))
for c in range(ch):
 for i,value in enumerate(data['values'][c]):struct.pack_into('<f',buf,c*stride+i*4,value)
rows=[]
for c in range(ch):
 values=list(struct.unpack_from('<'+'f'*n,buf,c*stride))
 assert all(abs(a-b)<1e-6 for a,b in zip(values,data['values'][c]))
 rows.append({'channel':c,'label':data['labels'][c],'offset_bytes':c*stride,'values':values})
result={'channels':rows,'bytes':len(buf),'padding_bytes_per_channel':stride-n*4,'all_signatures_preserved':True}
(BASE/'result.json').write_text(json.dumps(result,ensure_ascii=False,indent=2)+'\n',encoding='utf-8')
print(json.dumps(result,ensure_ascii=False))
