1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* include/ruby/defines.h (BDIGIT): Define it only if it is not defined

yet.  This eases tests and debug.
  (SIZEOF_BDIGITS): Ditto.
  (BDIGIT_DBL): Ditto.
  (BDIGIT_DBL_SIGNED): Ditto.
  (PRI_BDIGIT_PREFIX): Ditto.
  (PRI_BDIGIT_DBL_PREFIX): Ditto.
  (PRIdBDIGIT): Define it only if PRI_BDIGIT_PREFIX is defined.
  (PRIiBDIGIT): Ditto.
  (PRIoBDIGIT): Ditto.
  (PRIuBDIGIT): Ditto.
  (PRIxBDIGIT): Ditto.
  (PRIXBDIGIT): Ditto.
  (PRIdBDIGIT_DBL): Ditto.
  (PRIiBDIGIT_DBL): Ditto.
  (PRIoBDIGIT_DBL): Ditto.
  (PRIuBDIGIT_DBL): Ditto.
  (PRIxBDIGIT_DBL): Ditto.
  (PRIXBDIGIT_DBL): Ditto.

* include/ruby/ruby.h (RBIGNUM_EMBED_LEN_MAX): Define it only if it is
  not defined yet.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2013-06-23 14:10:07 +00:00
parent 9310247f50
commit ad6d79e7cb
3 changed files with 80 additions and 47 deletions

View file

@ -1,3 +1,28 @@
Sun Jun 23 23:05:58 2013 Tanaka Akira <akr@fsij.org>
* include/ruby/defines.h (BDIGIT): Define it only if it is not defined
yet. This eases tests and debug.
(SIZEOF_BDIGITS): Ditto.
(BDIGIT_DBL): Ditto.
(BDIGIT_DBL_SIGNED): Ditto.
(PRI_BDIGIT_PREFIX): Ditto.
(PRI_BDIGIT_DBL_PREFIX): Ditto.
(PRIdBDIGIT): Define it only if PRI_BDIGIT_PREFIX is defined.
(PRIiBDIGIT): Ditto.
(PRIoBDIGIT): Ditto.
(PRIuBDIGIT): Ditto.
(PRIxBDIGIT): Ditto.
(PRIXBDIGIT): Ditto.
(PRIdBDIGIT_DBL): Ditto.
(PRIiBDIGIT_DBL): Ditto.
(PRIoBDIGIT_DBL): Ditto.
(PRIuBDIGIT_DBL): Ditto.
(PRIxBDIGIT_DBL): Ditto.
(PRIXBDIGIT_DBL): Ditto.
* include/ruby/ruby.h (RBIGNUM_EMBED_LEN_MAX): Define it only if it is
not defined yet.
Sun Jun 23 17:29:51 2013 Tanaka Akira <akr@fsij.org>
* bignum.c (integer_unpack_single_bdigit): Use a cast.

View file

@ -141,6 +141,7 @@ void xfree(void*);
# define SIZEOF_LONG_LONG SIZEOF___INT64
#endif
#ifndef BDIGIT
# if defined(HAVE_INT64_T) && defined(HAVE_INT128_T)
# define BDIGIT uint64_t
# define SIZEOF_BDIGITS SIZEOF_INT64_T
@ -176,20 +177,25 @@ void xfree(void*);
# define PRI_BDIGIT_PREFIX "h"
# define PRI_BDIGIT_DBL_PREFIX "l"
# endif
#endif
#ifdef PRI_BDIGIT_PREFIX
# define PRIdBDIGIT PRI_BDIGIT_PREFIX"d"
# define PRIiBDIGIT PRI_BDIGIT_PREFIX"i"
# define PRIoBDIGIT PRI_BDIGIT_PREFIX"o"
# define PRIuBDIGIT PRI_BDIGIT_PREFIX"u"
# define PRIxBDIGIT PRI_BDIGIT_PREFIX"x"
# define PRIXBDIGIT PRI_BDIGIT_PREFIX"X"
#endif
#ifdef PRI_BDIGIT_DBL_PREFIX
# define PRIdBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"d"
# define PRIiBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"i"
# define PRIoBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"o"
# define PRIuBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"u"
# define PRIxBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"x"
# define PRIXBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"X"
#endif
#ifdef __CYGWIN__
#undef _WIN32

View file

@ -1134,7 +1134,9 @@ struct RStruct {
#define RSTRUCT_SET(st, idx, v) OBJ_WRITE(st, &RSTRUCT_RAWPTR(st)[idx], (v))
#define RSTRUCT_GET(st, idx) (RSTRUCT_RAWPTR(st)[idx])
#ifndef RBIGNUM_EMBED_LEN_MAX
# define RBIGNUM_EMBED_LEN_MAX ((int)((sizeof(VALUE)*3)/sizeof(BDIGIT)))
#endif
struct RBignum {
struct RBasic basic;
union {