diff --git a/tests/std/tests/VSO_0000000_vector_algorithms_floats/test.cpp b/tests/std/tests/VSO_0000000_vector_algorithms_floats/test.cpp index c43d6a2a5b1..89d03bfe513 100644 --- a/tests/std/tests/VSO_0000000_vector_algorithms_floats/test.cpp +++ b/tests/std/tests/VSO_0000000_vector_algorithms_floats/test.cpp @@ -30,14 +30,18 @@ void test_min_max_element_floating_any(mt19937_64& gen) { constexpr auto input_of_input_size = dataCount / 2; vector input_of_input(input_of_input_size); - input_of_input[0] = -numeric_limits::infinity(); - input_of_input[1] = +numeric_limits::infinity(); - input_of_input[2] = -0.0; - input_of_input[3] = +0.0; - for (size_t i = 4; i < input_of_input_size; ++i) { - input_of_input[i] = dis(gen); + + for (auto& element : input_of_input) { + element = dis(gen); } + input_of_input[0] = -0.0; + input_of_input[1] = +0.0; +#ifndef _M_FP_FAST + input_of_input[2] = -numeric_limits::infinity(); + input_of_input[3] = +numeric_limits::infinity(); +#endif // !defined(_M_FP_FAST) + test_min_max_element_floating_with_values(gen, input_of_input); }