From d985e1d4c8f4dc43a1ad3c5ca6f10676aa58a841 Mon Sep 17 00:00:00 2001 From: Maxim Sergeev Date: Thu, 22 Mar 2018 17:46:55 +0300 Subject: [PATCH 1/2] Issue #168 : math.random(upper) now works fine when upper=1 --- mathlib.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mathlib.go b/mathlib.go index 0771a48f..e612f2f0 100644 --- a/mathlib.go +++ b/mathlib.go @@ -189,7 +189,7 @@ func mathRandom(L *LState) int { L.Push(LNumber(rand.Float64())) case 1: n := L.CheckInt(1) - L.Push(LNumber(rand.Intn(n-1) + 1)) + L.Push(LNumber(rand.Intn(n) + 1)) default: min := L.CheckInt(1) max := L.CheckInt(2) + 1 From 921e332988e4cb7b7b46a615504ea6caeae74eb9 Mon Sep 17 00:00:00 2001 From: Maxim Sergeev Date: Mon, 16 Apr 2018 10:36:25 +0300 Subject: [PATCH 2/2] [+] add issue assert --- _glua-tests/issues.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/_glua-tests/issues.lua b/_glua-tests/issues.lua index 35ecf5da..04105d2f 100644 --- a/_glua-tests/issues.lua +++ b/_glua-tests/issues.lua @@ -182,3 +182,10 @@ for i in s:gmatch([=[[[][^%s,]*[]]]=]) do end assert(result[1] == [=[["a"]['b'][9]]=]) assert(result[2] == [=[["a"]['b'][8]]=]) + +-- issue 168 +local expected = 1 + +local result = math.random(1) + +assert(result == expected)