diff options
author | mrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-05-22 15:37:00 +0000 |
---|---|---|
committer | mrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-05-22 15:37:00 +0000 |
commit | 4eb36541789358d7e17cf498fcc6c3b5dce91c20 (patch) | |
tree | a65795b77f28ac31fda6d2e28b9a07fd867d18bd /include | |
parent | fbeca091ed738e4203c0f51bd1d3c68ba1edb4fe (diff) | |
download | ruby-4eb36541789358d7e17cf498fcc6c3b5dce91c20.tar.gz |
* bignum.c (dump_bignum, bigmul1_balance, big_split, biglsh_bang,
bigrsh_bang, big_split3, bigmul1_toom3, bigmul0): implement Toom3 (Toom-Cook)
multiplication.
* include/ruby/defines.h: add format prefixes for BDIGIT and BDIGIT_DBL.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'include')
-rw-r--r-- | include/ruby/defines.h | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/include/ruby/defines.h b/include/ruby/defines.h index 255b4aeee9..2ae5bef568 100644 --- a/include/ruby/defines.h +++ b/include/ruby/defines.h @@ -94,22 +94,44 @@ void xfree(void*); # define SIZEOF_BDIGITS SIZEOF_INT # define BDIGIT_DBL unsigned LONG_LONG # define BDIGIT_DBL_SIGNED LONG_LONG +# define PRI_BDIGIT_PREFIX "" +# define PRI_BDIGIT_DBL_PREFIX PRI_LL_PREFIX #elif SIZEOF_INT*2 <= SIZEOF_LONG # define BDIGIT unsigned int # define SIZEOF_BDIGITS SIZEOF_INT # define BDIGIT_DBL unsigned long # define BDIGIT_DBL_SIGNED long +# define PRI_BDIGIT_PREFIX "" +# define PRI_BDIGIT_DBL_PREFIX "l" #elif SIZEOF_SHORT*2 <= SIZEOF_LONG # define BDIGIT unsigned short # define SIZEOF_BDIGITS SIZEOF_SHORT # define BDIGIT_DBL unsigned long # define BDIGIT_DBL_SIGNED long +# define PRI_BDIGIT_PREFIX "h" +# define PRI_BDIGIT_DBL_PREFIX "l" #else # define BDIGIT unsigned short # define SIZEOF_BDIGITS (SIZEOF_LONG/2) # define BDIGIT_DBL unsigned long # define BDIGIT_DBL_SIGNED long -#endif +# define PRI_BDIGIT_PREFIX "h" +# define PRI_BDIGIT_DBL_PREFIX "l" +#endif + +#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" + +#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" #ifdef INFINITY # define HAVE_INFINITY |