Как поддерживать операцию без переносного умножения в .net 8.0 на различных платформахC#

Место общения программистов C#
Anonymous
Как поддерживать операцию без переносного умножения в .net 8.0 на различных платформах

Сообщение Anonymous »

Я использую метод pclmulqdq.carrylessmultiply в программе .net 8.0 / c#. Метод выполняет беспрепятственное умножение с использованием инструкции процессора x86, которая очень быстрая. /> Беспостороннее умножение объяснено: https://en.wikipedia.org/wiki/carry-lse_product
Проблема заключается в том, что этот API не поддерживается на последних процессорах Arm и Apple Mac. Каковы альтернативы pclmulqdq.carrylessmultiply , кроме реализации бессмысленного умножения вручную (не используя специальную инструкцию CPU)? Цель состоит в том, чтобы сделать этот код портативным.

Подробнее здесь: https://stackoverflow.com/questions/797 ... us-platfor

Вернуться в «C#»