BasicObject
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
Arduino IDE <= 1.5.6
Mac OS X Assume you renamed Arduino.app to Arduino_Galileo.app
GNU Linux
ARDUINO_GALILEO_PATH = '/opt/arduino'
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
Mac OS X MPIDE_PATH = '/Applications/Mpide.app/Contents/Resources/Java' GNU Linux
Mac OS X
Arduino IDE >= 1.5.7 BIN_PATH = “#{ARDUINO_PATH}/hardware/tools/gcc-arm-none-eabi-4.8.3-2014q1/bin”
String(Ext) Test
# File mrbgems/mruby-toplevel-ext/mrblib/toplevel.rb, line 2 def self.include (*modules) self.class.include(*modules) end
# File mrbgems/mruby-method/test/method.rb, line 37 def initialize; @done = false; end
# File mrbgems/mruby-toplevel-ext/mrblib/toplevel.rb, line 6 def self.private(*methods) end
# File mrbgems/mruby-rational/test/rational.rb, line 44 def assert_cmp(exp, o1, o2) if exp == (o1 <=> o2) pass else flunk "", " Expected #{o1.inspect} <=> #{o2.inspect} to be #{exp}." end end
# File mrbgems/mruby-array-ext/test/array.rb, line 17 def assert_combination(exp, receiver, *args) assert_permutation_combination(exp, receiver, :combination, *args) end
# File mrbgems/mruby-complex/test/complex.rb, line 1 def assert_complex(real, exp) assert "assert_complex" do assert_float real.real, exp.real assert_float real.imaginary, exp.imaginary end end
# File mrbgems/mruby-rational/test/rational.rb, line 32 def assert_equal_rational(exp, o1, o2) assert "assert_equal_rational" do if exp assert_operator(o1, :==, o2) assert_not_operator(o1, :!=, o2) else assert_not_operator(o1, :==, o2) assert_operator(o1, :!=, o2) end end end
# File mrbgems/mruby-io/test/io.rb, line 7 def assert_io_open(meth) assert "assert_io_open" do fd = IO.sysopen($mrbtest_io_rfname) assert_equal Fixnum, fd.class io1 = IO.__send__(meth, fd) begin assert_equal IO, io1.class assert_equal $mrbtest_io_msg, io1.read ensure io1.close end io2 = IO.__send__(meth, IO.sysopen($mrbtest_io_rfname))do |io| if meth == :open assert_equal $mrbtest_io_msg, io.read else flunk "IO.#{meth} does not take block" end end io2.close unless meth == :open end end
# File mrbgems/mruby-bin-mruby/bintest/mruby.rb, line 4 def assert_mruby(exp_out, exp_err, exp_success, args) out, err, stat = Open3.capture3(cmd("mruby"), *args) assert "assert_mruby" do assert_operator(exp_out, :===, out, "standard output") assert_operator(exp_err, :===, err, "standard error") assert_equal(exp_success, stat.success?, "exit success?") end end
# File mrbgems/mruby-pack/test/pack.rb, line 3 def assert_pack tmpl, packed, unpacked t = tmpl.inspect assert "assert_pack" do assert_equal packed, unpacked.pack(tmpl), "#{unpacked.inspect}.pack(#{t})" assert_equal unpacked, packed.unpack(tmpl), "#{packed.inspect}.unpack(#{t})" end end
# File mrbgems/mruby-array-ext/test/array.rb, line 13 def assert_permutation(exp, receiver, *args) assert_permutation_combination(exp, receiver, :permutation, *args) end
Array(Ext) Test
# File mrbgems/mruby-array-ext/test/array.rb, line 4 def assert_permutation_combination(exp, receiver, meth, *args) act = [] ret = receiver.__send__(meth, *args) { |v| act << v } assert "assert_#{meth}" do assert_equal(exp, act.sort) assert_same(receiver, ret) end end
# File mrbgems/mruby-rational/test/rational.rb, line 25 def assert_rational(exp, real) assert "assert_rational" do assert_float exp.numerator, real.numerator assert_float exp.denominator, real.denominator end end
# File mrbgems/mruby-enumerator/test/enumerator.rb, line 9 def assert_take(exp, enumerator) result = [] n = exp.size enumerator.each do |v| result << v n -= 1 break if n == 0 end if n > 0 assert_equal exp, result end
# File mrbgems/mruby-string-ext/test/string.rb, line 6 def assert_upto(exp, receiver, *args) act = [] receiver.upto(*args) { |v| act << v } assert_equal exp, act end
# File mrbgems/mruby-eval/test/eval.rb, line 105 def bar(x) instance_eval "def baz; #{x}; end" end
# File mrbgems/mruby-kernel-ext/test/kernel.rb, line 19 def baz(*args) bar(*args) end
# File mrbgems/mruby-array-ext/test/array.rb, line 268 def between(lo, x, hi) if x < lo 1 elsif x > hi -1 else 0 end end
# 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
# File mrbgems/mruby-eval/test/eval.rb, line 124 def do_eval(code) eval(code) end
Proc(Ext) Test
# File mrbgems/mruby-proc-ext/test/proc.rb, line 4 def enable_debug_info? return @enable_debug_info unless @enable_debug_info == nil begin raise rescue => e @enable_debug_info = !e.backtrace.empty? end end
# File benchmark/bm_fib.rb, line 2 def fib n return n if n < 2 fib(n-2) + fib(n-1) end
# File mrbgems/mruby-kernel-ext/test/kernel.rb, line 11 def foo(*args) caller(*args) end
# File mrbgems/mruby-class-ext/test/module.rb, line 102 def hello "hello" end
# File mrbgems/mruby-metaprog/test/metaprog.rb, line 156 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
# File mrbgems/mruby-metaprog/test/metaprog.rb, line 146 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
# File mrbgems/mruby-kernel-ext/test/kernel.rb, line 38 def m; __method__; end
# File mrbgems/mruby-method/test/method.rb, line 48 def ma1((a), &b) nil && a end
# File mrbgems/mruby-method/test/method.rb, line 424 def meth() :meth end
# File mrbgems/mruby-method/test/method.rb, line 115 def method_missing(m, *argv) @m = m @argv = argv super end
# File mrbgems/mruby-method/test/method.rb, line 41 def mo1(a = nil, &b) end
# File mrbgems/mruby-method/test/method.rb, line 42 def mo2(a, b = nil) end
# File mrbgems/mruby-method/test/method.rb, line 44 def mo4(a, *b, &c) end
# File mrbgems/mruby-method/test/method.rb, line 45 def mo5(a, *b, c) end
# File mrbgems/mruby-method/test/method.rb, line 46 def mo6(a, *b, c, &d) end
# File mrbgems/mruby-method/test/method.rb, line 47 def mo7(a, b = nil, *c, d, &e) end
# 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
# File mrbgems/mruby-method/test/method.rb, line 67 def respond_to_missing?(m, b) m == :nothing end
# 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
# 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
# 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
# File benchmark/bm_app_lc_fizzbuzz.rb, line 24 def to_boolean(proc) IF[proc][true][false] end
# File benchmark/bm_app_lc_fizzbuzz.rb, line 39 def to_char(c) '0123456789BFiuz'.slice(to_integer(c)) end
# File benchmark/bm_app_lc_fizzbuzz.rb, line 20 def to_integer(proc) proc[-> n { n + 1 }][0] end
# File benchmark/bm_app_lc_fizzbuzz.rb, line 43 def to_string(s) to_array(s).map { |c| to_char(c) }.join end
# 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
# 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