py: Implement second arg for math.log (optional value for base).
diff --git a/py/modmath.c b/py/modmath.c
index 46423d2..296d16b 100644
--- a/py/modmath.c
+++ b/py/modmath.c
@@ -68,8 +68,6 @@
 MATH_FUN_1(exp, exp)
 /// \function expm1(x)
 MATH_FUN_1(expm1, expm1)
-/// \function log(x)
-MATH_FUN_1(log, log)
 /// \function log2(x)
 MATH_FUN_1(log2, log2)
 /// \function log10(x)
@@ -136,6 +134,19 @@
 #endif
 //TODO: factorial, fsum
 
+// Function that takes a variable number of arguments
+
+// log(x[, base])
+STATIC mp_obj_t mp_math_log(mp_uint_t n_args, const mp_obj_t *args) {
+    mp_float_t l = MICROPY_FLOAT_C_FUN(log)(mp_obj_get_float(args[0]));
+    if (n_args == 1) {
+        return mp_obj_new_float(l);
+    } else {
+        return mp_obj_new_float(l / MICROPY_FLOAT_C_FUN(log)(mp_obj_get_float(args[1])));
+    }
+}
+STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mp_math_log_obj, 1, 2, mp_math_log);
+
 // Functions that return a tuple
 
 /// \function frexp(x)