Mercurial > cpython-lru_cache-weakref
diff Objects/floatobject.c @ 1049:2ed511171809 legacy-trunk
Made builtins int(), long(), float(), oct() and hex() more generic.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Sat, 12 Sep 1992 11:09:23 +0000 |
| parents | 03de67080c95 |
| children | c4cd0d9d8281 |
line wrap: on
line diff
--- a/Objects/floatobject.c Fri Sep 11 23:55:51 1992 +0000 +++ b/Objects/floatobject.c Sat Sep 12 11:09:23 1992 +0000 @@ -318,6 +318,33 @@ return 1; /* Can't do it */ } +static object * +float_int(v) + object *v; +{ + double x = getfloatvalue(v); + /* XXX should check for overflow */ + /* XXX should define how we round */ + return newintobject((long)x); +} + +static object * +float_long(v) + object *v; +{ + double x = getfloatvalue(v); + return dnewlongobject(x); +} + +static object * +float_float(v) + object *v; +{ + INCREF(v); + return v; +} + + static number_methods float_as_number = { float_add, /*nb_add*/ float_sub, /*nb_subtract*/ @@ -337,6 +364,11 @@ 0, /*nb_xor*/ 0, /*nb_or*/ float_coerce, /*nb_coerce*/ + float_int, /*nb_int*/ + float_long, /*nb_long*/ + float_float, /*nb_float*/ + 0, /*nb_oct*/ + 0, /*nb_hex*/ }; typeobject Floattype = {
