C++ (Qt)float w = sqrt(-1);if (w >= 0) .. // false if (w <= 0) .. // false if (w == w) .. // false, nan не равен самому себе
C++ (Qt)if (!(w >= 0)) // если w отрицательно ИЛИ невалидно
C++ (Qt)if ((w < 0) || IsNan(w)) ..
if (!(w >= 0)) // если w отрицательно ИЛИ невалидно
if (w < 0) // false если w = nan
C++ (Qt)float len = vec.length();if (len > epsilon) vec /= len;
C++ (Qt)if (!(w >= 0)) w = 0;else w = MIN(w, 1.0e+20); // не nan, можно клампить
acos( cos( a ) * sin( b ) / sin( c ) );
C++ (Qt)d = cos( a ) * sin( b ) / sin( c );// проверка валидностиassert( ( abs( d ) - 1 ) < eps );// приближенное вычислениеresult = ( abs( d ) <= 1 - eps ) ? acos( d ) : ( value > 0 ) ? 0 : pi;
C++ (Qt)float d = cos(a) * sin(b) / sin(c);float d2 = qBound(-1.0f, d, 1.0f);if (fabs(d - d2) > 0) d = (value > 0) ? 0 : pi;else d = acos(d2);
C++ (Qt)float d = acos(cos(a) * sin(b) / sin(c));if (IsNan(d)) d = (value > 0) ? 0 : pi;
C++ (Qt)if (!(w >= 0)) w = 0;else w = MIN(w, 1.0e+20);
C++ (Qt)float a;...float b = sqrt(a);if (a < 0) b= 0;
C++ (Qt)float a;...float b = (a >= 0) ? sqrt(a) : 0;