Используя аппаратные свойства в .NET 3, я понимаю, что:
float a = ..;
float b = 1f / a;
не дает строго те же числовые результаты, что и
Vector256<float> a = ..;
Vector256<float> b = Avx.Reciprocal(a);
Результаты численно близки, но не идентичны. Вместо этого, чтобы сохранить эквивалентность между float
и Vector256<float>
вариантами кода, необходимо написать следующее:
Vector256<float> a = ..;
Vector256<float> b = Avx.Divide(Vector256.Create(1f), a);
Как я могу воспроизвести строгий скаляр эквивалент Avx.Reciprocal () ?