<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/erlang.git/lib/stdlib/scripts, branch master</title>
<subtitle>github.com: erlang/otp.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/erlang.git/'/>
<entry>
<title>otp: Make update_deprecation fail when removing an future version</title>
<updated>2022-06-08T12:08:52+00:00</updated>
<author>
<name>Lukas Larsson</name>
<email>lukas@erlang.org</email>
</author>
<published>2022-06-08T12:08:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/erlang.git/commit/?id=aeb9d23e04986a7af8379e22e8229454a83b02e8'/>
<id>aeb9d23e04986a7af8379e22e8229454a83b02e8</id>
<content type='text'>
This can happen if a function is marked as removed in a module
while the metadata in DEPRECATIONS lists a future release as the
"remove" release.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This can happen if a function is marked as removed in a module
while the metadata in DEPRECATIONS lists a future release as the
"remove" release.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright year</title>
<updated>2022-02-15T18:44:09+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2022-02-15T18:44:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/erlang.git/commit/?id=7e702ac4b321c4870bdbbfc4c24ac3a5d5d572b5'/>
<id>7e702ac4b321c4870bdbbfc4c24ac3a5d5d572b5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>update_deprecations: The script silently discarded errors in file:write</title>
<updated>2022-01-19T07:22:12+00:00</updated>
<author>
<name>Hans Nilsson</name>
<email>hans@erlang.org</email>
</author>
<published>2022-01-19T07:22:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/erlang.git/commit/?id=6fa094e2a0fbeaff921a2d3b0c8c0928c867a2d8'/>
<id>6fa094e2a0fbeaff921a2d3b0c8c0928c867a2d8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>update_deprecations: The script didn't handle '-deprecated([f/1])'</title>
<updated>2022-01-19T07:21:35+00:00</updated>
<author>
<name>Hans Nilsson</name>
<email>hans@erlang.org</email>
</author>
<published>2022-01-19T06:47:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/erlang.git/commit/?id=d3ee69f110920c58edb5ffcbb00f219feaf261d1'/>
<id>d3ee69f110920c58edb5ffcbb00f219feaf261d1</id>
<content type='text'>
which caused the atom 'undefined' to be the Text in update_deprecations:make_xml_info/2.
According to /home/uabhnil/Projects/OTP/otp1/HOWTO/DEPRECATE.md that 'undefined' should be changed to
"see the documentation for details." by that script.
The internal wiki page has the same opinion as the script.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
which caused the atom 'undefined' to be the Text in update_deprecations:make_xml_info/2.
According to /home/uabhnil/Projects/OTP/otp1/HOWTO/DEPRECATE.md that 'undefined' should be changed to
"see the documentation for details." by that script.
The internal wiki page has the same opinion as the script.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'maint'</title>
<updated>2021-12-13T10:46:22+00:00</updated>
<author>
<name>Rickard Green</name>
<email>rickard@erlang.org</email>
</author>
<published>2021-12-13T10:46:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/erlang.git/commit/?id=340aefb5cdd7aa73a3b9daa1781037334d8c7341'/>
<id>340aefb5cdd7aa73a3b9daa1781037334d8c7341</id>
<content type='text'>
* maint:
  Update copyright year
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* maint:
  Update copyright year
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright year</title>
<updated>2021-12-13T10:29:44+00:00</updated>
<author>
<name>Rickard Green</name>
<email>rickard@erlang.org</email>
</author>
<published>2021-12-13T10:29:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/erlang.git/commit/?id=4f1d13ee87759e9eab6bbe4efb0047b372e367cc'/>
<id>4f1d13ee87759e9eab6bbe4efb0047b372e367cc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>add option short to float_to_*/2 bifs</title>
<updated>2021-07-15T08:07:02+00:00</updated>
<author>
<name>Thomas Depierre</name>
<email>depierre.thomas@gmail.com</email>
</author>
<published>2021-04-08T15:03:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/erlang.git/commit/?id=c4d9b08daf154fae13239fe627b8db33997c9d56'/>
<id>c4d9b08daf154fae13239fe627b8db33997c9d56</id>
<content type='text'>
This bring the Ryu algorithm, vendored in /erts/emulator/ryu from
https://github.com/ulfjack/ryu. We use this algorithm to add a
new formatting option to float_to_list/2 and float_to_binary/2.

This new formatting option implement an exact shortest round-trip
format, giving us the shortest format possible with no loss of
precision. It also is faster than any other formatting option
available in OTP and less memory intensive.

