From: Satoshi Nakagawa Date: 2007-08-21T16:45:43+09:00 Subject: [ruby-dev:31567] Re: strtod の精度 --Apple-Mail-18-1069220461 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=ISO-2022-JP 中川です。 1.9 用のパッチを作成しましたので、添付します。 既存の util.c の ruby_strtod を置き換える方針で作りましたが、 別ファイルのほうがよければ作り直します。 ■パッチを作るために行った作業 http://netlib.sandia.gov/fp/dtoa.c.gz から取得した dtoa.c で util.c の ruby_strtod の実装を置き換えた。 以下を置き換えたコード部分の最初に追加。 #ifdef __BIG_ENDIAN__ #define IEEE_BIG_ENDIAN #else #define IEEE_LITTLE_ENDIAN #endif #ifdef __vax__ #define VAX #undef IEEE_BIG_ENDIAN #undef IEEE_LITTLE_ENDIAN #endif #if defined(__arm__) && !defined(__VFP_FP__) #define IEEE_BIG_ENDIAN #undef IEEE_LITTLE_ENDIAN #endif #undef Long #undef ULong #if SIZEOF_INT == 4 #define Long int #define ULong unsigned int #elif SIZEOF_LONG == 4 #define Long long int #define ULong unsigned long int #endif #if defined(_MSC_VER) || defined(__BORLANDC__) #define Long __int32 #define ULong unsigned __int32 #define IEEE_LITTLE_ENDIAN #endif コード中の little endian、big endian を示す define を可読性向上の ために置き換えた。 IEEE_8087 → IEEE_LITTLE_ENDIAN IEEE_MC68k → IEEE_BIG_ENDIAN ARM 対応のため、Storeinc の定義部分で -#if defined(IEEE_LITTLE_ENDIAN) + defined(VAX) +#if defined(IEEE_LITTLE_ENDIAN) + defined(VAX) + defined(__arm__) のように変更した。 ■動作確認 以下の環境で動作確認を行いました。 ・Linux 2.6 (Debian etch) / Intel ・Mac OS X 10.4 / Intel ・Mac OS X 10.4 / PowerPC ・Linux 2.6 (Debian etch) / Intel $ uname -mrs Linux 2.6.18-4-686 i686 $ ./ruby -v ruby 1.9.0 (2007-08-21 patchlevel 0) [i686-linux] $ ./ruby -e 'printf("%21.0f\n", 36893488147419107329.0)' 36893488147419111424 ・Mac OS X 10.4 / Intel $ uname -mrs Darwin 8.10.1 i386 $ ./ruby -v ruby 1.9.0 (2007-08-21 patchlevel 0) [i686-darwin8.10.1] $ ./ruby -e 'printf("%21.0f\n", 36893488147419107329.0)' 36893488147419111424 ・Mac OS X 10.4 / PowerPC $ uname -mrs Darwin 8.10.0 Power Macintosh $ ./ruby -v ruby 1.9.0 (2007-08-21 patchlevel 0) [powerpc-darwin8.10.0] $ ./ruby -e 'printf("%21.0f\n", 36893488147419107329.0)' 36893488147419111424 ■今後必要な作業 できるだけ多くの環境で動作確認を行う必要があります。 特に気になる環境は、以下の通りです。 ・ARM PHP の zend_strtod.c を参考に、一応対応したつもりですが、 実際に動作するかどうかわかりません。 ・win32、win64、cygwin、mingw、bcc ・VAX -- Satoshi Nakagawa http://d.hatena.ne.jp/Psychs/ --Apple-Mail-18-1069220461 Content-Transfer-Encoding: base64 Content-Type: application/zip; x-unix-mode=0644; name=dtoa_patch.zip Content-Disposition: attachment; filename=dtoa_patch.zip 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 --Apple-Mail-18-1069220461 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII --Apple-Mail-18-1069220461--