super_random 3.1.230114 → 3.2.230118

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/lib/super_random.rb +19 -11
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: da086dfbbc9f424f5c8f7f35e38fc1be67633986797aea732af695c0ed4a8b67
4
- data.tar.gz: ed4274a6e0b5b113c37c9adc4b20f9f96eacdeb5798e79235d023b6c5683f847
3
+ metadata.gz: 8dda98111d66106fe2b2e3027f1b44c61abe791064a5a39c25d82994023670cf
4
+ data.tar.gz: b9b3617b187dd8c3197e4069b0fd18600b9cd9975c64914df65f85bdb8a72b4f
5
5
  SHA512:
6
- metadata.gz: 78284485c7c649b00f1916d6a7b946f9673ab223f01f8b28bc227975da9154ccbc87bfb1af76eb36a0ad378c4c222c9135b239cad57b655f02d6860c146f9205
7
- data.tar.gz: bab65a30405474b92539bfffdbd82fca278882c0be7d45f74d12c57d2c0f7ffc874cfd7e9ba0c0d1cc5b949d909adf298aa036b9974cf35c8dd248340f929be3
6
+ metadata.gz: 17627105179fdf958736dddb2c05f85d3fab8573797c10a9777dd23aacf306ea8692aaf6a202c2bfd05a9cc53df313ad6a50d4141a57b80063e74696a5cc3a85
7
+ data.tar.gz: 116b6e7d203bde17193088afbe2badf0dcf74a71a4b6fd1cf72f3462a4d66e598465f0551d078227ede39bace27c98187a83c6dab778cf3ba30bcdabba7be0ee
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # SuperRandom
2
2
 
3
- * [VERSION 3.1.230114](https://github.com/carlosjhr64/super_random/releases)
3
+ * [VERSION 3.2.230118](https://github.com/carlosjhr64/super_random/releases)
4
4
  * [github](https://github.com/carlosjhr64/super_random)
5
5
  * [rubygems](https://rubygems.org/gems/super_random)
6
6
 
@@ -17,7 +17,7 @@ You can't get more random than random, but you can try really, really, really ha
17
17
  ## SYNOPSIS:
18
18
  ```ruby
19
19
  require 'super_random'
20
- SuperRandom::VERSION #=> "3.1.230114"
20
+ SuperRandom::VERSION #=> "3.2.230118"
21
21
  SuperRandom::DEFAULT_SOURCES #~> www.random.org
22
22
  super_random = SuperRandom.new
23
23
  super_random.sources #~> www.random.org
data/lib/super_random.rb CHANGED
@@ -6,7 +6,7 @@ require 'digest'
6
6
  #`ruby`
7
7
 
8
8
  class SuperRandom
9
- VERSION = '3.1.230114'
9
+ VERSION = '3.2.230118'
10
10
  DEFAULT_SOURCES = [
11
11
  'https://www.random.org/strings/?num=10&len=20&digits=on&upperalpha=on&loweralpha=on&unique=on&format=plain&rnd=new',
12
12
  ]
@@ -38,21 +38,29 @@ class SuperRandom
38
38
  hexadecimal.to_i(16)
39
39
  end
40
40
 
41
+ def xy
42
+ hex = hexadecimal
43
+ x = hex[0...64].to_i(16)
44
+ y = hex[64..128].to_i(16)
45
+ return x,y
46
+ end
47
+
48
+ def integer2
49
+ # An alternate way to generate an integer
50
+ x,y = xy
51
+ # I think this is Binomial(Gaussian in the limit) around zero?
52
+ x - y
53
+ end
54
+
41
55
  def float
42
56
  Rational(integer, DIV).to_f
43
57
  end
44
58
 
45
59
  def float2
46
- # An alternate way to generate a float but...
47
- hex = hexadecimal
48
- x = hex[0...64].to_i(16)
49
- y = hex[64..128].to_i(16)
50
- # ...what distribution is this?
51
- Rational(x,y).to_f
52
- rescue ZeroDivisionError
53
- # Fat chance!
54
- return 0 if x == 0
55
- 1.0/0.0
60
+ # An alternate way to generate a float...
61
+ x,y = xy
62
+ # ...but what distribution is this?
63
+ Rational(x+1,y+1).to_f
56
64
  end
57
65
 
58
66
  def random_number(scale=1.0)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: super_random
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.230114
4
+ version: 3.2.230118
5
5
  platform: ruby
6
6
  authors:
7
7
  - CarlosJHR64
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-14 00:00:00.000000000 Z
11
+ date: 2023-01-18 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: |
14
14
  You can't get more random than random, but you can try really, really, really hard.