In Files

  • benchmark/bm_ao_render.rb
  • benchmark/bm_app_lc_fizzbuzz.rb
  • benchmark/bm_fib.rb
  • benchmark/bm_so_lists.rb
  • examples/targets/build_config_ArduinoDue.rb
  • examples/targets/build_config_IntelEdison.rb
  • examples/targets/build_config_IntelGalileo.rb
  • examples/targets/build_config_RX630.rb
  • examples/targets/build_config_chipKITMax32.rb
  • minirake
  • mrbgems/mruby-array-ext/test/array.rb
  • mrbgems/mruby-bin-debugger/bintest/mrdb.rb
  • mrbgems/mruby-class-ext/test/module.rb
  • mrbgems/mruby-enum-ext/test/enum.rb
  • mrbgems/mruby-eval/test/eval.rb
  • mrbgems/mruby-io/mrblib/io.rb
  • mrbgems/mruby-io/test/io.rb
  • mrbgems/mruby-kernel-ext/test/kernel.rb
  • mrbgems/mruby-math/test/math.rb
  • mrbgems/mruby-metaprog/test/metaprog.rb
  • mrbgems/mruby-method/test/method.rb
  • mrbgems/mruby-object-ext/mrblib/object.rb
  • mrbgems/mruby-object-ext/test/object.rb
  • mrbgems/mruby-pack/packtest.rb
  • mrbgems/mruby-pack/test/pack.rb
  • mrbgems/mruby-sleep/test/sleep_test.rb
  • mrbgems/mruby-socket/test/unix.rb
  • mrbgems/mruby-string-ext/test/string.rb
  • mrbgems/mruby-struct/mrblib/struct.rb
  • mrbgems/mruby-struct/test/struct.rb
  • mrbgems/mruby-toplevel-ext/mrblib/toplevel.rb
  • mrbgems/mruby-toplevel-ext/test/toplevel.rb

Object

Constants

ARDUINO_PATH

Mac OS X, Arduino IDE <= 1.5.6 ARDUINO_PATH = '/Applications/Arduino.app/Contents/Resources/Java' Mac OS X, Arduino IDE >= 1.5.7 ARDUINO_PATH = '/Applications/Arduino.app/Contents/Java' GNU Linux

BIN_PATH

Arduino IDE <= 1.5.6

FIRST
GALILEO_ARDUINO_PATH

Mac OS X Assume you renamed Arduino.app to Arduino_Galileo.app

GALILEO_BIN_PATH
GNU Linux

ARDUINO_GALILEO_PATH = '/opt/arduino'

GALILEO_SYSROOT
GALILEO_X86_PATH
IF
IMAGE_HEIGHT
IMAGE_WIDTH

AO render benchmark Original program (C) Syoyo Fujita in Javascript (and other languages)

https://code.google.com/p/aobench/

Ruby(yarv2llvm) version by Hideki Miura mruby version by Hideki Miura

INVCMD
IS_EMPTY
LEFT
MPIDE_PATH

Mac OS X MPIDE_PATH = '/Applications/Mpide.app/Contents/Resources/Java' GNU Linux

N
NAO_SAMPLES
NSUBSAMPLES
NUM

from www.bagley.org/~doug/shootout/bench/lists/lists.ruby

PACK_IS_LITTLE_ENDIAN
PIC32_PATH
POKY_EDISON_BIN_PATH
POKY_EDISON_PATH

Mac OS X

POKY_EDISON_SYSROOT
POKY_EDISON_X86_PATH
REST
RIGHT
Rake
SAM_PATH

Arduino IDE >= 1.5.7 BIN_PATH = “#{ARDUINO_PATH}/hardware/tools/gcc-arm-none-eabi-4.8.3-2014q1/bin”

SIZE
STDERR
STDIN
STDOUT
Struct
TARGET_PATH
UTF8STRING

String(Ext) Test

Public Class Methods

bar() click to toggle source
 
               # File mrbgems/mruby-method/test/method.rb, line 230
def self.bar; end
            
foo() click to toggle source
 
               # File mrbgems/mruby-method/test/method.rb, line 416
def foo
end
            
include(*modules) click to toggle source
 
               # File mrbgems/mruby-toplevel-ext/mrblib/toplevel.rb, line 2
def self.include (*modules)
  self.class.include(*modules)
end
            
new() click to toggle source
 
               # File mrbgems/mruby-method/test/method.rb, line 37
def initialize; @done = false; end
            
private(*methods) click to toggle source
 
               # File mrbgems/mruby-toplevel-ext/mrblib/toplevel.rb, line 6
