Реализовал все методы для полноценной работы с беззнаковым целым длиной 128 бит (16 байт) на Pascal, реализация только для Delphi под X64, так как большая часть кода на ассемблере. Качайте UInt128.pas, кому надо.
Тестировать производительность дальше не стал, так как пока нет хороших идей, как можно протестировать, например, деление или сдвиги.
Тем не менее, показывает примерно 3.2 млн. оп/с по нахождению обратного элемента, что, наверное, неплохо.
Юнит-тесты прогнал, но вполне возможно, что где-то небольшие косяки остались. Если найдете – пишите.
Комментариев нет:
Отправить комментарий