Yukihiro "Matz" Matsumoto
cf2e78de44
numeric.c: fixed a silly bug related to pointer decrement.
2021-05-31 02:59:33 +09:00
Yukihiro "Matz" Matsumoto
be647acd3e
sprintf.c: avoid object allocation in integer formatting.
2021-05-30 19:57:56 +09:00
Yukihiro "Matz" Matsumoto
8a4bcc58c9
numeric.c: introduce mrb_int_to_cstr() to dump mrb_int.
...
* refactor `mrb_integer_to_str()`
* refactor `mrb_str_format()`
2021-05-30 08:15:51 +09:00
Yukihiro "Matz" Matsumoto
60aa2192a8
codegen.c: just raise the exception on broken node for assignments.
2021-05-29 15:46:30 +09:00
Yukihiro "Matz" Matsumoto
8aa15b0096
Merge pull request #5463 from mruby/dependabot/github_actions/actions/cache-2.1.6
...
build(deps): bump actions/cache from 2.1.5 to 2.1.6
2021-05-28 16:33:09 +09:00
dependabot[bot]
fc7a00f12f
build(deps): bump actions/cache from 2.1.5 to 2.1.6
...
Bumps [actions/cache](https://github.com/actions/cache ) from 2.1.5 to 2.1.6.
- [Release notes](https://github.com/actions/cache/releases )
- [Commits](https://github.com/actions/cache/compare/v2.1.5...v2.1.6 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-05-28 06:02:32 +00:00
Yukihiro "Matz" Matsumoto
269470babc
kernel.c: avoid recursive VM call in mrb_f_caller.
2021-05-28 07:39:34 +09:00
Yukihiro "Matz" Matsumoto
4e683c20a2
kernel.c: caller should not include the frame for itself.
2021-05-28 07:38:21 +09:00
Yukihiro "Matz" Matsumoto
2a717cf2aa
backtrace.c: do not skip frames for C function calls.
2021-05-28 07:36:20 +09:00
Yukihiro "Matz" Matsumoto
cefbc21e67
vm.c: skip actual method_missing call unless it's overridden.
...
So that `mruby -e 'a'` does not print backtrace history, i.e.
```
% mruby -e 'a'
-e:1: undefined method 'a' (NoMethodError)
```
Instead of
```
% mruby -e 'a'
trace (most recent call last):
[1] -e:1
-e:1: undefined method 'a' (NoMethodError)
```
2021-05-28 07:30:43 +09:00
Yukihiro "Matz" Matsumoto
d9c8626bb1
kernel.c: clear mid for raise and method_missing
...
Method names need not to be printed in backtrace history.
2021-05-27 21:48:26 +09:00
Yukihiro "Matz" Matsumoto
cb92f9ce0b
backtrace.c: do not print trace line if there's no backtrace history
2021-05-27 21:44:55 +09:00
Yukihiro "Matz" Matsumoto
48b08fecba
array.c: unify mrb_ary_ref and mrb_ary_entry
...
Use only `mrb_ary_entry` hereafter.
2021-05-27 21:43:43 +09:00
Yukihiro "Matz" Matsumoto
9a72869043
array.c: check for negative shift size.
2021-05-27 08:13:49 +09:00
Yukihiro "Matz" Matsumoto
c019d8d34d
fmt_fp.c: move mruby specific mrb_float_to_str to numeric.c
2021-05-26 17:29:18 +09:00
Yukihiro "Matz" Matsumoto
05cc3a8d99
Merge pull request #5461 from mruby/dependabot/github_actions/github/super-linter-4.0.2
...
build(deps): bump github/super-linter from 3.17.1 to 4.0.2
2021-05-26 15:09:52 +09:00
dependabot[bot]
705632c99d
build(deps): bump github/super-linter from 3.17.1 to 4.0.2
...
Bumps [github/super-linter](https://github.com/github/super-linter ) from 3.17.1 to 4.0.2.
- [Release notes](https://github.com/github/super-linter/releases )
- [Commits](https://github.com/github/super-linter/compare/v3.17.1...v4.0.2 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-05-26 05:58:37 +00:00
Yukihiro "Matz" Matsumoto
063b49ab8e
fmt_fp.c: truncate precision to prevent buffer overflow.
2021-05-25 13:32:29 +09:00
Yukihiro "Matz" Matsumoto
afbc199ed3
fmt_fp.c: use constant that depends on mrb_float size.
2021-05-25 13:31:41 +09:00
Yukihiro "Matz" Matsumoto
5ed3a3475e
fmt_fp.c: use a const int instead of a macro constant.
2021-05-25 13:30:17 +09:00
Yukihiro "Matz" Matsumoto
bf523b71d1
strtod.c: new public domain implementation of strtod; ref #5448
...
Instead of using copyrighted `strtod`, now use the public domain
implementation of `strtod` by Yasuhiro Matsumoto (@mattn). The function
has been renamed to `mrb_float_read()`; ref #5460 as well.
2021-05-24 12:10:14 +09:00
Yukihiro "Matz" Matsumoto
a44ca2e9be
fmt_fp.c: exponential may be bigger than 100.
2021-05-24 11:50:30 +09:00
Yukihiro "Matz" Matsumoto
d121075e49
class.c: no need to create aliases if both symbols are same.
2021-05-24 11:50:30 +09:00
Yukihiro "Matz" Matsumoto
e323cd0c6e
class.c: add write barrier for aliases.
2021-05-24 11:50:29 +09:00
Yukihiro "Matz" Matsumoto
a3f779c5b6
Merge pull request #5459 from shuujii/fix-typo-in-src-fmt_fp.c
...
Fix typo in `src/fmt_fp.c` [ci skip]
2021-05-23 00:02:55 +09:00
KOBAYASHI Shuji
6cfe184d39
Fix typo in src/fmt_fp.c [ci skip]
2021-05-22 17:00:14 +09:00
Yukihiro "Matz" Matsumoto
b9bde0c918
mruby-sprintf: reduce float digits to avoid test failure.
...
Too many digits to fit in single precision float numbers, so that tests
fail when `MRB_USE_FLOAT32` defined.
2021-05-22 14:46:37 +09:00
Yukihiro "Matz" Matsumoto
5c7fe225a6
fp_fmt.c: remove mrb_float_to_cstr().
...
The function was intended to be a utility function for `mruby-sprintf`.
The functionality was integrated into `sprintf.c`.
2021-05-22 14:16:55 +09:00
Yukihiro "Matz" Matsumoto
328563995f
fmt_fp.c: replace with public domain float format routine; ref #5448
...
The original code can be found in `https://github.com/dhylands/format-float `.
Changes:
- support `double`
- support `#` (alt_form) modifier
- small refactoring
2021-05-22 09:35:27 +09:00
Yukihiro "Matz" Matsumoto
fa29bb3bb4
fmt_fp.c: remove fmt argument from mrb_float_to_str().
...
With major refactoring to prepare removing `snprintf(3) calls.
2021-05-21 08:13:38 +09:00
Yukihiro "Matz" Matsumoto
beaf365dd4
numeric.h: remove 2 functions from MRB_API
...
- `mrb_float_to_str()`
- `mrb_float_to_cstr()`
Both functions will be replaced to support new coming `format-float.c`.
2021-05-21 08:13:38 +09:00
Yukihiro "Matz" Matsumoto
03c4e114a9
test/syntax.rb: fix endless def warning (no assertion).
2021-05-21 08:13:37 +09:00
Yukihiro "Matz" Matsumoto
f0e1d575f2
sprintf.c: remove specifiers %a and %A.
...
`fmt_fp.c` does not support those specifiers. In addition, I believe no
one uses hexadecimal representation of float values.
2021-05-21 08:13:37 +09:00
Yukihiro "Matz" Matsumoto
8f73ee2e82
Merge pull request #5456 from shuujii/support-load-64-bit-integer-from-mrb-format-with-MRB_32BIT-and-MRB_INT64
...
Support load 64-bit integer from mrb format with MRB_32BIT and MRB_INT64
2021-05-21 08:12:54 +09:00
KOBAYASHI Shuji
e9e720eab9
Support load 64-bit integer from mrb format with MRB_32BIT and MRB_INT64
2021-05-20 19:39:08 +09:00
Yukihiro "Matz" Matsumoto
07c8470278
parse.y: allow "command" syntax in endless method definition.
...
This change allows `def hello = puts "Hello"` without parentheses.
This syntax has been introduced since Ruby3.1.
2021-05-18 16:26:36 +09:00
Yukihiro "Matz" Matsumoto
d50c83cca7
parse.y: endless singleton method definition can omit parens.
2021-05-18 16:25:53 +09:00
Yukihiro "Matz" Matsumoto
5eebbd7df2
Global renaming regarding integer and float.
...
Consistent number conversion function names:
* `mrb_value` to immediate (C) value
* `mrb_int()` -> `mrb_as_int()`
* `mrb_to_flo()` -> `mrb_as_float()`
* `mrb_value` to `mrb_value` (converted)
* `mrb_to_int()'
* `mrb_Integer()` - removed
* `mrb_Float()` -> `mrb_to_float`
Consistent function name (avoid `_flo` suffix):
* `mrb_div_flo()` -> `mrb_div_float`
2021-05-17 15:07:05 +09:00
Yukihiro "Matz" Matsumoto
ea7f1953c3
Rename mrb_fixnum_to_str to mrb_integer_to_str.
2021-05-17 13:59:01 +09:00
Yukihiro "Matz" Matsumoto
080fdbf9e8
Rename mrb_flo_to_fixnum to mrb_float_to_integer.
2021-05-17 13:58:54 +09:00
Yukihiro "Matz" Matsumoto
fbbcee835f
rational.c: update function prefixes.
...
To be consistent, functions with `rational_` prefix implements methods,
functions with `rat_` prefix are utility functions.
2021-05-17 13:39:51 +09:00
Yukihiro "Matz" Matsumoto
e7db158321
numeric.h: reduce conditional compilation branch on MRB_NO_FLOAT.
2021-05-16 18:21:08 +09:00
Yukihiro "Matz" Matsumoto
361b380eaf
AUTHORS: update authors information as of 2021-05-15.
2021-05-15 17:27:23 +09:00
Yukihiro "Matz" Matsumoto
ae4c952d2e
mruby-array-ext/array.c: implement Array#rotate in C.
...
The Ruby version of `Array#rotate!` generated a rotated array and
replaced the receiver, but the C version rotates the receiver array
in-place. So the performance is improved a lot both in speed and memory
consumption. Look for the comments in `array.c` for the in-place rotating
algorithm, if you are interested.
2021-05-15 17:26:36 +09:00
Yukihiro "Matz" Matsumoto
9422fdbc87
mruby-array-ext/array.c: implement Array#compact in C.
2021-05-14 10:39:41 +09:00
Yukihiro "Matz" Matsumoto
bdb5d85adc
array.rb: replace can't with cannot.
...
To avoid editor coloring failures.
2021-05-14 10:34:11 +09:00
Yukihiro "Matz" Matsumoto
364f275997
range.c: implement (part of) Range#to_a in C.
...
Mostly for performance reason.
2021-05-14 08:39:14 +09:00
Yukihiro "Matz" Matsumoto
99f0adc3f4
range.c: refactor conditional compilation code.
...
So that auto indentation works.
2021-05-14 08:28:27 +09:00
Yukihiro "Matz" Matsumoto
dfac706ac2
range.c: rename RANGE_INITIALIZED_MASK to RANGE_INITIALIZED_FLAG.
2021-05-14 08:27:21 +09:00
Yukihiro "Matz" Matsumoto
1d0cfb359c
Update mrb_bool definition; close #2385
...
- move `TRUE/FALSE` definition from `mrbconf.h` (not configurable)
- use C/C++ definition of boolean type for `mrb_bool`
The fix is originally written by @take-cheeze.
2021-05-13 19:30:41 +09:00