From d8a20f9bd15dd270782ef6aa048c35e2d8748c04 Mon Sep 17 00:00:00 2001 From: sabiwara Date: Tue, 31 Oct 2023 08:38:47 +0900 Subject: [PATCH 1/2] Use :erlang.float_to_binary/2 in Float.to_string/1 --- lib/elixir/lib/float.ex | 2 +- lib/elixir/lib/string/chars.ex | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/elixir/lib/float.ex b/lib/elixir/lib/float.ex index 22973c02230..ccefda986e5 100644 --- a/lib/elixir/lib/float.ex +++ b/lib/elixir/lib/float.ex @@ -603,7 +603,7 @@ defmodule Float do """ @spec to_string(float) :: String.t() def to_string(float) when is_float(float) do - IO.iodata_to_binary(:io_lib_format.fwrite_g(float)) + :erlang.float_to_binary(float, [:short]) end @doc false diff --git a/lib/elixir/lib/string/chars.ex b/lib/elixir/lib/string/chars.ex index af6eabf45dd..272ed227c64 100644 --- a/lib/elixir/lib/string/chars.ex +++ b/lib/elixir/lib/string/chars.ex @@ -57,6 +57,6 @@ end defimpl String.Chars, for: Float do def to_string(term) do - IO.iodata_to_binary(:io_lib_format.fwrite_g(term)) + :erlang.float_to_binary(term, [:short]) end end From ced0c3d87f4eca5f35fdd09469a8a7b60580991d Mon Sep 17 00:00:00 2001 From: sabiwara Date: Wed, 1 Nov 2023 00:33:19 +0900 Subject: [PATCH 2/2] Use :erlang.float_to_list/2 in Float.to_charlist/1 --- lib/elixir/lib/float.ex | 2 +- lib/elixir/lib/inspect.ex | 2 +- lib/elixir/lib/list/chars.ex | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/elixir/lib/float.ex b/lib/elixir/lib/float.ex index ccefda986e5..87aebdba113 100644 --- a/lib/elixir/lib/float.ex +++ b/lib/elixir/lib/float.ex @@ -576,7 +576,7 @@ defmodule Float do """ @spec to_charlist(float) :: charlist def to_charlist(float) when is_float(float) do - :io_lib_format.fwrite_g(float) + :erlang.float_to_list(float, [:short]) end @doc """ diff --git a/lib/elixir/lib/inspect.ex b/lib/elixir/lib/inspect.ex index 725cc6e76d9..d901f189166 100644 --- a/lib/elixir/lib/inspect.ex +++ b/lib/elixir/lib/inspect.ex @@ -387,7 +387,7 @@ defimpl Inspect, for: Float do if abs >= 1.0 and abs < 1.0e16 and trunc(float) == float do [Integer.to_string(trunc(float)), ?., ?0] else - :io_lib_format.fwrite_g(float) + :erlang.float_to_list(float, [:short]) end color(IO.iodata_to_binary(formatted), :number, opts) diff --git a/lib/elixir/lib/list/chars.ex b/lib/elixir/lib/list/chars.ex index 2ffa8cad604..eab1ab9a945 100644 --- a/lib/elixir/lib/list/chars.ex +++ b/lib/elixir/lib/list/chars.ex @@ -58,6 +58,6 @@ end defimpl List.Chars, for: Float do def to_charlist(term) do - :io_lib_format.fwrite_g(term) + :erlang.float_to_list(term, [:short]) end end