Diff

util/serialization.lua @ 9486:20aad0108999

util.serialization: Remove encoding of very large or very small numbers in scientific notation Also difficult to describe this option, easier to remove it. %.18g covers a very large range of numbers
author Kim Alvefur <zash@zash.se>
date Fri, 12 Oct 2018 00:15:08 +0200
parent 9485:c667887d78ad
child 9564:ed0090f8b709
line wrap: on
line diff
--- a/util/serialization.lua	Fri Oct 12 00:13:24 2018 +0200
+++ b/util/serialization.lua	Fri Oct 12 00:15:08 2018 +0200
@@ -20,11 +20,6 @@
 local envload = require"util.envload".envload;
 
 local pos_inf, neg_inf = math.huge, -math.huge;
-local m_log = math.log;
-local m_log10 = math.log10 or function (n)
-	return m_log(n, 10);
-end
-local m_floor = math.floor;
 -- luacheck: ignore 143/math
 local m_type = math.type or function (n)
 	return n % 1 == 0 and n <= 9007199254740992 and n >= -9007199254740992 and "integer" or "float";
@@ -124,7 +119,6 @@
 	local unquoted = opt.unquoted == nil and "^[%a_][%w_]*$" or opt.unquoted;
 	local hex = opt.hex;
 	local freeze = opt.freeze;
-	local precision = opt.precision or 10;
 
 	-- serialize one table, recursively
 	-- t - table being serialized
@@ -237,12 +231,7 @@
 		elseif t ~= t then
 			return "(0/0)";
 		end
-		local log = m_floor(m_log10(t));
-		if log > precision then
-			return s_format("%.18e", t);
-		else
-			return s_format("%.18g", t);
-		end
+		return s_format("%.18g", t);
 	end
 
 	-- Are these faster than tostring?