Вот только в таком виде вам надо будет готовиться к ловле исключений связанных с близкими к 0 числами (ошибка не точного результата) и отрицательными числами (ошибка извлечения квадратного корня). Не говоря уже про банальный NaN.
ИИ конечно много пропылесосил разных примеров, но выданный им результат стоит хотя бы чуть-чуть рассматривать критически.
В обычной функции квадратного корня используется эта же инструкция т.к. SSE2 уже в минимальных требованиях ОС и это можно не проверять. Но вот прирост связан с отсутствием кода проверки диапазона входных значений для инструкции. Достаточно хотя бы проверить число на больше эпсилон квадрат (эпсилон - минимально представимое число в типе double) перед использованием этой инструкции.
А может перед использованием функции? Ведь не во всяком случае есть сомнение в диапазоне, а 10 процентов на проверку теряется всегда. По факту этот ускоритель у меня работает в нескольких проектах и не сбоит.
Любопытно, с какой целью ИА присобачил к функции "override"?
Это правильный вопрос. Сколько не думал и не проверял - не понял. Наверное можно убрать. Видимо он подумал, что раз мы заменяем существующую функцию, то вот вам override (текстуально). Мешать она не мешает, но и смысла в ней нет.
Alexander писал(а): 18.01.2026 08:33:16
Наверное можно убрать. Видимо он подумал, что раз мы заменяем существующую функцию, то вот вам override (текстуально). Мешать она не мешает, но и смысла в ней нет.