diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib.lua')
-rw-r--r-- | Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib.lua | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib.lua b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib.lua index aaa7f648a51..bcd4f6cfc1e 100644 --- a/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib.lua +++ b/Master/texmf-dist/tex/generic/pgf/graphdrawing/lua/pgf/gd/lib.lua @@ -7,7 +7,7 @@ -- -- See the file doc/generic/pgf/licenses/LICENSE for more information --- @release $Header: /cvsroot/pgf/pgf/generic/pgf/graphdrawing/lua/pgf/gd/lib.lua,v 1.6 2014/02/24 10:40:32 tantau Exp $ +-- @release $Header$ @@ -209,7 +209,7 @@ function lib.random_permutation(n) p[i] = i end for i=1,n-1 do - local j = math.random(i,n) + local j = lib.random(i,n) p[i], p[j] = p[i], p[j] end return p @@ -394,6 +394,28 @@ function lib.ondemand(filename, table, name) end + +--- +-- This implements the legacy random number generator of Lua 5.2 in +-- pure Lua. This is needed for Lua 5.3 compatibility to obtain +-- consitent results. +-- +-- @param l Lower bound +-- @param u Upper bound +-- @return A random number +function lib.random(l,u) + local r = math.random() + if l and u then + assert(l <= u) + return math.floor(r*(u-l+1)) + l + elseif l then + assert(1.0 <= l) + return math.floor(r*l) + 1.0 + else + return r + end +end + -- Done -return lib
\ No newline at end of file +return lib |