-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
area:codecEncode/decode, residual models, formato GCC_v1_BlockEncode/decode, residual models, formato GCC_v1_Blocktype:featureNuova funzionalità / esempioNuova funzionalità / esempio
Description
Descrizione
Al momento encode_block / decode_block lavorano con un oggetto Python in memoria:
GCC_v1_Block = {
"header": {...},
"invariants": {...},
"residual": {...},
}
Manca un esempio ufficiale di:
serializzazione di GCC_v1_Block in JSON (file su disco),
deserializzazione e verifica del round-trip.
Questa cosa è utile sia per chi vuole capire la struttura “on wire”, sia per eventuali integrazioni future.
Cosa va fatto
Aggiungere un nuovo esempio in examples/, ad es.:
examples/demo_json_io.py
Lo script deve:
prendere un blocco di byte (es. b"Hello, GCC v1!"),
chiamare encode_block(...),
serializzare l’oggetto risultante in JSON (es. json.dump(...)),
ricaricare da JSON (es. json.load(...)),
passare l’oggetto ricaricato a decode_block(...),
verificare la correttezza del round-trip (decoded == original).
Stampare a console un mini riepilogo:
dimensione file JSON,
chiavi principali della root (header, invariants, residual),
esito della verifica (OK/FAIL).
(Opzionale) Aggiungere una nota nel README nella sezione “Esempi veloci”.
Criteri di accettazione
Esiste un nuovo script examples/demo_json_io.py eseguibile tramite:
python examples/demo_json_io.py
Lo script salva un file JSON (es. gcc_block.json) e lo ricarica correttamente.
Il round-trip encode_block -> json -> decode_block è verificato e loggato.
README aggiornato con una breve menzione dell’esempio JSON (se ritenuto utile).
pytest -q e pre-commit run --all-files continuano a passare.Metadata
Metadata
Assignees
Labels
area:codecEncode/decode, residual models, formato GCC_v1_BlockEncode/decode, residual models, formato GCC_v1_Blocktype:featureNuova funzionalità / esempioNuova funzionalità / esempio