diff --git a/src/main/java/org/luaj/vm3/lib/MathLib.java b/src/main/java/org/luaj/vm3/lib/MathLib.java index c32022297..081910ad9 100644 --- a/src/main/java/org/luaj/vm3/lib/MathLib.java +++ b/src/main/java/org/luaj/vm3/lib/MathLib.java @@ -211,15 +211,15 @@ public class MathLib extends TwoArgFunction { return valueOf( random.nextDouble() ); } public LuaValue call(LuaValue a) { - int m = a.checkint(); + double m = a.checkdouble(); if (m<1) argerror(1, "interval is empty"); - return valueOf( 1 + random.nextInt(m) ); + return valueOf( Math.floor(random.nextDouble() * m) + 1L ); } public LuaValue call(LuaValue a, LuaValue b) { - int m = a.checkint(); - int n = b.checkint(); + double m = a.checkdouble(); + double n = b.checkdouble(); if (n