Is it guaranteed by standards (IEEE 754 / C) that in the following code assertion will never be failed?
int main()
{
for ( /* all possible float / double values */ )
{
v_neg1 = v * -1;
v_neg2 = -v;
assert( v_neg1 == v_neg2 );
}
return 0;
}
UPD.
- When asking I've meant
all possible float / double values
excluding NaNs. - See similar question: .NET decimal.Negate vs multiplying by -1