public static vInteger Integer(long x) { if (x > iConfig.MaxCachedInt || x < iConfig.MinCachedInt) { return new vInteger(x); } int i = (int)x - iConfig.MinCachedInt; vInteger v = intlist[i]; if (v != null) { return v; } return intlist[i] = new vInteger(x);
public static vInteger Integer(double x) { return Integer((long) x);
public static vInteger Integer(long x) {    if (x > iConfig.MaxCachedInt || x < iConfig.MinCachedInt) {	return new vInteger(x);    }    int i = (int)x - iConfig.MinCachedInt;    vInteger v = intlist[i];    if (v != null) {	return v;    }    return intlist[i] = new vInteger(x);}