Sha256: d542e6a72fe219834c5c37514db82a2db930786c94a84e7ac1d38f8bde9ecb39

Contents?: true

Size: 424 Bytes

Versions: 36

Compression:

Stored size: 424 Bytes

Contents

class Array

  #
  # +vectorization+:
  #
  # extend any +Mext::Numeric+ operation to a vector of values
  # (a la Matlab/Octave)
  #
  #:nodoc:
  Mext::Numeric::VECTORIZABLE_METHODS.each do
    |m|
    msym = m.to_sym
    define_method(msym) { |*args| common_vectorizer(msym, args) }
  end

private

  def common_vectorizer(meth, args)
    self.map { |val| args.empty? ? val.send(meth) : val.send(meth, *args) }
  end

end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
ruby-mext-0.21.6 lib/mext/array/vectorize.rb
ruby-mext-0.21.5 lib/mext/array/vectorize.rb
ruby-mext-0.21.4 lib/mext/array/vectorize.rb
ruby-mext-0.21.3 lib/mext/array/vectorize.rb
ruby-mext-0.21.2 lib/mext/array/vectorize.rb
ruby-mext-0.21.1 lib/mext/array/vectorize.rb
ruby-mext-0.21.0 lib/mext/array/vectorize.rb
ruby-mext-0.20.1 lib/mext/array/vectorize.rb
ruby-mext-0.20.0 lib/mext/array/vectorize.rb
ruby-mext-0.19.0 lib/mext/array/vectorize.rb
ruby-mext-0.18.3 lib/mext/array/vectorize.rb
ruby-mext-0.18.2 lib/mext/array/vectorize.rb
ruby-mext-0.18.1 lib/mext/array/vectorize.rb
ruby-mext-0.18.0 lib/mext/array/vectorize.rb
ruby-mext-0.17.0 lib/mext/array/vectorize.rb
ruby-mext-0.16.2 lib/mext/array/vectorize.rb
ruby-mext-0.16.1 lib/mext/array/vectorize.rb
ruby-mext-0.16.0 lib/mext/array/vectorize.rb
ruby-mext-0.15.3 lib/mext/array/vectorize.rb
ruby-mext-0.15.2 lib/mext/array/vectorize.rb