Sha256: 9443126da69b0e894ce6638ae0de61d1bd25f9e10d9be830fe79ed1af27baf4a
Contents?: true
Size: 1.18 KB
Versions: 1
Compression:
Stored size: 1.18 KB
Contents
module TimeSeriesMath # # == ElemwiseOperators # A collection of helper functions for by-element operations: # * addition # * substraction # * multiplication by scalar # module ElemwiseOperators # # Element-wise addition of objects # def elemwise_add(obj1, obj2) case obj1 when Array obj1.clone.zip(obj2).map { |d| d[0] + d[1] } when Hash out = {} obj1.each { |k, v| out[k] = v + obj2[k] } out else obj1 + obj2 end end # Element-wise substraction of objects # def elemwise_sub(obj1, obj2) case obj1 when Array obj1.clone.zip(obj2).map { |d| d[0] - d[1] } when Hash out = {} obj1.each { |k, v| out[k] = v - obj2[k] } out else obj1 - obj2 end end # Element-wise multiplication by scalar # def elemwise_mul_scalar(scalar, obj) case obj when Array obj.clone.map { |d| d * scalar } when Hash out = {} obj.each { |k, v| out[k] = v * scalar } out else obj * scalar end end end # module ElemwiseOperators end # module TimeSeriesMath
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
time_series_math-0.1.1 | lib/time_series_math/elemwise_operators.rb |