super_random 3.1.230114 → 3.2.230118

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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.