Antoxyde / isd

Implementation of some information-set decoding algorithms
GNU General Public License v2.0
9 stars 3 forks source link

Valeurs en dur #15

Closed P1K closed 4 years ago

P1K commented 4 years ago

https://github.com/Antoxyde/isd/blob/9525e280846c84d038ea9c41fb23d9a5e14ac84a/stern.c#L27-L30

Idéalement ces valeurs en dur ne devraient pas l'être Le mieux serait peut-être de les fixer à la compilation avec un #define En attendant, ça peut être bien d'identifier (avec des commentaires) tous les endroits du code où il y a des valeurs en dur

P1K commented 4 years ago

Par exemple ici k n'est pas en dur : https://github.com/Antoxyde/isd/blob/9525e280846c84d038ea9c41fb23d9a5e14ac84a/stern.c#L130 Alors que juste en dessous n l'est implicitement via 10 https://github.com/Antoxyde/isd/blob/9525e280846c84d038ea9c41fb23d9a5e14ac84a/stern.c#L133

Antoxyde commented 4 years ago

Il y a certains endroits ou il ne s'agit pas que d'une question de variable/define, typiquement pour charger une ligne en utilisant AVX512 : https://github.com/Antoxyde/isd/blob/4dcc4d6306b0cad8a076dac7cae0582fe57e66ce/stern.c#L182-L183 K est caché dans le 512 + 128...

P1K commented 4 years ago

Oui effectivement En fait je pense pas qu'il faille particulièrement chercher à rendre le code paramétrable, mais pour l'instant il y a un peu un mélange de tout entre des valeurs en dur commentées pour le montrer, des valeurs en dur pas commentées, des valeurs pas en dur... Ce serait bien de nettoyer (et de tout mettre en dur commenté, je pense)