On Jun 22, 2007, at 1:41 AM, Sergei Organov wrote:

Herman Geza <[EMAIL PROTECTED]> writes:

[...]

What is the correct way to do this:

void setNaN(float &v) {
        reinterpret_cast<int&>(v) = 0x7f800001;
}

without a type-prunning warning?  I cannot use the union trick here

Why? Won't the following work?

void setNaN(float &v) {
  union { float f; int i; } t;
  t.i = 0x7f800001;
  v = t.f;
}

__builtin_nan isn't sufficient?

-Chris

Reply via email to