def self.private(*methods)
end
            
protected(*methods) click to toggle source
 
               # File mrbgems/mruby-toplevel-ext/mrblib/toplevel.rb, line 8
def self.protected(*methods)
end
            
public(*methods) click to toggle source
 
               # File mrbgems/mruby-toplevel-ext/mrblib/toplevel.rb, line 10
def self.public(*methods)
end
            

Public Instance Methods

assert_nothing_raised(*exp) click to toggle source
 
               # File mrbgems/mruby-io/test/io.rb, line 5
def assert_nothing_raised(*exp)
  ret = true
  if $mrbtest_assert
    $mrbtest_assert_idx += 1
    msg = exp.last.class == String ? exp.pop : ""
    begin
      yield
    rescue Exception => e
      msg = "#{msg} exception raised."
      diff = "      Class: <#{e.class}>\n" +
        "    Message: #{e.message}"
      $mrbtest_assert.push([$mrbtest_assert_idx, msg, diff])
      ret = false
    end
  end
  ret
end
            
assert_pack(tmpl, packed, unpacked) click to toggle source
 
               # File mrbgems/mruby-pack/test/pack.rb, line 92
def assert_pack tmpl, packed, unpacked
  assert_equal packed, unpacked.pack(tmpl)
  assert_equal unpacked, packed.unpack(tmpl)
end
            
bar(x) click to toggle source
 
               # File mrbgems/mruby-eval/test/eval.rb, line 105
def bar(x)
  instance_eval "def baz; #{x}; end"
end
            
baz(*args) click to toggle source
 
               # File mrbgems/mruby-kernel-ext/test/kernel.rb, line 19
def baz(*args)
  bar(*args)
end
            
between(lo, x, hi) click to toggle source
 
               # File mrbgems/mruby-array-ext/test/array.rb, line 250
def between(lo, x, hi)
  if x < lo
    1
  elsif x > hi
    -1
  else
    0
  end
end
            
check_float(a, b) click to toggle source

Performs fuzzy check for equality on methods returning floats on the basis of the Math::TOLERANCE constant.

 
               # File mrbgems/mruby-math/test/math.rb, line 7
def check_float(a, b)
  tolerance = Math::TOLERANCE
  a = a.to_f
  b = b.to_f
  if a.finite? and b.finite?
    (a-b).abs < tolerance
  else
    true
  end
end
            
clamp(f) click to toggle source
 
               # File benchmark/bm_ao_render.rb, line 171
def clamp(f)
  i = f * 255.5
  if i > 255.0
    i = 255.0
  end
  if i < 0.0
    i = 0.0
  end
  i.to_i
end
            
dig(key,...) → object click to toggle source

Extracts the nested value specified by the sequence of key objects by calling dig at each step, returning nil if any intermediate step is nil.

 
               # File mrbgems/mruby-struct/mrblib/struct.rb, line 94
def dig(idx,*args)
  n = self[idx]
  if args.size > 0
    n&.dig(*args)
  else
    n
  end
end
            
do_eval(code) click to toggle source
 
               # File mrbgems/mruby-eval/test/eval.rb, line 124
def do_eval(code)
  eval(code)
end
            
each() click to toggle source
 
               # File mrbgems/mruby-enum-ext/test/enum.rb, line 150
def each
end
            
foo(*args) click to toggle source
 
               # File mrbgems/mruby-kernel-ext/test/kernel.rb, line 11
def foo(*args)
  caller(*args)
end
            
hello() click to toggle source
 
               # File mrbgems/mruby-class-ext/test/module.rb, line 48
def hello
  "hello"
end
            
hi() click to toggle source
 
               # File mrbgems/mruby-class-ext/test/module.rb, line 40
def hi
  "hi"
end
            
labeled_class(name, supklass = Object, &block) click to toggle source
 
               # File mrbgems/mruby-metaprog/test/metaprog.rb, line 111
def labeled_class(name, supklass = Object, &block)
  Class.new(supklass) do
    (class <<self; self end).class_eval do
      define_method(:to_s) { name }
      alias_method :inspect, :to_s
    end
    class_eval(&block) if block
  end
end
            
labeled_module(name, &block) click to toggle source
 
               # File mrbgems/mruby-metaprog/test/metaprog.rb, line 101
def labeled_module(name, &block)
  Module.new do
    (class <<self; self end).class_eval do
      define_method(:to_s) { name }
      alias_method :inspect, :to_s
    end
    class_eval(&block) if block
  end
end
            
