diff options
Diffstat (limited to 'mrbgems/mruby-numeric-ext')
| -rw-r--r-- | mrbgems/mruby-numeric-ext/mrbgem.rake | 1 | ||||
| -rw-r--r-- | mrbgems/mruby-numeric-ext/mrblib/numeric_ext.rb | 5 | ||||
| -rw-r--r-- | mrbgems/mruby-numeric-ext/src/numeric_ext.c | 1 | ||||
| -rw-r--r-- | mrbgems/mruby-numeric-ext/test/numeric.rb | 21 |
4 files changed, 23 insertions, 5 deletions
diff --git a/mrbgems/mruby-numeric-ext/mrbgem.rake b/mrbgems/mruby-numeric-ext/mrbgem.rake index 010804058..3d8be7cd5 100644 --- a/mrbgems/mruby-numeric-ext/mrbgem.rake +++ b/mrbgems/mruby-numeric-ext/mrbgem.rake @@ -1,4 +1,5 @@ MRuby::Gem::Specification.new('mruby-numeric-ext') do |spec| spec.license = 'MIT' spec.author = 'mruby developers' + spec.summary = 'extensional Numeric class' end diff --git a/mrbgems/mruby-numeric-ext/mrblib/numeric_ext.rb b/mrbgems/mruby-numeric-ext/mrblib/numeric_ext.rb new file mode 100644 index 000000000..dfc6ba87c --- /dev/null +++ b/mrbgems/mruby-numeric-ext/mrblib/numeric_ext.rb @@ -0,0 +1,5 @@ +module Integral + def div(other) + self.divmod(other)[0] + end +end diff --git a/mrbgems/mruby-numeric-ext/src/numeric_ext.c b/mrbgems/mruby-numeric-ext/src/numeric_ext.c index bb6955b45..22c1668fa 100644 --- a/mrbgems/mruby-numeric-ext/src/numeric_ext.c +++ b/mrbgems/mruby-numeric-ext/src/numeric_ext.c @@ -1,6 +1,5 @@ #include <limits.h> #include "mruby.h" -#include "mruby/numeric.h" static mrb_value mrb_int_chr(mrb_state *mrb, mrb_value x) diff --git a/mrbgems/mruby-numeric-ext/test/numeric.rb b/mrbgems/mruby-numeric-ext/test/numeric.rb index 6c1cf0fce..4d9e83113 100644 --- a/mrbgems/mruby-numeric-ext/test/numeric.rb +++ b/mrbgems/mruby-numeric-ext/test/numeric.rb @@ -2,9 +2,22 @@ # Numeric(Ext) Test assert('Integer#chr') do - assert_equal(65.chr, "A") - assert_equal(0x42.chr, "B") + assert_equal("A", 65.chr) + assert_equal("B", 0x42.chr) - # multibyte encoding (not support yet) - assert_raise(RangeError) { 12345.chr } + if "こんにちわ世界".size == 7 then + # UTF-8 gem is configured + assert_raise(RangeError) { 0x110000.chr } + else + # multibyte encoding (not support yet) + assert_raise(RangeError) { 256.chr } + end +end + +assert('Integer#div') do + assert_equal 52, 365.div(7) +end + +assert('Float#div') do + assert_float 52, 365.2425.div(7) end |
