From 9981476cc968afdf59704466c00807c5df9f297b Mon Sep 17 00:00:00 2001 From: Steven Luu Date: Sat, 9 Feb 2013 15:57:39 -0600 Subject: [PATCH 1/4] Use bit shifting instead of math:power --- uuid.erl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/uuid.erl b/uuid.erl index df21707..b29454b 100644 --- a/uuid.erl +++ b/uuid.erl @@ -34,7 +34,10 @@ % Generates a random binary UUID. v4() -> - v4(random:uniform(round(math:pow(2, 48))) - 1, random:uniform(round(math:pow(2, 12))) - 1, random:uniform(round(math:pow(2, 32))) - 1, random:uniform(round(math:pow(2, 30))) - 1). + v4(random:uniform(1 bsl 48) - 1, + random:uniform(1 bsl 12) - 1, + random:uniform(1 bsl 32) - 1, + random:uniform(1 bsl 30) - 1). v4(R1, R2, R3, R4) -> <>. From d72c0c2625a398e5288b9a859bf97b586321aff1 Mon Sep 17 00:00:00 2001 From: Steven Luu Date: Tue, 12 Feb 2013 01:25:06 -0600 Subject: [PATCH 2/4] format code --- uuid.erl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/uuid.erl b/uuid.erl index b29454b..c305d97 100644 --- a/uuid.erl +++ b/uuid.erl @@ -35,9 +35,9 @@ % Generates a random binary UUID. v4() -> v4(random:uniform(1 bsl 48) - 1, - random:uniform(1 bsl 12) - 1, - random:uniform(1 bsl 32) - 1, - random:uniform(1 bsl 30) - 1). + random:uniform(1 bsl 12) - 1, + random:uniform(1 bsl 32) - 1, + random:uniform(1 bsl 30) - 1). v4(R1, R2, R3, R4) -> <>. From 9230dcb58aaceb0acb67b84531a69f5c3668b965 Mon Sep 17 00:00:00 2001 From: Steven Luu Date: Fri, 29 Mar 2013 09:24:28 -0500 Subject: [PATCH 3/4] Use crypto:rand_uniform and removed `-1` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since crypto:rand_uniform returns N, with Lo <= N < Hi, we don't need -1 here. --- uuid.erl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/uuid.erl b/uuid.erl index 3764134..c646593 100644 --- a/uuid.erl +++ b/uuid.erl @@ -33,10 +33,10 @@ % Generates a random binary UUID. v4() -> - v4(random:uniform(1 bsl 48) - 1, - random:uniform(1 bsl 12) - 1, - random:uniform(1 bsl 32) - 1, - random:uniform(1 bsl 30) - 1). + v4(crypto:rand_uniform(1 bsl 48), + crypto:rand_uniform(1 bsl 12), + crypto:rand_uniform(1 bsl 32), + crypto:rand_uniform(1 bsl 30)). v4(R1, R2, R3, R4) -> <>. From b2a15bc6b36bfe53447d9b074338abef085a564c Mon Sep 17 00:00:00 2001 From: Steven Luu Date: Fri, 29 Mar 2013 09:25:40 -0500 Subject: [PATCH 4/4] Update uuid.erl --- uuid.erl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/uuid.erl b/uuid.erl index c646593..8f75e9c 100644 --- a/uuid.erl +++ b/uuid.erl @@ -33,10 +33,10 @@ % Generates a random binary UUID. v4() -> - v4(crypto:rand_uniform(1 bsl 48), - crypto:rand_uniform(1 bsl 12), - crypto:rand_uniform(1 bsl 32), - crypto:rand_uniform(1 bsl 30)). + v4(crypto:rand_uniform(1, 1 bsl 48), + crypto:rand_uniform(1, 1 bsl 12), + crypto:rand_uniform(1, 1 bsl 32), + crypto:rand_uniform(1, 1 bsl 30)). v4(R1, R2, R3, R4) -> <>.