ruby-mext 0.5.0 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|