Téléchargez l’application
Sélectionnez un dossier et demandez à l’assistant de lire les fichiers concernés avant de les modifier. Définissez le résultat attendu et les limites de la tâche.
Parcourez au plus 128 blocs d’une séquence RIFF WAVE de 12–1048576 octets avec taille déclarée exacte. Testez blocs inconnus et bourrage impair, rejetez les en-têtes ou données tronqués sans décoder l’audio.
Sélectionnez un dossier et demandez à l’assistant de lire les fichiers concernés avant de les modifier. Définissez le résultat attendu et les limites de la tâche.
Choisissez un endpoint compatible. Les outils disponibles et la qualité des réponses dépendent du modèle et du serveur utilisés.
Examinez les changements et les sorties de commandes. Lancez les vérifications du projet avant de valider le résultat : le code généré n’est pas testé automatiquement.
Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications.
def riff_chunks(wire):
if type(wire) is not bytes or not 12 <= len(wire) <= 1048576:
raise ValueError("riff.input")
if wire[:4] != b"RIFF" or wire[8:12] != b"WAVE" or int.from_bytes(wire[4:8], "little")+8 != len(wire):
raise ValueError("riff.header")
chunks, pos = [], 12
while pos < len(wire):
if len(chunks) == 128 or pos+8 > len(wire):
raise ValueError("riff.chunk")
tag = wire[pos:pos+4]
size = int.from_bytes(wire[pos+4:pos+8], "little")
start, stop = pos+8, pos+8+size
next_pos = stop+(size & 1)
if next_pos > len(wire):
raise ValueError("riff.truncated")
chunks.append((tag, wire[start:stop]))
pos = next_pos
return chunks
Vérifiez avant d’appliquer. Examinez les changements et les sorties de commandes. Lancez les vérifications du projet avant de valider le résultat : le code généré n’est pas testé automatiquement.