Commit Graph

16028 Commits

Author SHA1 Message Date
Yukihiro "Matz" Matsumoto 5bd63d6232 array.c: replace sort! method implementation
- use heap sort (O(1)) instead of merge sort (O(n)) for better space
  complexity.

- method implemented in C for better performance

As a result, simple sorting now consumes far less memory and is faster.
Since it's implemented in C, fiber context switching is not allowed from
comparison, but we consider the risk is minimal (no one switches context
in the comparison, right?)
2024-06-26 11:28:56 +09:00
Yukihiro "Matz" Matsumoto b521d0816f numeric.c (cmpnum): restrict comparison between Numeric objects 2024-06-25 14:36:56 +09:00
Yukihiro "Matz" Matsumoto bb2733e9a2 numeric.c (cmpnum): rafactoring
- separate `MRB_NO_FLOAT` case
- use `mrb_as_float()` as much as possible
2024-06-24 09:34:13 +09:00
Yukihiro "Matz" Matsumoto a0d4c63f9a Merge pull request #6293 from dearblue/doc/opcode.md
Changed the instruction table in `opcode.md`
2024-06-23 20:14:51 +09:00
dearblue f4f3a061be Changed the instruction table in opcode.md
- Added the index number corresponding to the instruction code.
  - Omitted trailing `|` from table elements.
    The table elements in GitHub Flavored Markdown can't wrap wherever wanted.
    And trying to align the end of it tends to make the whole thing longer.
2024-06-22 23:21:43 +09:00
Yukihiro "Matz" Matsumoto 54e99197bd Revert "tools/lrama: apply ruby/lrama#442"
This reverts commit fb9fbc8498.

