<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/ext/bigdecimal/bigdecimal.h, branch v3_2_11</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>[ruby/bigdecimal] Replace sprintf by snprintf</title>
<updated>2022-11-15T04:02:01+00:00</updated>
<author>
<name>Kenta Murata</name>
<email>mrkn@mrkn.jp</email>
</author>
<published>2022-11-15T04:01:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3c60e030b57be556ea2002d1416fdfa6c1cb2a1b'/>
<id>3c60e030b57be556ea2002d1416fdfa6c1cb2a1b</id>
<content type='text'>
https://github.com/ruby/bigdecimal/commit/d6f5bb40c7
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/bigdecimal/commit/d6f5bb40c7
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/bigdecimal] Rewrite allocation functions</title>
<updated>2022-11-13T03:47:40+00:00</updated>
<author>
<name>Kenta Murata</name>
<email>mrkn@mrkn.jp</email>
</author>
<published>2022-11-13T03:46:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bbb9f7235329380d9cf617530ca4d39ba07e1824'/>
<id>bbb9f7235329380d9cf617530ca4d39ba07e1824</id>
<content type='text'>
* Rename them
* Make allocation count operations atomic

https://github.com/ruby/bigdecimal/commit/a5ab34a115
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Rename them
* Make allocation count operations atomic

https://github.com/ruby/bigdecimal/commit/a5ab34a115
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/bigdecimal] Rewrite check_rounding_mode function</title>
<updated>2022-11-13T02:02:01+00:00</updated>
<author>
<name>Kenta Murata</name>
<email>mrkn@mrkn.jp</email>
</author>
<published>2022-11-13T01:50:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=74c6e6e565aad4cbf2e5b7a13c21e78361808404'/>
<id>74c6e6e565aad4cbf2e5b7a13c21e78361808404</id>
<content type='text'>
Use table-lookup algorithm instead of consecutive if-statements.

https://github.com/ruby/bigdecimal/commit/23eaff3ae5
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use table-lookup algorithm instead of consecutive if-statements.

https://github.com/ruby/bigdecimal/commit/23eaff3ae5
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/bigdecimal] Fix uint64 conversion</title>
<updated>2021-02-04T04:18:58+00:00</updated>
<author>
<name>Kenta Murata</name>
<email>mrkn@mrkn.jp</email>
</author>
<published>2021-01-30T04:00:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4e2e1d60936a3dcbc0e51b1c9c925ef41c1780f6'/>
<id>4e2e1d60936a3dcbc0e51b1c9c925ef41c1780f6</id>
<content type='text'>
Stop using logarithm to compute the number of components.
Instead, use the theoretical maximum number of components for buffer,
and count up the actual number of components during conversion.

https://github.com/ruby/bigdecimal/commit/9067b353ac
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Stop using logarithm to compute the number of components.
Instead, use the theoretical maximum number of components for buffer,
and count up the actual number of components during conversion.

https://github.com/ruby/bigdecimal/commit/9067b353ac
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/bigdecimal] Stop using rmpd and RMPD prefixes and DBLE_FIG</title>
<updated>2021-02-04T04:18:52+00:00</updated>
<author>
<name>Kenta Murata</name>
<email>mrkn@mrkn.jp</email>
</author>
<published>2021-01-30T03:05:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=868d66e0b513ae038648fffbe826d9580099a6f4'/>
<id>868d66e0b513ae038648fffbe826d9580099a6f4</id>
<content type='text'>
https://github.com/ruby/bigdecimal/commit/7479923fdb
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/bigdecimal/commit/7479923fdb
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/bigdecimal] Optimize rb_float_convert_to_BigDecimal by using dtoa</title>
<updated>2021-01-12T17:11:18+00:00</updated>
<author>
<name>Kenta Murata</name>
<email>mrkn@mrkn.jp</email>
</author>
<published>2021-01-12T13:58:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4ba3a4491e15ed50f26c8f7a602fb4ef5452085a'/>
<id>4ba3a4491e15ed50f26c8f7a602fb4ef5452085a</id>
<content type='text'>
This improve the conversion speed several times faster than before.

```
RUBYLIB= BUNDLER_ORIG_RUBYLIB= /home/mrkn/.rbenv/versions/3.0.0/bin/ruby -v -S benchmark-driver /home/mrkn/src/github.com/ruby/bigdecimal/benchmark/from_float.yml
ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-linux]
Calculating -------------------------------------
                     bigdecimal 3.0.0      master
              flt_e0         156.400k    783.356k i/s -    100.000k times in 0.639388s 0.127656s
            flt_ep10         158.640k    777.978k i/s -    100.000k times in 0.630359s 0.128538s
           flt_ep100         101.676k    504.259k i/s -    100.000k times in 0.983512s 0.198311s
            flt_em10         103.439k    726.339k i/s -    100.000k times in 0.966751s 0.137677s
           flt_em100          79.675k    651.446k i/s -    100.000k times in 1.255095s 0.153505s

Comparison:
                           flt_e0
              master:    783355.6 i/s
    bigdecimal 3.0.0:    156399.5 i/s - 5.01x  slower

                         flt_ep10
              master:    777977.6 i/s
    bigdecimal 3.0.0:    158639.7 i/s - 4.90x  slower

                        flt_ep100
              master:    504259.4 i/s
    bigdecimal 3.0.0:    101676.5 i/s - 4.96x  slower

                         flt_em10
              master:    726338.6 i/s
    bigdecimal 3.0.0:    103439.2 i/s - 7.02x  slower

                        flt_em100
              master:    651446.3 i/s
    bigdecimal 3.0.0:     79675.3 i/s - 8.18x  slower

```

