daru_lite 0.2.3 → 0.2.4
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/daru_lite.gemspec +1 -1
- data/lib/daru_lite/category.rb +1 -1
- data/lib/daru_lite/core/merge.rb +3 -3
- data/lib/daru_lite/dataframe.rb +3 -6
- data/lib/daru_lite/date_time/index.rb +2 -1
- data/lib/daru_lite/date_time/offsets.rb +1 -1
- data/lib/daru_lite/index/index.rb +2 -1
- data/lib/daru_lite/io/io.rb +9 -11
- data/lib/daru_lite/maths/statistics/dataframe.rb +3 -5
- data/lib/daru_lite/maths/statistics/vector.rb +9 -13
- data/lib/daru_lite/monkeys/array.rb +11 -0
- data/lib/daru_lite/monkeys/hash.rb +7 -0
- data/lib/daru_lite/monkeys/m_d_array.rb +7 -0
- data/lib/daru_lite/monkeys/matrix.rb +7 -0
- data/lib/daru_lite/monkeys/object.rb +7 -0
- data/lib/daru_lite/monkeys/range.rb +11 -0
- data/lib/daru_lite/vector/calculatable.rb +1 -1
- data/lib/daru_lite/vector/duplicatable.rb +1 -1
- data/lib/daru_lite/vector/fetchable.rb +3 -2
- data/lib/daru_lite/vector.rb +2 -1
- data/lib/daru_lite/version.rb +1 -1
- data/lib/daru_lite.rb +7 -1
- metadata +10 -5
- data/lib/daru_lite/monkeys.rb +0 -56
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a04accc0b21012227f90f9586cf82bf432d0d8b973ed95238307fd6d11d17eba
|
|
4
|
+
data.tar.gz: e0fdc901b2d9b8bfb0a5af9f364921fcf4022d083d303621073161572cd189b3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a49e8d0219f4005d84ce38729707aa4742dcc8ee31d56ffff6f29899ad01b910f7f38d1574419d882947c791f22eeaeb0afcdf3e804283d21725d36ab7a5f016
|
|
7
|
+
data.tar.gz: 363502b7823a4cc4928e567e560d1992a873c02adaf1014de0b90b92e8772b8fce350f5cf23a86643a94c857a33343890cefbd09612dba2affbc909f97b8f253
|
data/daru_lite.gemspec
CHANGED
|
@@ -40,7 +40,7 @@ Gem::Specification.new do |spec|
|
|
|
40
40
|
spec.add_development_dependency 'rake', '~> 13.0'
|
|
41
41
|
spec.add_development_dependency 'rspec', '~> 3.11'
|
|
42
42
|
spec.add_development_dependency 'rspec-its', '~> 2.0.0'
|
|
43
|
-
spec.add_development_dependency 'rubocop', '~> 1.
|
|
43
|
+
spec.add_development_dependency 'rubocop', '~> 1.86'
|
|
44
44
|
spec.add_development_dependency 'rubocop-performance', '~> 1.25.0'
|
|
45
45
|
spec.add_development_dependency 'rubocop-rspec', '~> 3.6'
|
|
46
46
|
spec.add_development_dependency 'ruby-prof', '~> 1.7.0'
|
data/lib/daru_lite/category.rb
CHANGED
|
@@ -858,7 +858,7 @@ module DaruLite
|
|
|
858
858
|
end
|
|
859
859
|
|
|
860
860
|
def user_defined_coding(df)
|
|
861
|
-
DaruLite::DataFrame.rows
|
|
861
|
+
DaruLite::DataFrame.rows Array.new(size) { |pos| df.row[at(pos)].to_a },
|
|
862
862
|
index: @index,
|
|
863
863
|
order: df.vectors.to_a
|
|
864
864
|
end
|
data/lib/daru_lite/core/merge.rb
CHANGED
|
@@ -118,9 +118,9 @@ module DaruLite
|
|
|
118
118
|
if lkey == rkey
|
|
119
119
|
self.merge_key = lkey
|
|
120
120
|
add_indicator(merge_matching_rows, :both)
|
|
121
|
-
elsif !rkey || lt(lkey, rkey)
|
|
121
|
+
elsif !rkey || lt?(lkey, rkey)
|
|
122
122
|
add_indicator(left_row_missing_right, :left_only)
|
|
123
|
-
else # !lkey || lt(rkey, lkey)
|
|
123
|
+
else # !lkey || lt?(rkey, lkey)
|
|
124
124
|
add_indicator(right_row_missing_left, :right_only)
|
|
125
125
|
end
|
|
126
126
|
end
|
|
@@ -181,7 +181,7 @@ module DaruLite
|
|
|
181
181
|
expand_row(val, right_keys) if keep_right
|
|
182
182
|
end
|
|
183
183
|
|
|
184
|
-
def lt(k1, k2)
|
|
184
|
+
def lt?(k1, k2)
|
|
185
185
|
(k1 <=> k2) == -1
|
|
186
186
|
end
|
|
187
187
|
|
data/lib/daru_lite/dataframe.rb
CHANGED
|
@@ -730,10 +730,10 @@ module DaruLite
|
|
|
730
730
|
|
|
731
731
|
case source.first
|
|
732
732
|
when Array
|
|
733
|
-
vectors ||= (0..source.size - 1).to_a
|
|
733
|
+
vectors ||= (0..(source.size - 1)).to_a
|
|
734
734
|
initialize_from_array_of_arrays source, vectors, index, opts
|
|
735
735
|
when Vector
|
|
736
|
-
vectors ||= (0..source.size - 1).to_a
|
|
736
|
+
vectors ||= (0..(source.size - 1)).to_a
|
|
737
737
|
initialize_from_array_of_vectors source, vectors, index, opts
|
|
738
738
|
when Hash
|
|
739
739
|
initialize_from_array_of_hashes source, vectors, index, opts
|
|
@@ -809,10 +809,7 @@ module DaruLite
|
|
|
809
809
|
elsif vectors_have_same_index
|
|
810
810
|
source.values[0].index.dup
|
|
811
811
|
else
|
|
812
|
-
all_indexes = source
|
|
813
|
-
.values.map { |v| v.index.to_a }
|
|
814
|
-
.flatten.uniq.sort # sort only if missing indexes detected
|
|
815
|
-
|
|
812
|
+
all_indexes = source.values.map { |v| v.index.to_a }.flatten.uniq.sort # sort only if missing indexes detected
|
|
816
813
|
DaruLite::Index.new all_indexes
|
|
817
814
|
end
|
|
818
815
|
end
|
|
@@ -96,7 +96,7 @@ module DaruLite
|
|
|
96
96
|
def infer_offset(data)
|
|
97
97
|
diffs = data.each_cons(2).map { |d1, d2| d2 - d1 }
|
|
98
98
|
|
|
99
|
-
return nil unless diffs.uniq.
|
|
99
|
+
return nil unless diffs.uniq.one?
|
|
100
100
|
|
|
101
101
|
return TIME_INTERVALS[diffs.first].new if TIME_INTERVALS.include?(diffs.first)
|
|
102
102
|
|
|
@@ -216,6 +216,7 @@ module DaruLite
|
|
|
216
216
|
|
|
217
217
|
class DateTimeIndex < Index
|
|
218
218
|
include Enumerable
|
|
219
|
+
|
|
219
220
|
Helper = DateTimeIndexHelper
|
|
220
221
|
|
|
221
222
|
def self.try_create(source)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
module DaruLite
|
|
2
2
|
class Index # rubocop:disable Metrics/ClassLength
|
|
3
3
|
include Enumerable
|
|
4
|
+
|
|
4
5
|
# It so happens that over riding the .new method in a super class also
|
|
5
6
|
# tampers with the default .new method for class that inherit from the
|
|
6
7
|
# super class (Index in this case). Thus we first alias the original
|
|
@@ -170,7 +171,7 @@ module DaruLite
|
|
|
170
171
|
if start_idx.nil?
|
|
171
172
|
nil
|
|
172
173
|
elsif en_idx.nil?
|
|
173
|
-
Array(start_idx..size - 1)
|
|
174
|
+
Array(start_idx..(size - 1))
|
|
174
175
|
else
|
|
175
176
|
Array(start_idx..en_idx)
|
|
176
177
|
end
|
data/lib/daru_lite/io/io.rb
CHANGED
|
@@ -141,7 +141,6 @@ module DaruLite
|
|
|
141
141
|
query = "INSERT INTO #{table} (#{ds.vectors.to_a.join(',')}) VALUES (#{(['?'] * ds.vectors.size).join(',')})"
|
|
142
142
|
sth = dbh.prepare(query)
|
|
143
143
|
ds.each_row { |c| sth.execute(*c.to_a) }
|
|
144
|
-
true
|
|
145
144
|
end
|
|
146
145
|
|
|
147
146
|
# Load dataframe from AR::Relation
|
|
@@ -161,12 +160,13 @@ module DaruLite
|
|
|
161
160
|
|
|
162
161
|
def from_plaintext(filename, fields)
|
|
163
162
|
ds = DaruLite::DataFrame.new({}, order: fields)
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
163
|
+
File.open(filename, 'r') do |fp|
|
|
164
|
+
fp.each_line do |line|
|
|
165
|
+
row = DaruLite::IOHelpers.process_row(line.strip.split(/\s+/), [''])
|
|
166
|
+
next if row == ["\x1A"]
|
|
168
167
|
|
|
169
|
-
|
|
168
|
+
ds.add_row(row)
|
|
169
|
+
end
|
|
170
170
|
end
|
|
171
171
|
ds.update
|
|
172
172
|
fields.each { |f| ds[f].rename f }
|
|
@@ -175,9 +175,7 @@ module DaruLite
|
|
|
175
175
|
|
|
176
176
|
# Loading and writing Marshalled DataFrame/Vector
|
|
177
177
|
def save(klass, filename)
|
|
178
|
-
|
|
179
|
-
Marshal.dump(klass, fp)
|
|
180
|
-
fp.close
|
|
178
|
+
File.open(filename, 'w') { Marshal.dump(klass, it) }
|
|
181
179
|
end
|
|
182
180
|
|
|
183
181
|
def load(filename)
|
|
@@ -248,7 +246,7 @@ module DaruLite
|
|
|
248
246
|
data, size = html_scrape_tag(table, 'td')
|
|
249
247
|
data.keep_if { |x| x.count == size }
|
|
250
248
|
order, indice = html_parse_hash(headers, size, headers_size) if headers_size >= size
|
|
251
|
-
return unless (indice.nil? || indice.count == data.count) && !order.nil? && order.
|
|
249
|
+
return unless (indice.nil? || indice.count == data.count) && !order.nil? && order.any?
|
|
252
250
|
|
|
253
251
|
{ data: data.compact, index: indice, order: order }
|
|
254
252
|
end
|
|
@@ -267,7 +265,7 @@ module DaruLite
|
|
|
267
265
|
order = headers[headers_index]
|
|
268
266
|
order_index = order.count - size
|
|
269
267
|
order = order[order_index..]
|
|
270
|
-
indice = headers[headers_index + 1..].flatten
|
|
268
|
+
indice = headers[(headers_index + 1)..].flatten
|
|
271
269
|
indice = nil if indice.to_a.empty?
|
|
272
270
|
[order, indice]
|
|
273
271
|
end
|
|
@@ -166,8 +166,7 @@ module DaruLite
|
|
|
166
166
|
private
|
|
167
167
|
|
|
168
168
|
def apply_method_to_numerics(method, *)
|
|
169
|
-
numerics = @vectors.to_a.map { |n| [n, @data[@vectors[n]]] }
|
|
170
|
-
.select { |_n, v| v.numeric? }
|
|
169
|
+
numerics = @vectors.to_a.map { |n| [n, @data[@vectors[n]]] }.select { |_n, v| v.numeric? }
|
|
171
170
|
computed = numerics.map { |_n, v| v.send(method, *) }
|
|
172
171
|
|
|
173
172
|
DaruLite::DataFrame.new(computed, index: @index, order: numerics.map(&:first), clone: false)
|
|
@@ -189,9 +188,8 @@ module DaruLite
|
|
|
189
188
|
|
|
190
189
|
def compute_stats(method)
|
|
191
190
|
DaruLite::Vector.new(
|
|
192
|
-
numeric_vectors.
|
|
193
|
-
|
|
194
|
-
end, name: method
|
|
191
|
+
numeric_vectors.to_h { [it, self[it].send(method)] },
|
|
192
|
+
name: method
|
|
195
193
|
)
|
|
196
194
|
end
|
|
197
195
|
alias sds std
|
|
@@ -180,7 +180,7 @@ module DaruLite
|
|
|
180
180
|
# dv.max(2) { |a,b| a.size <=> b.size }
|
|
181
181
|
# #=> ["Jon Starkgaryen","Daenerys"]
|
|
182
182
|
def max(size = nil, &)
|
|
183
|
-
range = size.nil? ? 0 : (0..size - 1)
|
|
183
|
+
range = size.nil? ? 0 : (0..(size - 1))
|
|
184
184
|
reject_values(*DaruLite::MISSING_VALUES).to_a.sort(&).reverse[range]
|
|
185
185
|
end
|
|
186
186
|
|
|
@@ -203,7 +203,7 @@ module DaruLite
|
|
|
203
203
|
def max_by(size = nil, &block)
|
|
204
204
|
raise ArgumentError, 'Expected compulsory object block in max_by method' unless block
|
|
205
205
|
|
|
206
|
-
reject_values(*DaruLite::MISSING_VALUES).to_a.sort_by(&block).reverse[size.nil? ? 0 : (0..size - 1)]
|
|
206
|
+
reject_values(*DaruLite::MISSING_VALUES).to_a.sort_by(&block).reverse[size.nil? ? 0 : (0..(size - 1))]
|
|
207
207
|
end
|
|
208
208
|
|
|
209
209
|
# Returns the minimum value(s) present in the vector, with an optional comparator block.
|
|
@@ -226,7 +226,7 @@ module DaruLite
|
|
|
226
226
|
# dv.min(2) { |a,b| a.size <=> b.size }
|
|
227
227
|
# #=> ["Tyrion","Daenerys"]
|
|
228
228
|
def min(size = nil, &)
|
|
229
|
-
range = size.nil? ? 0 : (0..size - 1)
|
|
229
|
+
range = size.nil? ? 0 : (0..(size - 1))
|
|
230
230
|
reject_values(*DaruLite::MISSING_VALUES).to_a.sort(&)[range]
|
|
231
231
|
end
|
|
232
232
|
|
|
@@ -252,7 +252,7 @@ module DaruLite
|
|
|
252
252
|
def min_by(size = nil, &block)
|
|
253
253
|
raise ArgumentError, 'Expected compulsory object block in min_by method' unless block
|
|
254
254
|
|
|
255
|
-
reject_values(*DaruLite::MISSING_VALUES).to_a.sort_by(&block)[size.nil? ? 0 : (0..size - 1)]
|
|
255
|
+
reject_values(*DaruLite::MISSING_VALUES).to_a.sort_by(&block)[size.nil? ? 0 : (0..(size - 1))]
|
|
256
256
|
end
|
|
257
257
|
end
|
|
258
258
|
|
|
@@ -279,7 +279,7 @@ module DaruLite
|
|
|
279
279
|
def index_of_max(size = nil, &)
|
|
280
280
|
vals = max(size, &)
|
|
281
281
|
dv = reject_values(*DaruLite::MISSING_VALUES)
|
|
282
|
-
vals.is_a?(Array) ?
|
|
282
|
+
vals.is_a?(Array) ? vals.map { |x| dv.index_of(x) } : dv.index_of(vals)
|
|
283
283
|
end
|
|
284
284
|
|
|
285
285
|
# Returns the index of the maximum value(s) present in the vector, with a compulsory
|
|
@@ -302,7 +302,7 @@ module DaruLite
|
|
|
302
302
|
def index_of_max_by(size = nil, &)
|
|
303
303
|
vals = max_by(size, &)
|
|
304
304
|
dv = reject_values(*DaruLite::MISSING_VALUES)
|
|
305
|
-
vals.is_a?(Array) ?
|
|
305
|
+
vals.is_a?(Array) ? vals.map { |x| dv.index_of(x) } : dv.index_of(vals)
|
|
306
306
|
end
|
|
307
307
|
|
|
308
308
|
# Returns the index of the minimum value(s) present in the vector, with an optional
|
|
@@ -328,7 +328,7 @@ module DaruLite
|
|
|
328
328
|
def index_of_min(size = nil, &)
|
|
329
329
|
vals = min(size, &)
|
|
330
330
|
dv = reject_values(*DaruLite::MISSING_VALUES)
|
|
331
|
-
vals.is_a?(Array) ?
|
|
331
|
+
vals.is_a?(Array) ? vals.map { |x| dv.index_of(x) } : dv.index_of(vals)
|
|
332
332
|
end
|
|
333
333
|
|
|
334
334
|
# Returns the index of the minimum value(s) present in the vector, with a compulsory
|
|
@@ -351,7 +351,7 @@ module DaruLite
|
|
|
351
351
|
def index_of_min_by(size = nil, &)
|
|
352
352
|
vals = min_by(size, &)
|
|
353
353
|
dv = reject_values(*DaruLite::MISSING_VALUES)
|
|
354
|
-
vals.is_a?(Array) ?
|
|
354
|
+
vals.is_a?(Array) ? vals.map { |x| dv.index_of(x) } : dv.index_of(vals)
|
|
355
355
|
end
|
|
356
356
|
|
|
357
357
|
# Return the maximum element present in the Vector, as a Vector.
|
|
@@ -409,11 +409,7 @@ module DaruLite
|
|
|
409
409
|
|
|
410
410
|
# Count number of occurrences of each value in the Vector
|
|
411
411
|
def value_counts
|
|
412
|
-
|
|
413
|
-
memo[d] += 1
|
|
414
|
-
end
|
|
415
|
-
|
|
416
|
-
DaruLite::Vector.new(values)
|
|
412
|
+
DaruLite::Vector.new(@data.tally)
|
|
417
413
|
end
|
|
418
414
|
|
|
419
415
|
def proportion(value = 1)
|
|
@@ -51,7 +51,7 @@ module DaruLite
|
|
|
51
51
|
"\n Distribution\n"
|
|
52
52
|
|
|
53
53
|
data = frequencies.sort.each_with_index.map do |v, k|
|
|
54
|
-
[k, v, format('%0.2f%%', (
|
|
54
|
+
[k, v, format('%0.2f%%', (nval.zero? ? 1 : v.quo(nval)) * 100)]
|
|
55
55
|
end
|
|
56
56
|
|
|
57
57
|
summary + Formatters::Table.format(data)
|
|
@@ -10,7 +10,7 @@ module DaruLite
|
|
|
10
10
|
# Copies the structure of the vector (i.e the index, size, etc.) and fills all
|
|
11
11
|
# all values with nils.
|
|
12
12
|
def clone_structure
|
|
13
|
-
DaruLite::Vector.new(
|
|
13
|
+
DaruLite::Vector.new([nil] * size, name: @name, index: @index.dup)
|
|
14
14
|
end
|
|
15
15
|
end
|
|
16
16
|
end
|
data/lib/daru_lite/vector.rb
CHANGED
|
@@ -164,6 +164,7 @@ module DaruLite
|
|
|
164
164
|
if opts[:type] == :category
|
|
165
165
|
# Initialize category type vector
|
|
166
166
|
extend DaruLite::Category
|
|
167
|
+
|
|
167
168
|
initialize_category source, opts
|
|
168
169
|
else
|
|
169
170
|
# Initialize non-category type vector
|
|
@@ -256,7 +257,7 @@ module DaruLite
|
|
|
256
257
|
other = other.zip(Array.new(other.size, 0)).to_h
|
|
257
258
|
DaruLite::Core::Query::BoolArray.new(
|
|
258
259
|
@data.each_with_object([]) do |d, memo|
|
|
259
|
-
memo <<
|
|
260
|
+
memo << other.key?(d)
|
|
260
261
|
end
|
|
261
262
|
)
|
|
262
263
|
end
|
data/lib/daru_lite/version.rb
CHANGED
data/lib/daru_lite.rb
CHANGED
|
@@ -86,11 +86,17 @@ require 'daru_lite/helpers/array'
|
|
|
86
86
|
require 'daru_lite/configuration'
|
|
87
87
|
require 'daru_lite/vector'
|
|
88
88
|
require 'daru_lite/dataframe'
|
|
89
|
-
require 'daru_lite/monkeys'
|
|
90
89
|
require 'daru_lite/formatters/table'
|
|
91
90
|
require 'daru_lite/iruby/helpers'
|
|
92
91
|
require 'daru_lite/exceptions'
|
|
93
92
|
|
|
93
|
+
require 'daru_lite/monkeys/array'
|
|
94
|
+
require 'daru_lite/monkeys/hash'
|
|
95
|
+
require 'daru_lite/monkeys/m_d_array'
|
|
96
|
+
require 'daru_lite/monkeys/matrix'
|
|
97
|
+
require 'daru_lite/monkeys/object'
|
|
98
|
+
require 'daru_lite/monkeys/range'
|
|
99
|
+
|
|
94
100
|
require 'daru_lite/core/group_by'
|
|
95
101
|
require 'daru_lite/core/query'
|
|
96
102
|
require 'daru_lite/core/merge'
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: daru_lite
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Thomas Naude-Filonnière
|
|
@@ -12,7 +12,7 @@ authors:
|
|
|
12
12
|
autorequire:
|
|
13
13
|
bindir: bin
|
|
14
14
|
cert_chain: []
|
|
15
|
-
date: 2026-
|
|
15
|
+
date: 2026-04-10 00:00:00.000000000 Z
|
|
16
16
|
dependencies:
|
|
17
17
|
- !ruby/object:Gem::Dependency
|
|
18
18
|
name: activerecord
|
|
@@ -188,14 +188,14 @@ dependencies:
|
|
|
188
188
|
requirements:
|
|
189
189
|
- - "~>"
|
|
190
190
|
- !ruby/object:Gem::Version
|
|
191
|
-
version: '1.
|
|
191
|
+
version: '1.86'
|
|
192
192
|
type: :development
|
|
193
193
|
prerelease: false
|
|
194
194
|
version_requirements: !ruby/object:Gem::Requirement
|
|
195
195
|
requirements:
|
|
196
196
|
- - "~>"
|
|
197
197
|
- !ruby/object:Gem::Version
|
|
198
|
-
version: '1.
|
|
198
|
+
version: '1.86'
|
|
199
199
|
- !ruby/object:Gem::Dependency
|
|
200
200
|
name: rubocop-performance
|
|
201
201
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -422,7 +422,12 @@ files:
|
|
|
422
422
|
- lib/daru_lite/maths/arithmetic/vector.rb
|
|
423
423
|
- lib/daru_lite/maths/statistics/dataframe.rb
|
|
424
424
|
- lib/daru_lite/maths/statistics/vector.rb
|
|
425
|
-
- lib/daru_lite/monkeys.rb
|
|
425
|
+
- lib/daru_lite/monkeys/array.rb
|
|
426
|
+
- lib/daru_lite/monkeys/hash.rb
|
|
427
|
+
- lib/daru_lite/monkeys/m_d_array.rb
|
|
428
|
+
- lib/daru_lite/monkeys/matrix.rb
|
|
429
|
+
- lib/daru_lite/monkeys/object.rb
|
|
430
|
+
- lib/daru_lite/monkeys/range.rb
|
|
426
431
|
- lib/daru_lite/vector.rb
|
|
427
432
|
- lib/daru_lite/vector/aggregatable.rb
|
|
428
433
|
- lib/daru_lite/vector/calculatable.rb
|
data/lib/daru_lite/monkeys.rb
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
class Array
|
|
2
|
-
def daru_lite_vector(name = nil, index = nil, dtype = :array)
|
|
3
|
-
DaruLite::Vector.new self, name: name, index: index, dtype: dtype
|
|
4
|
-
end
|
|
5
|
-
|
|
6
|
-
alias dv daru_lite_vector
|
|
7
|
-
|
|
8
|
-
def to_index
|
|
9
|
-
DaruLite::Index.new self
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
class Range
|
|
14
|
-
def daru_lite_vector(name = nil, index = nil, dtype = :array)
|
|
15
|
-
DaruLite::Vector.new self, name: name, index: index, dtype: dtype
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
alias dv daru_lite_vector
|
|
19
|
-
|
|
20
|
-
def to_index
|
|
21
|
-
DaruLite::Index.new to_a
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
class Hash
|
|
26
|
-
def daru_lite_vector(index = nil, dtype = :array)
|
|
27
|
-
DaruLite::Vector.new values[0], name: keys[0], index: index, dtype: dtype
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
alias dv daru_lite_vector
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
class MDArray
|
|
34
|
-
def daru_lite_vector(name = nil, index = nil, *)
|
|
35
|
-
DaruLite::Vector.new self, name: name, index: index, dtype: :mdarray
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
alias dv daru_lite_vector
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
class Matrix
|
|
42
|
-
def elementwise_division(other)
|
|
43
|
-
map.with_index do |e, index|
|
|
44
|
-
e / other.to_a.flatten[index]
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
class Object
|
|
50
|
-
if RUBY_VERSION < '2.2'
|
|
51
|
-
def itself
|
|
52
|
-
self
|
|
53
|
-
end
|
|
54
|
-
end
|
|
55
|
-
end
|
|
56
|
-
# :nocov:
|