m() click to toggle source
 
               # File mrbgems/mruby-kernel-ext/test/kernel.rb, line 38
def m; __method__; end
            
m0() click to toggle source
 
               # File mrbgems/mruby-method/test/method.rb, line 38
def m0() end
            
m1() click to toggle source
 
               # File mrbgems/mruby-metaprog/test/metaprog.rb, line 215
def m1; end
            
m2() click to toggle source
 
               # File mrbgems/mruby-metaprog/test/metaprog.rb, line 216
def m2;end
            
ma1((a), &b) click to toggle source
 
               # File mrbgems/mruby-method/test/method.rb, line 48
def ma1((a), &b) nil && a end
            
meth() click to toggle source
 
               # File mrbgems/mruby-method/test/method.rb, line 405
def meth() :meth end
            
method_missing(m, *argv) click to toggle source
 
               # File mrbgems/mruby-method/test/method.rb, line 115
def method_missing(m, *argv)
  @m = m
  @argv = argv
  super
end
            
mo1(a = nil, &b) click to toggle source
 
               # File mrbgems/mruby-method/test/method.rb, line 41
def mo1(a = nil, &b) end
            
mo2(a, b = nil) click to toggle source
 
               # File mrbgems/mruby-method/test/method.rb, line 42
def mo2(a, b = nil) end
            
mo3(*a) click to toggle source
 
               # File mrbgems/mruby-method/test/method.rb, line 43
def mo3(*a) end
            
mo4(a, *b, &c) click to toggle source
 
               # File mrbgems/mruby-method/test/method.rb, line 44
def mo4(a, *b, &c) end
            
mo5(a, *b, c) click to toggle source
 
               # File mrbgems/mruby-method/test/method.rb, line 45
def mo5(a, *b, c) end
            
mo6(a, *b, c, &d) click to toggle source
 
               # File mrbgems/mruby-method/test/method.rb, line 46
def mo6(a, *b, c, &d) end
            
mo7(a, b = nil, *c, d, &e) click to toggle source
 
               # File mrbgems/mruby-method/test/method.rb, line 47
def mo7(a, b = nil, *c, d, &e) end
            
otherBasis(basis, n) click to toggle source
 
               # File benchmark/bm_ao_render.rb, line 182
def otherBasis(basis, n)
  basis[2] = Vec.new(n.x, n.y, n.z)
  basis[1] = Vec.new(0.0, 0.0, 0.0)

  if n.x < 0.6 and n.x > -0.6
    basis[1].x = 1.0
  elsif n.y < 0.6 and n.y > -0.6
    basis[1].y = 1.0
  elsif n.z < 0.6 and n.z > -0.6
    basis[1].z = 1.0
  else
    basis[1].x = 1.0
  end

  basis[0] = basis[1].vcross(basis[2])
  basis[0] = basis[0].vnormalize

  basis[1] = basis[2].vcross(basis[0])
  basis[1] = basis[1].vnormalize
end
            
packtest(a, s, t) click to toggle source

a = Array, s = String, t = Template

 
               # File mrbgems/mruby-pack/packtest.rb, line 4
def packtest(a, s, t)
  begin
    r = a.pack(t)
    return if r == s
    puts "#{a.inspect}.pack(#{t.inspect}) -> #{r.inspect} should be #{s.inspect}"
  rescue => r
    unless r.is_a? s
      puts "#{a.inspect}.pack(#{t.inspect}) -> #{r.inspect} should be #{s.inspect}"
    end
  end
end
            
pptest(a, s, t) click to toggle source
 
               # File mrbgems/mruby-pack/packtest.rb, line 22
def pptest(a, s, t)
  packtest(a, s, t)
  unpacktest(a, s, t)
end
            
respond_to_missing?(m, b) click to toggle source
 
               # File mrbgems/mruby-method/test/method.rb, line 67
def respond_to_missing?(m, b)
  m == :nothing
end
            
run() click to toggle source
 
               # File mrbgems/mruby-method/test/method.rb, line 50
def run
  assert_equal(0, method(:m0).arity)
  assert_equal(1, method(:m1).arity)
  assert_equal(2, method(:m2).arity)
  assert_equal(-1, method(:mo1).arity)
  assert_equal(-2, method(:mo2).arity)
  assert_equal(-1, method(:mo3).arity)
  assert_equal(-2, method(:mo4).arity)
  assert_equal(-3, method(:mo5).arity)
  assert_equal(-3, method(:mo6).arity)
  assert_equal(-3, method(:mo7).arity)
  assert_equal(1, method(:ma1).arity)

  assert_equal(-1, method(:__send__).arity)
  assert_equal(-1, method(:nothing).arity)