io_lib_format:fwrite_g/1 is changed to use this BIF, which
should be a transaparent change.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This bring the Ryu algorithm, vendored in /erts/emulator/ryu from
https://github.com/ulfjack/ryu. We use this algorithm to add a
new formatting option to float_to_list/2 and float_to_binary/2.

This new formatting option implement an exact shortest round-trip
format, giving us the shortest format possible with no loss of
precision. It also is faster than any other formatting option
available in OTP and less memory intensive.

io_lib_format:fwrite_g/1 is changed to use this BIF, which
should be a transaparent change.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'dina/ryu_fwrite_g_1'</title>
<updated>2021-02-19T13:05:00+00:00</updated>
<author>
<name>Kjell Winblad</name>
<email>kjellwinblad@gmail.com</email>
</author>
<published>2021-02-19T13:05:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/erlang.git/commit/?id=f90399a3a43bd66ea77d2ba515c9bedc1d08d2a4'/>
<id>f90399a3a43bd66ea77d2ba515c9bedc1d08d2a4</id>
<content type='text'>
Ticket: OTP-17210

* dina/ryu_fwrite_g_1:
  Change io_lib_format:fwrite_g/1 to use Ryu
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Ticket: OTP-17210

* dina/ryu_fwrite_g_1:
  Change io_lib_format:fwrite_g/1 to use Ryu
</pre>
</div>
</content>
</entry>
<entry>
<title>Change io_lib_format:fwrite_g/1 to use Ryu</title>
<updated>2021-02-13T11:03:58+00:00</updated>
<author>
<name>Thomas Depierre</name>
<email>depierre.thomas@gmail.com</email>
</author>
<published>2020-12-21T15:11:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/erlang.git/commit/?id=c7614bca940da8f05884f08af883c2ef131e0250'/>
<id>c7614bca940da8f05884f08af883c2ef131e0250</id>
<content type='text'>
io_lib_format_fwrite_g/1 now use the Ryu algorithm, see
(https://dl.acm.org/doi/pdf/10.1145/3192366.3192369). We get an
approximately 3x speedup over the whole doubles, with a more stable
performance profile. The Dragon4 implementation used before had a
performance profile linear with the size of the double to print.

We also see a 10% reduction in memory use with Ryu over the old
algorithm.

It is worth noting that this implementation is slightly slower (10% to
30%) for "small" doubles in some cases. This commit does not try to
optimise this case yet.

The Ryu algorithm depends on a lookup table that is generated upfront.
This commit add a script to generate it (mostly in case a bug is found
in it or we decide to change the size of the lookup table) and the
output of said script in io_lib_format_ryu_table.erl. This is done
because the table do not change from a build to another and should not
be regenerated outside of a bug or a fundamental change in the
algorithm.

The Ryu algorithm has a know worst case scenario for doubles that can be
represented as "small" integer. This commit introduce a optimised
handling for this case.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
io_lib_format_fwrite_g/1 now use the Ryu algorithm, see
(https://dl.acm.org/doi/pdf/10.1145/3192366.3192369). We get an
approximately 3x speedup over the whole doubles, with a more stable
performance profile. The Dragon4 implementation used before had a
performance profile linear with the size of the double to print.

We also see a 10% reduction in memory use with Ryu over the old
algorithm.

It is worth noting that this implementation is slightly slower (10% to
30%) for "small" doubles in some cases. This commit does not try to
optimise this case yet.

The Ryu algorithm depends on a lookup table that is generated upfront.
This commit add a script to generate it (mostly in case a bug is found
in it or we decide to change the size of the lookup table) and the
output of said script in io_lib_format_ryu_table.erl. This is done
because the table do not change from a build to another and should not
be regenerated outside of a bug or a fundamental change in the
algorithm.

The Ryu algorithm has a know worst case scenario for doubles that can be
represented as "small" integer. This commit introduce a optimised
handling for this case.
</pre>
</div>
</content>
</entry>
<entry>
<title>otp: Require complete build when updating deprecations</title>
<updated>2021-02-01T10:18:47+00:00</updated>
<author>
<name>John Högberg</name>
<email>john@erlang.org</email>
</author>
<published>2021-02-01T09:44:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/erlang.git/commit/?id=e323866dfb77f2006e94ab6c4a53509e758fdc3d'/>
<id>e323866dfb77f2006e94ab6c4a53509e758fdc3d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
