ba8f4b3
--- japron/gmp/gmp_Mpfr.c.orig	2019-11-10 07:33:31.000000000 -0700
ba8f4b3
+++ japron/gmp/gmp_Mpfr.c	2020-01-17 09:08:16.852531901 -0700
6916f9c
@@ -824,10 +824,23 @@ JNIEXPORT jint JNICALL Java_gmp_Mpfr_cbr
6916f9c
 JNIEXPORT jint JNICALL Java_gmp_Mpfr_root
6916f9c
   (JNIEnv *env, jobject o1, jobject o2, jint i, jint p)
6916f9c
 {
6916f9c
+#if MPFR_VERSION_MAJOR >= 4
6916f9c
+  mpfr_ptr mpfr1, mpfr2;
6916f9c
+#endif
6916f9c
   check_nonnull(o1,0);
6916f9c
   check_nonnull(o2,0);
6916f9c
   check_positive(i,0);
6916f9c
+#if MPFR_VERSION_MAJOR >= 4
6916f9c
+  mpfr1 = as_mpfr(o1);
6916f9c
+  mpfr2 = as_mpfr(o2);
6916f9c
+  if (mpfr_zero_p(mpfr2)) {
6916f9c
+    mpfr_set_zero(mpfr1, mpfr_sgn(mpfr2));
6916f9c
+    return 0;
6916f9c
+  }
6916f9c
+  return mpfr_rootn_ui(mpfr1, mpfr2, i, p);
6916f9c
+#else
6916f9c
   return mpfr_root(as_mpfr(o1), as_mpfr(o2), i, p);
6916f9c
+#endif
6916f9c
 }
6916f9c
 
6916f9c
 /*