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