Advertisement
radix42

libgmp patch for libsnark on windows compat

May 23rd, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.86 KB | None | 0 0
  1. diff -ru gmp-6.1.2/gmp-h.in gmp-6.1.2-win/gmp-h.in
  2. --- gmp-6.1.2/gmp-h.in  2016-12-16 16:45:27.000000000 +0100
  3. +++ gmp-6.1.2-win/gmp-h.in  2017-01-31 00:12:54.000000000 +0100
  4. @@ -625,7 +625,7 @@
  5.  __GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr);
  6.  
  7.  #define mpz_add_ui __gmpz_add_ui
  8. -__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int);
  9. +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long long int);
  10.  
  11.  #define mpz_addmul __gmpz_addmul
  12.  __GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr);
  13. @@ -830,7 +830,7 @@
  14.  
  15.  #define mpz_get_ui __gmpz_get_ui
  16.  #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui)
  17. -__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
  18. +__GMP_DECLSPEC unsigned long long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
  19.  #endif
  20.  
  21.  #define mpz_getlimbn __gmpz_getlimbn
  22. @@ -1029,7 +1029,7 @@
  23.  __GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int);
  24.  
  25.  #define mpz_set_ui __gmpz_set_ui
  26. -__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int);
  27. +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long long int);
  28.  
  29.  #define mpz_setbit __gmpz_setbit
  30.  __GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t);
  31. @@ -1052,10 +1052,10 @@
  32.  __GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr);
  33.  
  34.  #define mpz_sub_ui __gmpz_sub_ui
  35. -__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int);
  36. +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long long int);
  37.  
  38.  #define mpz_ui_sub __gmpz_ui_sub
  39. -__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr);
  40. +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long long int, mpz_srcptr);
  41.  
  42.  #define mpz_submul __gmpz_submul
  43.  __GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr);
  44. @@ -1763,7 +1763,7 @@
  45.  #if ! defined (__GMP_FORCE_mpz_get_ui)
  46.  __GMP_EXTERN_INLINE
  47.  #endif
  48. -unsigned long
  49. +unsigned long long
  50.  mpz_get_ui (mpz_srcptr __gmp_z) __GMP_NOTHROW
  51.  {
  52.    mp_ptr __gmp_p = __gmp_z->_mp_d;
  53. @@ -1776,6 +1776,7 @@
  54.  #if GMP_NAIL_BITS == 0 || defined (_LONG_LONG_LIMB)
  55.    /* limb==long and no nails, or limb==longlong, one limb is enough */
  56.    return (__gmp_n != 0 ? __gmp_l : 0);
  57. +
  58.  #else
  59.    /* limb==long and nails, need two limbs when available */
  60.    __gmp_n = __GMP_ABS (__gmp_n);
  61. @@ -1784,6 +1785,7 @@
  62.    else
  63.      return __gmp_l + (__gmp_p[1] << GMP_NUMB_BITS);
  64.  #endif
  65. +
  66.  }
  67.  #endif
  68.  
  69. @@ -2069,9 +2071,9 @@
  70.  #define __GMPN_CMP(result, xp, yp, size)                                \
  71.    do {                                                                  \
  72.      mp_size_t  __gmp_i;                                                 \
  73. -    mp_limb_t  __gmp_x, __gmp_y;                                        \
  74. +    unsigned long long  __gmp_x, __gmp_y;                               \
  75.                                                                          \
  76. -    /* ASSERT ((size) >= 0); */                                         \
  77. +    /*ASSERT ((size) >= 0);*/                                          \
  78.                                                                          \
  79.      (result) = 0;                                                       \
  80.      __gmp_i = (size);                                                   \
  81. diff -ru gmp-6.1.2/mpz/aors_ui.h gmp-6.1.2-win/mpz/aors_ui.h
  82. --- gmp-6.1.2/mpz/aors_ui.h 2016-12-16 16:45:27.000000000 +0100
  83. +++ gmp-6.1.2-win/mpz/aors_ui.h 2017-01-31 00:12:54.000000000 +0100
  84. @@ -56,14 +56,14 @@
  85.  
  86.  
  87.  void
  88. -FUNCTION (mpz_ptr w, mpz_srcptr u, unsigned long int vval)
  89. +FUNCTION (mpz_ptr w, mpz_srcptr u, unsigned long long int vval)
  90.  {
  91.    mp_srcptr up;
  92.    mp_ptr wp;
  93.    mp_size_t usize, wsize;
  94.    mp_size_t abs_usize;
  95.  
  96. -#if BITS_PER_ULONG > GMP_NUMB_BITS  /* avoid warnings about shift amount */
  97. +#if BITS_PER_ULLONG > GMP_NUMB_BITS  /* avoid warnings about shift amount */
  98.    if (vval > GMP_NUMB_MAX)
  99.      {
  100.        mpz_t v;
  101. diff -ru gmp-6.1.2/mpz/set_ui.c gmp-6.1.2-win/mpz/set_ui.c
  102. --- gmp-6.1.2/mpz/set_ui.c  2016-12-16 16:45:27.000000000 +0100
  103. +++ gmp-6.1.2-win/mpz/set_ui.c  2017-01-31 00:12:54.000000000 +0100
  104. @@ -33,14 +33,14 @@
  105.  #include "gmp-impl.h"
  106.  
  107.  void
  108. -mpz_set_ui (mpz_ptr dest, unsigned long int val)
  109. +mpz_set_ui (mpz_ptr dest, unsigned long long int val)
  110.  {
  111.    mp_size_t size;
  112.  
  113.    PTR (dest)[0] = val & GMP_NUMB_MASK;
  114.    size = val != 0;
  115.  
  116. -#if BITS_PER_ULONG > GMP_NUMB_BITS  /* avoid warnings about shift amount */
  117. +#if BITS_PER_ULONG < GMP_NUMB_BITS  /* avoid warnings about shift amount */
  118.    if (val > GMP_NUMB_MAX)
  119.      {
  120.        MPZ_REALLOC (dest, 2);
  121. diff -ru gmp-6.1.2/mpz/ui_sub.c gmp-6.1.2-win/mpz/ui_sub.c
  122. --- gmp-6.1.2/mpz/ui_sub.c  2016-12-16 16:45:27.000000000 +0100
  123. +++ gmp-6.1.2-win/mpz/ui_sub.c  2017-01-31 00:12:54.000000000 +0100
  124. @@ -32,7 +32,7 @@
  125.  #include "gmp-impl.h"
  126.  
  127.  void
  128. -mpz_ui_sub (mpz_ptr w, unsigned long int uval, mpz_srcptr v)
  129. +mpz_ui_sub (mpz_ptr w, unsigned long long int uval, mpz_srcptr v)
  130.  {
  131.    mp_ptr vp, wp;
  132.    mp_size_t vn, wn;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement