KOBAYASHI Shuji
05056ddac4
Fix missing assertions in mruby-fiber test
2019-05-30 21:42:01 +09:00
KOBAYASHI Shuji
03fce2e206
Kernel#itself should not be a module function
2019-05-29 15:57:18 +09:00
Yukihiro "Matz" Matsumoto
855f2cdeea
Slightly simplify Rational#==; ref #4475
2019-05-29 11:49:21 +09:00
Yukihiro "Matz" Matsumoto
a1e1af44d2
Merge pull request #4475 from shuujii/fix-Rational-eq-Complex
...
Fix `Rational#==(Complex)`
2019-05-29 11:46:42 +09:00
KOBAYASHI Shuji
ffc915fdee
Fix missing assertions in mruby-pack test
2019-05-28 18:26:01 +09:00
KOBAYASHI Shuji
902b2ce3c6
Fix Rational#==(Complex)
...
Consider a Numreic class like `Complex` that does not have `<=>` but `==`
works (`0i == 0r` is `true`).
2019-05-27 21:29:49 +09:00
KOBAYASHI Shuji
534b578da7
Make some functions static in mrbgems/mruby-metaprog/src/metaprog.c
2019-05-27 18:26:54 +09:00
Yukihiro "Matz" Matsumoto
459c439243
Merge pull request #4472 from shuujii/move-mrb_mod_s_nesting-to-mruby-metaprog-gem-from-the-core
...
Move `mrb_mod_s_nesting()` to `mruby-metaprog` gem from the core
2019-05-27 08:17:06 +09:00
KOBAYASHI Shuji
779251de64
Move mrb_mod_s_nesting() to mruby-metaprog gem from the core
2019-05-26 20:32:04 +09:00
KOBAYASHI Shuji
0bdb185a6f
Add Complex.rect
2019-05-26 20:17:03 +09:00
Yukihiro "Matz" Matsumoto
4261ba9443
Remove some overhead from methods defined in Ruby in Complex.
2019-05-26 09:19:29 +09:00
dearblue
56e0e1934d
Name the return value of mrb_range_beg_len()
2019-05-25 12:12:21 +09:00
KOBAYASHI Shuji
240bbc39e1
Fix the order of "expected" and "actual" in mruby-time test
2019-05-24 21:02:22 +09:00
KOBAYASHI Shuji
48903850e9
Freeze Rational and Complex objects
2019-05-23 13:40:49 +09:00
KOBAYASHI Shuji
8513abd404
Kernel#Rational requires numerator
2019-05-22 19:57:35 +09:00
Yukihiro "Matz" Matsumoto
c02e63eb77
Use MRB_TT_ISTRUCT for Complex numbers if possible.
2019-05-21 21:08:26 +09:00
Yukihiro "Matz" Matsumoto
fccec8964a
Implements part of Complex class in C.
2019-05-21 21:08:26 +09:00
Yukihiro "Matz" Matsumoto
f6e4145ad9
Remove Complex(string) complex generation.
...
It should raise an error.
2019-05-21 21:08:26 +09:00
Yukihiro "Matz" Matsumoto
b7f85b9df9
Should not refer Float class in case of MRB_WITHOUT_FLOAT.
...
This commit removes `Float` from `rational.c`.
2019-05-21 21:08:26 +09:00
KOBAYASHI Shuji
3b46831da8
Move **,/,quo,div and comparison methods to Integral from Numeric
...
Having these methods in Numeric can get in the way of creating subclasses of
Numeric because they only support Fixnum and Float.
2019-05-21 20:43:42 +09:00
KOBAYASHI Shuji
5d6c1794ad
Revert part of #4457
2019-05-21 09:31:06 +09:00
Yukihiro "Matz" Matsumoto
70e754e6da
Merge pull request #4457 from shuujii/change-the-order-of-expected-and-actual-in-mruby-rational-test
...
Change the order of "expected" and "actual" in `mruby-rational` test
2019-05-21 07:56:21 +09:00
KOBAYASHI Shuji
3db5d7fe3d
Drop dependency from mruby-rational to mruby-object-ext
2019-05-20 18:36:13 +09:00
KOBAYASHI Shuji
97600ded8d
Change the order of "expected" and "actual" in mruby-rational test
2019-05-20 18:24:18 +09:00
Yukihiro "Matz" Matsumoto
e60891e453
Merge pull request #4454 from shuujii/fix-Rational-cmp-Numeric
...
Fix `Rational#<=>(Numeric)`
2019-05-19 22:24:49 +09:00
Yukihiro "Matz" Matsumoto
3e8b19b00e
Merge pull request #4453 from shuujii/move-Kernel-instance_eval-to-BasicObject
...
Move `Kernel#instance_eval` to `BasicObject`
2019-05-19 22:23:57 +09:00
Yukihiro "Matz" Matsumoto
8170f6899c
Merge pull request #4450 from shuujii/move-Kernel-instance_exec-to-BasicObject
...
Move `Kernel#instance_exec` to `BasicObject`
2019-05-19 22:21:31 +09:00
Yukihiro "Matz" Matsumoto
8e637bdd83
Should clarify the role of mruby-kernel-ext and mruby-object-ext; close #4449
...
The former should contain function like methods, and the latter should
contain methods shared by all objects.
2019-05-19 22:17:56 +09:00
KOBAYASHI Shuji
a6eb01837b
Fix Rational#<=>(Numeric)
...
Reported by Sergey Ukrainskiy: https://github.com/mruby/mruby/commit/f5fb1307b017fb972c12b4ec4b1866d789b0ca09#r33590698
2019-05-19 13:52:18 +09:00
KOBAYASHI Shuji
9c79c28604
Move Kernel#instance_eval to BasicObject
2019-05-18 21:17:47 +09:00
KOBAYASHI Shuji
ef5dd5d31d
Move Kernel#instance_exec to BasicObject
2019-05-18 19:19:52 +09:00
KOBAYASHI Shuji
6c9c189e4b
Move Object#(Rational|Complex) to Kernel
2019-05-18 18:31:55 +09:00
Yukihiro "Matz" Matsumoto
bd7328f5e6
Implement Rational._new in C.
2019-05-18 11:23:59 +09:00
Yukihiro "Matz" Matsumoto
ace0d3949b
Support MRB_WITHOUT_FLOAT.
...
I assume there's no realistic usage of `Rational` with
`MRB_WITHOUT_FLOAT`. But just for consistency.
2019-05-18 08:38:45 +09:00
Yukihiro "Matz" Matsumoto
132c04bcc8
Merge pull request #4443 from shuujii/move-Integral-zero-nonzero-positive-negative-to-Numeric
...
Move `Integral#(zero|nonzero|positive|negative)?` to `Numeric`
2019-05-17 21:30:39 +09:00
Yukihiro "Matz" Matsumoto
eecac4f18b
Merge pull request #4442 from shuujii/drop-dependency-from-mruby-rational-to-mruby-numeric-ext
...
Drop dependency from `mruby-rational` to `mruby-numeric-ext`
2019-05-17 21:27:47 +09:00
KOBAYASHI Shuji
c5c39f585b
Move Integral#(zero|nonzero|positive|negative)? to Numeric
...
Because these methods work if object is `Comparable`, and `Numeric` is
`Comparable`.
2019-05-17 21:13:31 +09:00
KOBAYASHI Shuji
aa41a5c9af
Drop dependency from mruby-rational to mruby-numeric-ext
2019-05-17 20:44:48 +09:00
KOBAYASHI Shuji
eeb95e058a
Fix Numeric#to_r
2019-05-17 19:53:31 +09:00
Yukihiro "Matz" Matsumoto
b6e9fab649
Implement part of Rational in C.
2019-05-17 16:37:34 +09:00
Yukihiro "Matz" Matsumoto
cec92673ae
Avoid direct access to instance variables in rational.rb.
2019-05-17 16:22:23 +09:00
Yukihiro "Matz" Matsumoto
912d23634d
Fixed wrong overloading.
...
`float op rational` should return `float`, since float is an inexact
value.
2019-05-17 16:18:46 +09:00
Yukihiro "Matz" Matsumoto
0d61bcd823
Use div (integer divition) instead of / for rational numbers.
2019-05-17 11:27:52 +09:00
Yukihiro "Matz" Matsumoto
223defd62a
Move Numeric#div to the core.
2019-05-17 11:26:16 +09:00
Yukihiro "Matz" Matsumoto
4bc48d0b76
Refactor time.c regarding memory allocation.
2019-05-16 22:49:27 +09:00
KOBAYASHI Shuji
f5fb1307b0
Fix Rational#==
2019-05-16 22:09:56 +09:00
Yukihiro "Matz" Matsumoto
9b604abc83
Enable YYSTACK_USE_ALLOCA.
...
It used heap allocated memory for the parser stack, but there's
possibility of parser termination by exceptions. In that case, the
parser stack memory is leaked.
We were afraid of stack consumption, but parser stack size is only 4KB,
so we don't have to worry about it (at least for the parser).
2019-05-16 11:46:37 +09:00
Yukihiro "Matz" Matsumoto
7aff5507dd
Avoid potential type mismatch warnings in pack.c.
2019-05-16 10:15:11 +09:00
Yukihiro "Matz" Matsumoto
2f14254142
Avoid potential integer overflow.
2019-05-16 10:13:52 +09:00
Yukihiro "Matz" Matsumoto
6af0effda1
Merge pull request #4435 from shuujii/fix-typo-in-mrbgems-mruby-io-src-file_test.c
...
Fix typo in `mrbgems/mruby-io/src/file_test.c` [ci skip]
2019-05-15 17:00:46 +09:00