Diff
Not logged in

Differences From Artifact [c516bb697c]:

To Artifact [4e23d5577b]:


2288
2289
2290
2291
2292
2293
2294
2295
2296
2297



2298
2299
2300
2301
2302
2303
2304
2288
2289
2290
2291
2292
2293
2294



2295
2296
2297
2298
2299
2300
2301
2302
2303
2304







-
-
-
+
+
+







	 * We avoid caching unsigned integers as we cannot distinguish between
	 * 32bit signed and unsigned in the hash (short and char are ok).
	 */

	if (flags & BINARY_UNSIGNED) {
	    return Tcl_NewWideIntObj((Tcl_WideInt)(unsigned long)value);
	}
	if ((value & (((unsigned) 1) << 31)) && (value > 0)) {
	    value -= (((unsigned) 1) << 31);
	    value -= (((unsigned) 1) << 31);
	if ((value & (1U << 31)) && (value > 0)) {
	    value -= (1U << 31);
	    value -= (1U << 31);
	}

    returnNumericObject:
	if (*numberCachePtrPtr == NULL) {
	    return Tcl_NewWideIntObj(value);
	} else {
	    Tcl_HashTable *tablePtr = *numberCachePtrPtr;