tomoya ishida
tomoya ishida
Reproduction code. Run and wait for few seconds/minutes ```ruby loop { print '|' + `ruby -rbigdecimal -e "10000.times{BigDecimal(0)};GC.start"` } ``` ```ruby loop { print '|' + `ruby -rpsych -e "10000.times{Psych::Parser.allocate};GC.start"`...
#1024 Migrate nesting analysis from Ripper to Prism
#1024 Migrate syntax highlight from Ripper to Prism
To replace RDoc::Parser::RipperStateLex
`Complex#conjugate` have token_stream but marked as skip_document [Complex#conjugate](https://docs.ruby-lang.org/en/master/Complex.html#method-i-conjugate) has `▶︎Source` toggle but description is skipped. [Complex#conj](https://docs.ruby-lang.org/en/master/Complex.html#method-i-conj) has document but `▶︎Source` is not available. The behavior of this bug looks similar...
This two `include M` are not the same. ```ruby class A::B # A::B.include(M) with Module.nesting == [A::B] include M end class A class B # A::B.include(M) with Module.nesting == [A::B,...
```ruby x = BigDecimal(1) y = BigDecimal('1e-1000000000000') x.add(y, 10) ``` ```ruby BigDecimal(1).sub(BigDecimal('1e-10000000000'), 10) # processing time: 0.531971s # => 0.1e1 BigDecimal(1).sub(BigDecimal('1e-100000000000'), 10) # processing time: 5.979859s # => 0.1e1 BigDecimal(1).sub(BigDecimal('1e-9223372036854775808'),...
Attempt to implement bitburst-algorithm version of `BigMath.erf` and `BigMath.erfc` This pull request is a proof of concept, not meant to merge. Considering the complexity of the implementation, (about 1/3 of...
It's fast and simple. Pi calculation will be the bottleneck when we improve sin/cos or erf/erfc with bit burst algorithm. Multiplication cost needs to be less than `O(N^2)`. Requires #407....
With #407, `exp(x, N)` and `sin(x, N)` calculation improves from `O(N^3/logN)` to `O(N^2)`. This pull request further improves `O(N^2)` to `O(N*(logN)**a)` where a is about 3 or 4. ```ruby BigMath.exp(1,...