The fix in the upstream still causes syntax error in C++.
2024-06-22 13:34:46 +09:00
Yukihiro "Matz" Matsumoto eab6bddffe Merge pull request #6292 from jbampton/pre-commit-autoupdate
markdownlint --fix; remove prettier; pre-commit autoupdate; fix spelling
2024-06-21 14:33:44 +09:00
Yukihiro "Matz" Matsumoto d4c65d7ab1 AUTHORS: update entries [ci skip] 2024-06-21 13:01:38 +09:00
Yukihiro "Matz" Matsumoto c592e7b70d string.c: small refactoring 2024-06-21 10:11:32 +09:00
Yukihiro "Matz" Matsumoto fb9fbc8498 tools/lrama: apply ruby/lrama#442 2024-06-21 08:12:27 +09:00
John Bampton 88e2eb0188 Fix spelling 2024-06-21 08:14:17 +10:00
John Bampton 06becc3495 pre-commit autoupdate 2024-06-21 08:14:17 +10:00
John Bampton bbb0dddc7e Remove prettier from pre-commit 2024-06-21 08:14:17 +10:00
John Bampton ac74c90b30 Run markdownlint --fix 2024-06-21 06:53:42 +10:00
Yukihiro "Matz" Matsumoto 73c3970ea1 numeric.c: fix spacing in a comment 2024-06-19 09:25:19 +09:00
Yukihiro "Matz" Matsumoto b8396aec33 numeric.c (cmpnum): fix a bug in float-bigint comparison
Should have used bigint to float conversion.
2024-06-19 09:25:19 +09:00
Yukihiro "Matz" Matsumoto 0f2d12a005 numeric.c (cmpnum): reduce else nesting 2024-06-18 01:50:49 +09:00
Yukihiro "Matz" Matsumoto 75de002058 mruby-complex: provide Complex#<=> in Ruby 2024-06-17 08:14:27 +09:00
Yukihiro "Matz" Matsumoto 3b9aec90dd mruby-rational: define <=> method in Ruby, not in C 2024-06-17 08:02:42 +09:00
Yukihiro "Matz" Matsumoto 36eff3ec59 mruby-rational/test: remove UserDefinedNumeric tests
Since they checks the behavior different from CRuby.
2024-06-17 07:57:54 +09:00
Yukihiro "Matz" Matsumoto d1592ba9f9 numeric.c (cmpnum): use mrb_as_int() instead of mrb_integer() 2024-06-17 07:51:25 +09:00
Yukihiro "Matz" Matsumoto b44dc1c0b9 mruby-rational: use presym for initialization 2024-06-14 06:17:20 +09:00
Yukihiro "Matz" Matsumoto 0e045a52f6 mruby-complex: use presym for initialization 2024-06-14 06:15:34 +09:00
Yukihiro "Matz" Matsumoto 921a54ef33 mruby-socket/socket.rb: done some small refactoring 2024-06-14 06:14:27 +09:00
Yukihiro "Matz" Matsumoto 39d577799f mruby-socket: use presym for initialization 2024-06-14 06:14:07 +09:00
Yukihiro "Matz" Matsumoto 7be10097a0 mruby-io: use presym for initialization 2024-06-14 02:00:17 +09:00
Yukihiro "Matz" Matsumoto db8d43090a mruby-struct: use presym for initialization 2024-06-14 01:59:30 +09:00
Yukihiro "Matz" Matsumoto 8bd66a9358 mruby-data: use presym for initialization 2024-06-14 01:59:10 +09:00
Yukihiro "Matz" Matsumoto d5fd3338a4 mruby-method: use presym for initialization 2024-06-14 01:46:22 +09:00
Yukihiro "Matz" Matsumoto 71a4e5f3ff mruby-proc-ext: use presym for initialization 2024-06-14 01:45:58 +09:00
Yukihiro "Matz" Matsumoto 2b4591fe68 mruby-proc-binding: use presym for initialization 2024-06-14 01:45:23 +09:00
Yukihiro "Matz" Matsumoto 9fbdf78380 mruby-binding: use presym for initialization 2024-06-14 01:44:49 +09:00
Yukihiro "Matz" Matsumoto d1e49f7121 mruby-metaprog: use presym for initialization 2024-06-14 01:43:57 +09:00
Yukihiro "Matz" Matsumoto c32a94d878 mruby-string-ext: use presym for initialization 2024-06-14 01:43:03 +09:00
Yukihiro "Matz" Matsumoto 513908d77f mruby-range-ext: use presym for initialization 2024-06-14 01:42:30 +09:00
Yukihiro "Matz" Matsumoto 4104837ba1 mruby-hash-ext: use presym for initialization 2024-06-14 01:41:55 +09:00
Yukihiro "Matz" Matsumoto cfd90a65f7 mruby-array-ext: use presym for initialization 2024-06-14 01:41:06 +09:00
Yukihiro "Matz" Matsumoto 574f9f0d39 mruby-class_ext: use presym for initialization 2024-06-14 00:37:05 +09:00
Yukihiro "Matz" Matsumoto 6361f6d661 mruby-numeric-ext: use presym for initialization 2024-06-14 00:35:44 +09:00
Yukihiro "Matz" Matsumoto d94916bf15 mruby-kernel-ext: use presym for initialization 2024-06-14 00:34:07 +09:00
Yukihiro "Matz" Matsumoto e1a62a581f mruby-object-ext: use presym for initialization 2024-06-14 00:33:18 +09:00
Yukihiro "Matz" Matsumoto c99b8d7d3b mruby-fiber: use presym for initialization 2024-06-14 00:32:07 +09:00
Yukihiro "Matz" Matsumoto bf8e19f7da mruby-sleep: use presym for initialization 2024-06-14 00:30:32 +09:00
Yukihiro "Matz" Matsumoto 0eb616e3bd mruby-symbol-ext: use presym for initialization 2024-06-14 00:28:33 +09:00
Yukihiro "Matz" Matsumoto 3628d093f4 mruby-dir: use presym for initialization 2024-06-14 00:27:13 +09:00
Yukihiro "Matz" Matsumoto 6535f6d159 mruby-eval: use presym for initialization 2024-06-14 00:26:22 +09:00
Yukihiro "Matz" Matsumoto 9c060b425c mruby-errno: use presym for initialization 2024-06-14 00:25:26 +09:00
Yukihiro "Matz" Matsumoto e4c2423f6e mruby-catch: use presym for initialization 2024-06-14 00:23:11 +09:00
Yukihiro "Matz" Matsumoto 6bcaeb5a93 mruby-pack: use presym for initialization 2024-06-14 00:19:21 +09:00
Yukihiro "Matz" Matsumoto f3c2373c6f mruby-print: use presym for initialization 2024-06-14 00:18:22 +09:00