This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| * Uniform random floats: How to generate a double-precision | |
| * floating-point number in [0, 1] uniformly at random given a uniform | |
| * random source of bits. | |
| * | |
| * Copyright (c) 2014, Taylor R Campbell | |
| * | |
| * Verbatim copying and distribution of this entire article are | |
| * permitted worldwide, without royalty, in any medium, provided | |
| * this notice, and the copyright notice, are preserved. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| local random = math.random | |
| local function uuid() | |
| local template ='xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx' | |
| return string.gsub(template, '[xy]', function (c) | |
| local v = (c == 'x') and random(0, 0xf) or random(8, 0xb) | |
| return string.format('%x', v) | |
| end) | |
| end |