ruby-mext 0.18.1 → 0.18.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bf249093764206f49f0a7510729af4e009c4e9aa81117ebbc69cea0844512e5e
4
- data.tar.gz: 3b8cc2c97fe5c0b2f823c3eaf88bfbd5b57943244216f43b25c3e84525e8fff2
3
+ metadata.gz: 05fac545cf1e4553d0b575a7a4d82ab3fffd584f7539a0ac51907af48b9f6086
4
+ data.tar.gz: 13d1a38b716aa34e60122b5b0703b8c10d5fe04ac93948d1aeca78f5fc973e15
5
5
  SHA512:
6
- metadata.gz: 9dd4001dd8d885ac12052afd0234a442f48c4054151378cc92fdb9b52696ee81dd5ad899cbc06a82c0a456b0b4d8417053592ae5d52cc9a17f5c799f982604b3
7
- data.tar.gz: 9772982fa8a6d65e2314f61821ac4b90dc49fbd3f0b8551e7da8cd7ce271062fb930073d7a59e2fb078af422dd7949519c01f7d068c2ecbe030893ef4ce44105
6
+ metadata.gz: 16c4f4c9eb951efa07b79154e2b8288b9e7b1e811a79baa59a36567065cd39677269e6b23e0ea1f12bd8c80ec1b82ec81c154663d21c8ac13beb52566b959729
7
+ data.tar.gz: 0e9b70b0d167004222921872972205dc4ae5dd334db2f26f17f05e3e8f07ccc8485f66b235d0410bb2b3d7cfde8675275b91e89411cb809c03e7e5c950f248b8
@@ -8,7 +8,7 @@ class Array
8
8
  #:nodoc:
9
9
 
10
10
  def choose
11
- idx = (Mext::PRNG.rand*(self.size-1)).round
11
+ idx = (Mext::PRNG.r*(self.size-1)).round
12
12
  self[idx]
13
13
  end
14
14
 
@@ -75,11 +75,13 @@ module Math
75
75
  private
76
76
 
77
77
  def setup
78
+ x_length = self.x_end - self.x_start
79
+
80
+ raise ArgumentError.new("Inverted x axis (x_end #{self.x_end} < x_start #{self.x_start})") if self.x_end < self.x_start
78
81
  @c = self.y_end + self.tau
79
82
 
80
83
  exp_sv = self.y_start - self.c # start value of the exponential
81
84
  exp_ev = self.y_end - self.c # end value of the exponential
82
- x_length = self.x_end - self.x_start
83
85
 
84
86
  @a = (CMath::log(exp_ev) - CMath::log(exp_sv)) / x_length;
85
87
  @b= CMath::log(exp_sv) - (self.a * x_start);
@@ -17,7 +17,7 @@ class Numeric
17
17
  lobound = self.to_f
18
18
  rng = upper.to_f - lobound
19
19
 
20
- (Mext::PRNG.rand*rng) + lobound
20
+ (Mext::PRNG.r*rng) + lobound
21
21
  end
22
22
 
23
23
  end
@@ -3,21 +3,29 @@ module Mext
3
3
  #
4
4
  # +Mext::RandomGenerator+
5
5
  #
6
- # singleton version of the standard Random Generator
6
+ # singleton seedable version of the default Random Generator
7
7
  #
8
- class RandomGenerator < ::Random
8
+ class RandomGenerator
9
9
 
10
10
  private_class_method :new
11
11
 
12
12
  MEXT_SEED_TAG = 'MEXT_SEED'
13
13
 
14
14
  def initialize
15
- @si_seed = ENV[MEXT_SEED_TAG] ? ENV[MEXT_SEED_TAG] : (ENV[MEXT_SEED_TAG] = self.class.new_seed.to_s)
16
- super(self.seed)
15
+ @mext_seed = ENV[MEXT_SEED_TAG] ? ENV[MEXT_SEED_TAG] : (ENV[MEXT_SEED_TAG] = (rand()*10e20).to_i.to_s)
16
+ self.seed = @mext_seed
17
17
  end
18
18
 
19
19
  def seed
20
- @si_seed.to_i
20
+ @mext_seed.to_i
21
+ end
22
+
23
+ def seed=(val)
24
+ Math.send(:srand, val.to_i)
25
+ end
26
+
27
+ def r
28
+ Math.send(:rand)
21
29
  end
22
30
 
23
31
  end
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mext
2
- VERSION = '0.18.1'
2
+ VERSION = '0.18.2'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-mext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.1
4
+ version: 0.18.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicola Bernardini
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-07-20 00:00:00.000000000 Z
11
+ date: 2019-07-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: wavefile