Yukihiro "Matz" Matsumoto
db8368fa86
numeric.c: remove bit operations methods from Float class; #6197
...
mruby used to use float numbers for overflown integers before we
implemented big integers. Now we don't need bit operations for float
numbers anymore. Also removed tests for shift operations for float
numbers.
2024-03-11 11:44:41 +09:00
Yukihiro "Matz" Matsumoto
ecd2d8c11e
wrap method arguments by parentheses as convention
2023-02-01 14:33:46 +09:00
Yukihiro "Matz" Matsumoto
6f46f88873
numeric.c: fix: -0.0.abs returned -0.0.
2021-08-23 10:53:23 +09:00
Yukihiro "Matz" Matsumoto
8ca40da3fe
test/float.rb: avoid 1.0e16 in tests without precision specified.
2021-08-21 15:25:59 +09:00
KOBAYASHI Shuji
6731f935cc
Float::NAN/0 should be Float::NAN; ref a0b3378b3
...
#### Before this patch:
```console
$ bin/mruby -e 'p(Float::NAN/0)'
Infinity
```
#### After this patch (same as Ruby):
```console
$ bin/mruby -e 'p(Float::NAN/0)'
NaN
```
2021-03-18 17:10:51 +09:00
Yukihiro "Matz" Matsumoto
f4a3dc4f07
Add tests for Integer#quo and Float#quo; #5268
2021-01-17 23:02:36 +09:00
Yukihiro "Matz" Matsumoto
1974aa0f72
Update Float#to_s to keep trailing zero as CRuby does; ref 68cebb6
2020-11-21 14:38:13 +09:00
KOBAYASHI Shuji
8bd1bc47b3
Always add trailing .0 in Float#inspect; ref #4225
...
Trailing `.0` is removed from `Float#to_s` and `Float#inspect` at
9d08025b . However, I think the more human-readable format is better
for `Float#inspect`.
For example, in the `Float#to_s` format, the failure message is not
well understood when testing values including types by `eql?` (e.g.
`Numeric#step` test).
```ruby
assert "example" do
exp = 1.0
act = 1
assert_operator(exp, :eql?, act) #=> Expected 1 to be eql? 1.
end
```
2020-10-12 16:21:45 +09:00
Yukihiro "Matz" Matsumoto
8a87549315
Rename float configuration option names.
...
- `MRB_WITHOUT_FLOAT` => `MRB_NO_FLOAT`
- `MRB_USE_FLOAT` => `MRB_USE_FLOAT32`
The former is to use `USE_XXX` naming convention. The latter is to make
sure `float` is 32bit float and not floating point number in general.
2020-10-12 16:21:40 +09:00
Yukihiro "Matz" Matsumoto
9d08025b8b
Revert part of #4225
...
Since in mruby, Integer and Float interchange frequently (mostly on
overflow), so adding explicit `.0` can cause problems sometimes.
For example:
https://github.com/mattn/mruby-json/pull/40
https://github.com/pepabo/mruby-msd/pull/13
https://github.com/mattn/mruby-json/pull/42
2019-09-07 22:27:30 +09:00
KOBAYASHI Shuji
9f4147f28e
Fix "ambiguous first argument" warning in test/t/float.rb
2019-04-23 21:02:42 +09:00
KOBAYASHI Shuji
0debf154ee
Add assert_predicate and assert_operator
2019-04-22 22:26:11 +09:00
Yukihiro "Matz" Matsumoto
f7e05c7d22
Update float test values to avoid precision errors.
2019-03-25 16:54:34 +09:00
Yukihiro "Matz" Matsumoto
ce67561511
Avoid infinite binary floating numbers in float.
2019-03-25 16:21:50 +09:00
KOBAYASHI Shuji
a41b02ab91
Fix Float#eql?
2019-03-21 21:36:54 +09:00
Yukihiro "Matz" Matsumoto
298807fa4e
Avoid using infinite binary floating point numbers in tests.
2019-03-15 15:25:43 +09:00
KOBAYASHI Shuji
9f081183d2
Improve compatibility to CRuby for Float#to_s
...
Bfore:
Float::INFINITY.to_s #=> "inf"
50.0.to_s #=> "50"
1e20.to_s #=> "1e+20"
After / CRuby:
Float::INFINITY.to_s #=> "Infinity"
50.0.to_s #=> "50.0"
1e20.to_s #=> "1.0e+20"
2019-01-13 19:59:22 +09:00
Yukihiro "Matz" Matsumoto
cca19532c5
Remove Kernel#class_defined? which is not available in CRuby; #3829
2019-01-03 11:34:35 +09:00
Yukihiro "Matz" Matsumoto
e14387440e
Skip test/t/float.rb tests; ref #3827
2017-12-13 08:45:46 +09:00
ksss
db3573e0bf
Should raise FloatDomainError
2017-03-29 11:59:19 +09:00
cremno
bb141e5532
fix ambiguous first argument warning
...
/home/travis/build/mruby/mruby/test/t/float.rb:201:17:
ambiguous first argument; put parentheses or even spaces
2015-11-06 18:35:19 +01:00
Yukihiro "Matz" Matsumoto
74696ffd96
Float << and >> should be more compatible to Fixnum
2015-09-02 22:29:01 +09:00
take_cheeze
ec5b055694
Move direct superclass checking to test/t/superclass.rb.
2014-06-15 15:02:21 +09:00
ksss
8891cea41c
Float#round fix bug for infinity and nan cases
2014-03-21 22:24:33 +09:00
ksss
0fab9d557e
float + nil should be raise TypeError
2014-03-16 23:39:58 +09:00
Tomoyuki Sahara
9686890ab3
Fix Float#divmod.
2014-03-04 10:51:36 +09:00
Tomoyuki Sahara
7bf63c2876
add Float#nan?
2014-02-03 15:18:52 +09:00
Jun Hiroe
edb0810c1a
I fix order of actual and expect test value in float.rb.
2013-08-02 20:54:19 +09:00
Daniel Bovensiepen
8d38d9eaf1
Fix float parenthese warning
2013-06-14 22:16:38 +08:00
Daniel Bovensiepen
04191cc829
Improve Float Tests
2013-06-14 21:50:22 +08:00
Xuejie Xiao
a9c8ae49eb
Use check_float when testing equality for float values
2012-11-20 23:02:16 -05:00
Yukihiro Matsumoto
0270d11c81
float do not have enough precision to round if MRB_USE_FLOAT is set
2012-08-01 00:45:12 +09:00
Akira Kuroda
9dd3ac36d1
add test cases for floor, inifinite?, truncate, ceil, and round
2012-07-22 21:53:58 +09:00
Daniel Bovensiepen
0c2d74020a
Add more superclass tests
2012-06-03 23:31:53 +08:00
Daniel Bovensiepen
31e9705022
Add Test cases for Literals, Enumeration, Exceptions and clean line endings
2012-05-29 01:20:46 +08:00
Yukihiro Matsumoto
52b2d092d3
test t/*.rb spacing fix
2012-05-23 12:00:49 +09:00
Daniel Bovensiepen
8bf21cdeae
Finish all Float ISO Tests
2012-05-19 02:21:26 +08:00