Diff
Not logged in

Differences From Artifact [6ac2e7d0a1]:

To Artifact [72ee27472a]:


5247
5248
5249
5250
5251
5252
5253
5254

5255
5256
5257
5258
5259
5260
5261
5262


5263
5264
5265
5266
5267
5268

5269
5270

5271
5272
5273
5274
5275
5276
5277
5247
5248
5249
5250
5251
5252
5253

5254
5255
5256
5257
5258
5259
5260


5261
5262
5263
5264
5265
5266
5267

5268
5269

5270
5271
5272
5273
5274
5275
5276
5277







-
+






-
-
+
+





-
+

-
+







{
#ifndef IEEE_FLOATING_POINT
    strcpy(buffer, "NaN");
    return;
#else
    union {
	double dv;
	unsigned long long iv;
	uint64_t iv;
    } bitwhack;

    bitwhack.dv = value;
    if (n770_fp) {
	bitwhack.iv = Nokia770Twiddle(bitwhack.iv);
    }
    if (bitwhack.iv & (1ULL << 63)) {
	bitwhack.iv &= ~ (1ULL << 63);
    if (bitwhack.iv & (UINT64_C(1) << 63)) {
	bitwhack.iv &= ~ (UINT64_C(1) << 63);
	*buffer++ = '-';
    }
    *buffer++ = 'N';
    *buffer++ = 'a';
    *buffer++ = 'N';
    bitwhack.iv &= ((1ULL) << 51) - 1;
    bitwhack.iv &= ((UINT64_C(1)) << 51) - 1;
    if (bitwhack.iv != 0) {
	sprintf(buffer, "(%" TCL_LL_MODIFIER "x)", bitwhack.iv);
	sprintf(buffer, "(%" PRIx64 ")", bitwhack.iv);
    } else {
	*buffer = '\0';
    }
#endif /* IEEE_FLOATING_POINT */
}

/*