https://github.com/ruby/bigdecimal/commit/5bdaedd530
https://github.com/ruby/bigdecimal/commit/9bfff57f90
https://github.com/ruby/bigdecimal/commit/d071a0abbb
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This improve the conversion speed several times faster than before.

```
RUBYLIB= BUNDLER_ORIG_RUBYLIB= /home/mrkn/.rbenv/versions/3.0.0/bin/ruby -v -S benchmark-driver /home/mrkn/src/github.com/ruby/bigdecimal/benchmark/from_float.yml
ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-linux]
Calculating -------------------------------------
                     bigdecimal 3.0.0      master
              flt_e0         156.400k    783.356k i/s -    100.000k times in 0.639388s 0.127656s
            flt_ep10         158.640k    777.978k i/s -    100.000k times in 0.630359s 0.128538s
           flt_ep100         101.676k    504.259k i/s -    100.000k times in 0.983512s 0.198311s
            flt_em10         103.439k    726.339k i/s -    100.000k times in 0.966751s 0.137677s
           flt_em100          79.675k    651.446k i/s -    100.000k times in 1.255095s 0.153505s

Comparison:
                           flt_e0
              master:    783355.6 i/s
    bigdecimal 3.0.0:    156399.5 i/s - 5.01x  slower

                         flt_ep10
              master:    777977.6 i/s
    bigdecimal 3.0.0:    158639.7 i/s - 4.90x  slower

                        flt_ep100
              master:    504259.4 i/s
    bigdecimal 3.0.0:    101676.5 i/s - 4.96x  slower

                         flt_em10
              master:    726338.6 i/s
    bigdecimal 3.0.0:    103439.2 i/s - 7.02x  slower

                        flt_em100
              master:    651446.3 i/s
    bigdecimal 3.0.0:     79675.3 i/s - 8.18x  slower

```

https://github.com/ruby/bigdecimal/commit/5bdaedd530
https://github.com/ruby/bigdecimal/commit/9bfff57f90
https://github.com/ruby/bigdecimal/commit/d071a0abbb
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/bigdecimal] Rename BDIGIT to DECDIG</title>
<updated>2021-01-06T04:52:12+00:00</updated>
<author>
<name>Kenta Murata</name>
<email>mrkn@mrkn.jp</email>
</author>
<published>2021-01-06T02:54:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=fa8295ccb91e931e7ede2c02a5820cbba9787234'/>
<id>fa8295ccb91e931e7ede2c02a5820cbba9787234</id>
<content type='text'>
https://github.com/ruby/bigdecimal/commit/686487d942
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/bigdecimal/commit/686487d942
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/bigdecimal] Move some definitions to missing.h</title>
<updated>2021-01-04T04:29:10+00:00</updated>
<author>
<name>Kenta Murata</name>
<email>mrkn@mrkn.jp</email>
</author>
<published>2021-01-04T03:10:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=71f0dd339b14d314d47db6c1ed9356fdb2eb4b73'/>
<id>71f0dd339b14d314d47db6c1ed9356fdb2eb4b73</id>
<content type='text'>
https://github.com/ruby/bigdecimal/commit/c2b22cc8b3
https://github.com/ruby/bigdecimal/commit/8cbca8481d
https://github.com/ruby/bigdecimal/commit/f05aecf673
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/bigdecimal/commit/c2b22cc8b3
https://github.com/ruby/bigdecimal/commit/8cbca8481d
https://github.com/ruby/bigdecimal/commit/f05aecf673
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Include RUBY_EXTCONF_H if available"</title>
<updated>2021-01-04T03:01:04+00:00</updated>
<author>
<name>Kenta Murata</name>
<email>mrkn@mrkn.jp</email>
</author>
<published>2021-01-04T03:01:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=597e06360642189d332fadf25b2b6ba9b1df6387'/>
<id>597e06360642189d332fadf25b2b6ba9b1df6387</id>
<content type='text'>
It is unnecessary because RUBY_EXTCONF_H has already been included in
ruby/internal/config.h.

This reverts commit 0644f466b0ef017202712882b557ba32863002c4.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is unnecessary because RUBY_EXTCONF_H has already been included in
ruby/internal/config.h.

This reverts commit 0644f466b0ef017202712882b557ba32863002c4.
</pre>
</div>
</content>
</entry>
<entry>
<title>Include RUBY_EXTCONF_H if available</title>
<updated>2021-01-03T14:38:21+00:00</updated>
<author>
<name>Kenta Murata</name>
<email>mrkn@mrkn.jp</email>
</author>
<published>2021-01-03T14:37:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0644f466b0ef017202712882b557ba32863002c4'/>
<id>0644f466b0ef017202712882b557ba32863002c4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
