Можно попробовать так: * для каждого из 256 возможных байтов закешировать результат умножения A на вектор этого байта: m * разбить val на 4 байта b1, b2, b3, b4 * res ^= m[b1] ^ m[b2] ^ m[b3] ^ m[b4]
UPD: увидел вконтакте, что тебе Саша Аланов то же самое написал, и что это ускоряет в 8 раз. Ну что ж, круто :)
Comments 6
И если повторяющееся, то матрица/число оказываются одинаковыми?
Reply
Reply
Reply
Reply
* для каждого из 256 возможных байтов закешировать результат умножения A на вектор этого байта: m
* разбить val на 4 байта b1, b2, b3, b4
* res ^= m[b1] ^ m[b2] ^ m[b3] ^ m[b4]
UPD: увидел вконтакте, что тебе Саша Аланов то же самое написал, и что это ускоряет в 8 раз. Ну что ж, круто :)
Reply
Reply
Leave a comment