end
            
run_with_catching_error(&b) click to toggle source
 
               # File mrbgems/mruby-sleep/test/sleep_test.rb, line 1
def run_with_catching_error &b
  e = nil
  begin
    b.call
  rescue => _e
    e = _e
  end

  return e
end
            
tap{|x|...} → obj click to toggle source

Yields x to the block, and then returns x. The primary purpose of this method is to “tap into” a method chain, in order to perform operations on intermediate results within the chain.

(1..10) .tap {|x| puts “original: #{x.inspect}”}

.to_a                .tap {|x| puts "array: #{x.inspect}"}
.select {|x| x%2==0} .tap {|x| puts "evens: #{x.inspect}"}
.map { |x| x*x }     .tap {|x| puts "squares: #{x.inspect}"}
 
               # File mrbgems/mruby-object-ext/mrblib/object.rb, line 15
def tap
  yield self
  self
end
            
test_lists() click to toggle source
 
               # File benchmark/bm_so_lists.rb, line 6
def test_lists()
  # create a list of integers (Li1) from 1 to SIZE
  li1 = (1..SIZE).to_a
  # copy the list to li2 (not by individual items)
  li2 = li1.dup
  # remove each individual item from left side of li2 and
  # append to right side of li3 (preserving order)
  li3 = Array.new
  while (not li2.empty?)
    li3.push(li2.shift)
  end
  # li2 must now be empty
  # remove each individual item from right side of li3 and
  # append to right side of li2 (reversing list)
  until li3.empty?
    li2.push(li3.pop)
  end
  # li3 must now be empty
  # reverse li1 in place
  li1.reverse!
  # check that first item is now SIZE
  if li1[0] != SIZE
    p "not SIZE"
    0
  else
    # compare li1 and li2 for equality
    if li1 != li2
      return(0)
    else
      # return the length of the list
      li1.length
    end
  end
end
            
to_array(proc) click to toggle source
 
               # File benchmark/bm_app_lc_fizzbuzz.rb, line 28
def to_array(proc)
  array = []

  until to_boolean(IS_EMPTY[proc])
    array.push(FIRST[proc])
    proc = REST[proc]
  end

  array
end
            
to_boolean(proc) click to toggle source
 
               # File benchmark/bm_app_lc_fizzbuzz.rb, line 24
def to_boolean(proc)
  IF[proc][true][false]
end
            
to_char(c) click to toggle source
 
               # File benchmark/bm_app_lc_fizzbuzz.rb, line 39
def to_char(c)
  '0123456789BFiuz'.slice(to_integer(c))
end
            
to_integer(proc) click to toggle source
 
               # File benchmark/bm_app_lc_fizzbuzz.rb, line 20
def to_integer(proc)
  proc[-> n { n + 1 }][0]
end
            
to_string(s) click to toggle source
 
               # File benchmark/bm_app_lc_fizzbuzz.rb, line 43
def to_string(s)
  to_array(s).map { |c| to_char(c) }.join
end
            
unixserver_test_block() click to toggle source
 
               # File mrbgems/mruby-socket/test/unix.rb, line 3
def unixserver_test_block
  path = SocketTest.tmppath
  File.unlink path rescue nil
  begin
    result = yield path
  ensure
    File.unlink path rescue nil
  end
  result
end
            
unpacktest(a, s, t) click to toggle source
 
               # File mrbgems/mruby-pack/packtest.rb, line 16
def unpacktest(a, s, t)
  r = s.unpack(t)
  return if r == a
  puts "#{s.inspect}.unpack(#{t.inspect}) -> #{r.inspect} should be #{a.inspect}"
end
            
with_unix_client() click to toggle source
 
               # File mrbgems/mruby-socket/test/unix.rb, line 22
def with_unix_client
  with_unix_server do |path, server|
    UNIXSocket.open(path) do |csock|
      ssock = server.accept
      begin
        yield path, server, ssock, csock
      ensure
        ssock.close unless ssock.closed? rescue nil
      end
    end
  end
end
            
with_unix_server() click to toggle source
 
               # File mrbgems/mruby-socket/test/unix.rb, line 14
def with_unix_server
  unixserver_test_block do |path|
    UNIXServer.open(path) { |server|
      yield path, server
    }
  end
end
            

Private Instance Methods

fib(n) click to toggle source
 
               # File benchmark/bm_fib.rb, line 2
def fib n
  return n if n < 2
  fib(n-2) + fib(n-1)
end