diff --git a/py/mpz.c b/py/mpz.c
index d6aeafd..1619873 100644
--- a/py/mpz.c
+++ b/py/mpz.c
@@ -51,6 +51,9 @@
 STATIC uint mpn_shl(mpz_dig_t *idig, mpz_dig_t *jdig, uint jlen, uint n) {
     uint n_whole = (n + DIG_SIZE - 1) / DIG_SIZE;
     uint n_part = n % DIG_SIZE;
+    if (n_part == 0) {
+        n_part = DIG_SIZE;
+    }
 
     // start from the high end of the digit arrays
     idig += jlen + n_whole - 1;
@@ -67,7 +70,7 @@
     // store remaining bits
     *idig = d >> (DIG_SIZE - n_part);
     idig -= n_whole - 1;
-    memset(idig, 0, n_whole - 1);
+    memset(idig, 0, (n_whole - 1) * sizeof(mpz_dig_t));
 
     // work out length of result
     jlen += n_whole;
@@ -412,6 +415,12 @@
     return z;
 }
 
+mpz_t *mpz_from_ll(long long val) {
+    mpz_t *z = mpz_zero();
+    mpz_set_from_ll(z, val);
+    return z;
+}
+
 mpz_t *mpz_from_str(const char *str, uint len, bool neg, uint base) {
     mpz_t *z = mpz_zero();
     mpz_set_from_str(z, str, len, neg, base);
@@ -469,17 +478,38 @@
 void mpz_set_from_int(mpz_t *z, machine_int_t val) {
     mpz_need_dig(z, MPZ_NUM_DIG_FOR_INT);
 
+    machine_uint_t uval;
     if (val < 0) {
         z->neg = 1;
-        val = -val;
+        uval = -val;
     } else {
         z->neg = 0;
+        uval = val;
     }
 
     z->len = 0;
-    while (val > 0) {
-        z->dig[z->len++] = val & DIG_MASK;
-        val >>= DIG_SIZE;
+    while (uval > 0) {
+        z->dig[z->len++] = uval & DIG_MASK;
+        uval >>= DIG_SIZE;
+    }
+}
+
+void mpz_set_from_ll(mpz_t *z, long long val) {
+    mpz_need_dig(z, MPZ_NUM_DIG_FOR_LL);
+
+    unsigned long long uval;
+    if (val < 0) {
+        z->neg = 1;
+        uval = -val;
+    } else {
+        z->neg = 0;
+        uval = val;
+    }
+
+    z->len = 0;
+    while (uval > 0) {
+        z->dig[z->len++] = uval & DIG_MASK;
+        uval >>= DIG_SIZE;
     }
 }
 
