summaryrefslogtreecommitdiffhomepage
path: root/src/numeric.c
AgeCommit message (Collapse)Author
2017-10-17Add `Numeric#{finite?,infinite?}`; CRuby2.4Yukihiro "Matz" Matsumoto
2017-10-11Add MRB_WITHOUT_FLOATYAMAMOTO Masaya
2017-09-27fix: src\numeric.c(1215): warning C4244: 'function': conversion from ↵Tomasz Dąbrowski
'mrb_int' to 'int', possible loss of data
2017-09-27fix: src\numeric.c(954): warning C4334: '<<': result of 32-bit shift ↵Tomasz Dąbrowski
implicitly converted to 64 bits (was 64-bit shift intended?)
2017-09-27fix: src\numeric.c(897): warning C4244: 'function': conversion from ↵Tomasz Dąbrowski
'mrb_int' to 'mrb_float', possible loss of data
2017-09-02Trying to make the source code more understandable by removing mixing of ↵Flavio Medeiros
ternary if statements with attributions.
2017-08-22Remove possible path that leaves a local variable uninitialized.Yukihiro "Matz" Matsumoto
2017-08-10Remove redundant `flo_hash` function.Yukihiro "Matz" Matsumoto
`flo_hash` implemented `15.2.8.3.18` but `Kernel#hash` (15.3.1.3.15) now works for numbers.
2017-08-08Float values divided by zero should honor signs; fix #3766Yukihiro "Matz" Matsumoto
It also fixes unexpected resurrection of #3745 by #3752
2017-07-26`(0).div(0.0)` should be NaN; fix #3754Yukihiro "Matz" Matsumoto
2017-07-25`(0.0).div(0)` should not be infinity; fix #3753Yukihiro "Matz" Matsumoto
2017-07-05Avoid undefined behavior of left shifting negative integer; #3728Yukihiro "Matz" Matsumoto
2017-06-17Use `mrb_int` instead of `int`.Yukihiro "Matz" Matsumoto
2017-05-31Avoid infinite loop on negative exponent; fix #3677Yukihiro "Matz" Matsumoto
2017-05-27Fixed rounding functions (round,ceil,floor,truncate) in MRB_INT64.Yukihiro "Matz" Matsumoto
They didn't work well with inexact numbers (inf,nan). Fix #3671
2017-05-26Add new range check macro FIXABLE_FLOAT(); ref #3652Yukihiro "Matz" Matsumoto
When MRB_INT64, valid value range of mrb_int is bigger than double, which only has 53 bits significant precision.
2017-05-26Fix indentation in mrb_init_numeric()Yukihiro "Matz" Matsumoto
2017-05-26fixup! Let Fixnum#{ceil,floor,round,truncate} to return itself; #3652Yukihiro "Matz" Matsumoto
2017-05-26Let Fixnum#{ceil,floor,round,truncate} to return itself; #3652Yukihiro "Matz" Matsumoto
2017-05-26Try our own `ipow()` if both base and exp are fixnums; fix #3652Yukihiro "Matz" Matsumoto
2017-04-21`mrb_int` may overflow in bit-shifting; fix #3620Yukihiro "Matz" Matsumoto
2017-04-21Bit-shifting zero should be zero; ref #3620Yukihiro "Matz" Matsumoto
2017-04-03Unify `else` clause styleYukihiro "Matz" Matsumoto
2017-03-29Should raise FloatDomainErrorksss
2017-03-20Add explicit cast from float to mrb_int.Yukihiro "Matz" Matsumoto
2017-01-01Initialize potentially uninitialized variable zYukihiro "Matz" Matsumoto
2016-12-08fix build on vs2013-vs2015Yasuhiro Matsumoto
2016-11-30Prohibit instantiation of immediate objectsYukihiro "Matz" Matsumoto
2016-11-23Implement Float shift methods in CYukihiro "Matz" Matsumoto
2016-11-22int64_value(): use FIXABLE()Yukihiro "Matz" Matsumoto
2016-11-22accept floats as bit operator operands; fix #3260Yukihiro "Matz" Matsumoto
2016-11-22Removed fix_shift_get_width()Yukihiro "Matz" Matsumoto
Fixnum is usually big enough for shift width.
2016-11-22add bit operators ~,&,|,^ to Float class (mruby special)Yukihiro "Matz" Matsumoto
2016-09-28Removed trailing spacesNobuyoshi Nakada
2016-05-10use mrb_int_mul_overflow()cremno
2015-11-27include changed from by quotes ("") to by brackets (<>); close #3032Yukihiro "Matz" Matsumoto
2015-11-19integer range check was moved to mrb_flo_to_fixnum(); ref #3025Yukihiro "Matz" Matsumoto
2015-11-18Bugfix nagative-number lshift() bit overflowmurase_syuka
2015-11-18Bugfix lshift() bit overflow; close #3023murase_syuka
2015-11-16fix commentmurase_syuka
2015-10-20Increasing docs coverageSeba Gamboa
2015-09-02Integer << and >> to use Float instead of raising RangeErrorYukihiro "Matz" Matsumoto
2015-08-07FIXABLE() may work wrong on MRB_INT64; fix #2909Yukihiro "Matz" Matsumoto
2015-06-29Avoid a narrowing cast in flo_round under MRB_INT64.Simon Génier
2015-06-24Remove unnecessary backticks.Franck Verrot
Dr Markus Kuhn published in 1999 an article [1] explaining in details why we shouldn't use the ASCII grave accent (0x60) as a left quotation. Backticks have been used most notably to produce nice-looking LaTeX documents but it doesn't seem to be an issue on modern platforms and for the oldest ones, there are workarounds as mentioned by Dr Kuhn. [1]: https://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
2015-02-13re-implement mrb_float_to_str()cremno
The new implementation is backwards incompatible, but I couldn't find any usage outside mruby and I also couldn't think of a different and good name. All ISO C99 printf conversion specifiers for floating point numbers and an optional precision are supported. It is largely based on code from the MIT licensed musl libc (http://www.musl-libc.org/) and its floating point printing is exact (unlike the current code behind Float#to_s).
2014-11-12add Float::{INFINITY,NAN} if availableYukihiro "Matz" Matsumoto
2014-10-02Pacify MSVC warnings for numeric.c, proc.c, and symbol.cHiroshi Mimaki
2014-08-30remove unnecessary MRB_API from mrb_num_div(); close #2578Yukihiro "Matz" Matsumoto
2014-08-26Merge pull request #2561 from cubicdaiya/issues/space_EOLYukihiro "Matz" Matsumoto
Remove spaces in end-of-line.