Mercurial > hg > xemacs-beta
comparison src/data.c @ 5936:574f0cded429 cygwin
try to replace all nnnL or nnnUL constants with EMACS_[U]INT
author | Henry Thompson <ht@markup.co.uk> |
---|---|
date | Sun, 13 Dec 2015 13:22:58 +0000 |
parents | ffc0c5a66ab1 |
children |
comparison
equal
deleted
inserted
replaced
5935:d5eb0914ca1f | 5936:574f0cded429 |
---|---|
1638 (int nargs, Lisp_Object *args)) | 1638 (int nargs, Lisp_Object *args)) |
1639 { | 1639 { |
1640 #ifdef WITH_NUMBER_TYPES | 1640 #ifdef WITH_NUMBER_TYPES |
1641 REGISTER int i; | 1641 REGISTER int i; |
1642 /* Start with a bignum to avoid overflow */ | 1642 /* Start with a bignum to avoid overflow */ |
1643 Lisp_Object accum = make_bignum (1L), multiplier; | 1643 Lisp_Object accum = make_bignum (E1), multiplier; |
1644 | 1644 |
1645 for (i = 0; i < nargs; i++) | 1645 for (i = 0; i < nargs; i++) |
1646 { | 1646 { |
1647 multiplier = args[i]; | 1647 multiplier = args[i]; |
1648 switch (promote_args (&accum, &multiplier)) | 1648 switch (promote_args (&accum, &multiplier)) |
2489 if (MARKERP (number)) return make_integer (marker_position (number) + 1); | 2489 if (MARKERP (number)) return make_integer (marker_position (number) + 1); |
2490 if (FLOATP (number)) return make_float (XFLOAT_DATA (number) + 1.0); | 2490 if (FLOATP (number)) return make_float (XFLOAT_DATA (number) + 1.0); |
2491 #ifdef HAVE_BIGNUM | 2491 #ifdef HAVE_BIGNUM |
2492 if (BIGNUMP (number)) | 2492 if (BIGNUMP (number)) |
2493 { | 2493 { |
2494 bignum_set_long (scratch_bignum, 1L); | 2494 bignum_set_long (scratch_bignum, E1); |
2495 bignum_add (scratch_bignum2, XBIGNUM_DATA (number), scratch_bignum); | 2495 bignum_add (scratch_bignum2, XBIGNUM_DATA (number), scratch_bignum); |
2496 return Fcanonicalize_number (make_bignum_bg (scratch_bignum2)); | 2496 return Fcanonicalize_number (make_bignum_bg (scratch_bignum2)); |
2497 } | 2497 } |
2498 #endif | 2498 #endif |
2499 #ifdef HAVE_RATIO | 2499 #ifdef HAVE_RATIO |
2500 if (RATIOP (number)) | 2500 if (RATIOP (number)) |
2501 { | 2501 { |
2502 ratio_set_long (scratch_ratio, 1L); | 2502 ratio_set_long (scratch_ratio, E1); |
2503 ratio_add (scratch_ratio, XRATIO_DATA (number), scratch_ratio); | 2503 ratio_add (scratch_ratio, XRATIO_DATA (number), scratch_ratio); |
2504 /* No need to canonicalize after adding 1 */ | 2504 /* No need to canonicalize after adding 1 */ |
2505 return make_ratio_rt (scratch_ratio); | 2505 return make_ratio_rt (scratch_ratio); |
2506 } | 2506 } |
2507 #endif | 2507 #endif |
2508 #ifdef HAVE_BIGFLOAT | 2508 #ifdef HAVE_BIGFLOAT |
2509 if (BIGFLOATP (number)) | 2509 if (BIGFLOATP (number)) |
2510 { | 2510 { |
2511 bigfloat_set_prec (scratch_bigfloat, XBIGFLOAT_GET_PREC (number)); | 2511 bigfloat_set_prec (scratch_bigfloat, XBIGFLOAT_GET_PREC (number)); |
2512 bigfloat_set_long (scratch_bigfloat, 1L); | 2512 bigfloat_set_long (scratch_bigfloat, E1); |
2513 bigfloat_add (scratch_bigfloat, XBIGFLOAT_DATA (number), | 2513 bigfloat_add (scratch_bigfloat, XBIGFLOAT_DATA (number), |
2514 scratch_bigfloat); | 2514 scratch_bigfloat); |
2515 return make_bigfloat_bf (scratch_bigfloat); | 2515 return make_bigfloat_bf (scratch_bigfloat); |
2516 } | 2516 } |
2517 #endif | 2517 #endif |
2533 if (MARKERP (number)) return make_integer (marker_position (number) - 1); | 2533 if (MARKERP (number)) return make_integer (marker_position (number) - 1); |
2534 if (FLOATP (number)) return make_float (XFLOAT_DATA (number) - 1.0); | 2534 if (FLOATP (number)) return make_float (XFLOAT_DATA (number) - 1.0); |
2535 #ifdef HAVE_BIGNUM | 2535 #ifdef HAVE_BIGNUM |
2536 if (BIGNUMP (number)) | 2536 if (BIGNUMP (number)) |
2537 { | 2537 { |
2538 bignum_set_long (scratch_bignum, 1L); | 2538 bignum_set_long (scratch_bignum, E1); |
2539 bignum_sub (scratch_bignum2, XBIGNUM_DATA (number), scratch_bignum); | 2539 bignum_sub (scratch_bignum2, XBIGNUM_DATA (number), scratch_bignum); |
2540 return Fcanonicalize_number (make_bignum_bg (scratch_bignum2)); | 2540 return Fcanonicalize_number (make_bignum_bg (scratch_bignum2)); |
2541 } | 2541 } |
2542 #endif | 2542 #endif |
2543 #ifdef HAVE_RATIO | 2543 #ifdef HAVE_RATIO |
2544 if (RATIOP (number)) | 2544 if (RATIOP (number)) |
2545 { | 2545 { |
2546 ratio_set_long (scratch_ratio, 1L); | 2546 ratio_set_long (scratch_ratio, E1); |
2547 ratio_sub (scratch_ratio, XRATIO_DATA (number), scratch_ratio); | 2547 ratio_sub (scratch_ratio, XRATIO_DATA (number), scratch_ratio); |
2548 /* No need to canonicalize after subtracting 1 */ | 2548 /* No need to canonicalize after subtracting 1 */ |
2549 return make_ratio_rt (scratch_ratio); | 2549 return make_ratio_rt (scratch_ratio); |
2550 } | 2550 } |
2551 #endif | 2551 #endif |
2552 #ifdef HAVE_BIGFLOAT | 2552 #ifdef HAVE_BIGFLOAT |
2553 if (BIGFLOATP (number)) | 2553 if (BIGFLOATP (number)) |
2554 { | 2554 { |
2555 bigfloat_set_prec (scratch_bigfloat, XBIGFLOAT_GET_PREC (number)); | 2555 bigfloat_set_prec (scratch_bigfloat, XBIGFLOAT_GET_PREC (number)); |
2556 bigfloat_set_long (scratch_bigfloat, 1L); | 2556 bigfloat_set_long (scratch_bigfloat, E1); |
2557 bigfloat_sub (scratch_bigfloat, XBIGFLOAT_DATA (number), | 2557 bigfloat_sub (scratch_bigfloat, XBIGFLOAT_DATA (number), |
2558 scratch_bigfloat); | 2558 scratch_bigfloat); |
2559 return make_bigfloat_bf (scratch_bigfloat); | 2559 return make_bigfloat_bf (scratch_bigfloat); |
2560 } | 2560 } |
2561 #endif | 2561 #endif |