From a424741c8e73bbca5d893594abbdfda489794739 Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 9 Feb 2008 08:51:26 +0000 Subject: * ext/bigdecimal/bigdecimal.c (BigDecimal_to_f): use strtod() for more precision. [ruby-talk:290296] * ext/bigdecimal/bigdecimal.c (BASE_FIG): made constant. * ext/bigdecimal/extconf.rb: ditto. [ruby-dev:33658] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/bigdecimal/extconf.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'ext/bigdecimal/extconf.rb') diff --git a/ext/bigdecimal/extconf.rb b/ext/bigdecimal/extconf.rb index a68a656044..864aaad862 100644 --- a/ext/bigdecimal/extconf.rb +++ b/ext/bigdecimal/extconf.rb @@ -1,2 +1,12 @@ require 'mkmf' + +base_fig = 0 +src = ("(BASE > 0) && " + "(BASE * (BASE+1)) > BASE && " + "(BASE * (BASE+1)) / BASE == (BASE+1)") +while try_static_assert(src, nil, "-DBASE=10#{'0'*base_fig}UL") + base_fig += 1 +end +$defs << "-DBASE=1#{'0'*base_fig}UL" << "-DBASE_FIG=#{base_fig}" + create_makefile('bigdecimal') -- cgit v1.2.3