ruby-mext 0.5.0 → 0.6.0
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 +4 -4
- data/lib/mext/array.rb +1 -0
- data/lib/mext/array/vectorize.rb +22 -0
- data/lib/mext/numeric.rb +20 -14
- data/lib/mext/numeric/rrand.rb +3 -3
- data/lib/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b73cba301d8a424b583b1cdf7f7865d70303650f65e1ec369859bfa7fa32eb7
|
4
|
+
data.tar.gz: 0aaaf5442309c8bd92e6a5a83c611655fcc3bc87924104ad9bc805f18525d42e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d828a3d2fa1589b342c6f2ad981299e4074ee0ba4bfe283c5a65af2ce157a771b39dceb23ba00bc4ec722645c9a90afd4c5fb871e13f8080977f88d2c6874830
|
7
|
+
data.tar.gz: 65e5b198dfa246b0a2d3995513aef60e5ee0441e46f78d384dcf6656962e0792f108fec234670f2278a0d8a590ef3a69236a04fa97162f3a1638f7bc95a57aef
|
data/lib/mext/array.rb
CHANGED
@@ -0,0 +1,22 @@
|
|
1
|
+
class Array
|
2
|
+
|
3
|
+
#
|
4
|
+
# +vectorization+:
|
5
|
+
#
|
6
|
+
# extend any +Mext::Numeric+ operation to a vector of values
|
7
|
+
# (a la Matlab/Octave)
|
8
|
+
#
|
9
|
+
#:nodoc:
|
10
|
+
Mext::Numeric::VECTORIZABLE_METHODS.each do
|
11
|
+
|m|
|
12
|
+
msym = m.to_sym
|
13
|
+
define_method(msym) { |*args| common_vectorizer(msym, args) }
|
14
|
+
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def common_vectorizer(meth, args)
|
19
|
+
self.map { |val| args.empty? ? val.send(meth) : val.send(meth, *args) }
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
data/lib/mext/numeric.rb
CHANGED
@@ -1,19 +1,25 @@
|
|
1
1
|
module Mext
|
2
|
+
module Numeric
|
2
3
|
|
3
|
-
|
4
|
+
PATH = File.join(Mext::PATH, 'numeric')
|
5
|
+
VECTORIZABLE_METHODS = %w(
|
6
|
+
mtof
|
7
|
+
ftom
|
8
|
+
ampdb
|
9
|
+
dbamp
|
10
|
+
pchtom
|
11
|
+
mtopch
|
12
|
+
cpspch
|
13
|
+
pchcps
|
14
|
+
gold
|
15
|
+
rrand
|
16
|
+
)
|
17
|
+
NON_VECTORIZABLE_METHODS = %w(
|
18
|
+
pitch_fork
|
19
|
+
)
|
20
|
+
ADDED_METHODS = NON_VECTORIZABLE_METHODS + VECTORIZABLE_METHODS
|
4
21
|
|
22
|
+
end
|
5
23
|
end
|
6
24
|
|
7
|
-
|
8
|
-
pitch_fork
|
9
|
-
mtof
|
10
|
-
ftom
|
11
|
-
ampdb
|
12
|
-
dbamp
|
13
|
-
pchtom
|
14
|
-
mtopch
|
15
|
-
cpspch
|
16
|
-
pchcps
|
17
|
-
rrand
|
18
|
-
gold
|
19
|
-
).each { |f| require File.join(Mext::NUMERIC_PATH, f) }
|
25
|
+
Mext::Numeric::ADDED_METHODS.each { |f| require File.join(Mext::Numeric::PATH, f) }
|
data/lib/mext/numeric/rrand.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
class Numeric
|
2
2
|
|
3
3
|
#
|
4
|
-
# +rrand(upper)+: random number generator
|
4
|
+
# +rrand(upper = 0)+: random number generator
|
5
5
|
#
|
6
6
|
# returns a random number in the range receiver-upper bound
|
7
7
|
#
|
@@ -13,7 +13,7 @@ class Numeric
|
|
13
13
|
#
|
14
14
|
#:nodoc:
|
15
15
|
|
16
|
-
def rrand(upper)
|
16
|
+
def rrand(upper = 0.0)
|
17
17
|
lobound = self.to_f
|
18
18
|
rng = upper.to_f - lobound
|
19
19
|
|
@@ -24,7 +24,7 @@ end
|
|
24
24
|
|
25
25
|
class Integer
|
26
26
|
|
27
|
-
def rrand(upper)
|
27
|
+
def rrand(upper = 0)
|
28
28
|
res = super(upper)
|
29
29
|
upper.is_a?(Integer) ? res.round : res
|
30
30
|
end
|
data/lib/version.rb
CHANGED
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.
|
4
|
+
version: 0.6.0
|
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-04-
|
11
|
+
date: 2019-04-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -116,6 +116,7 @@ files:
|
|
116
116
|
- lib/mext.rb
|
117
117
|
- lib/mext/array.rb
|
118
118
|
- lib/mext/array/choose.rb
|
119
|
+
- lib/mext/array/vectorize.rb
|
119
120
|
- lib/mext/exceptions.rb
|
120
121
|
- lib/mext/math.rb
|
121
122
|
- lib/mext/math/expon.rb
|