[#31320] Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...>

-----BEGIN PGP SIGNED MESSAGE-----

124 messages 2007/08/01
[#31321] Re: Import RubyGems to Ruby 1.9 — Nobuyoshi Nakada <nobu@...> 2007/08/01

なかだです。

[#31329] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/08/01

-----BEGIN PGP SIGNED MESSAGE-----

[#31918] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/09/30

-----BEGIN PGP SIGNED MESSAGE-----

[#31970] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/08

-----BEGIN PGP SIGNED MESSAGE-----

[#32023] Re: Import RubyGems to Ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/10/11

まつもと ゆきひろです

[#32062] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/15

-----BEGIN PGP SIGNED MESSAGE-----

[#32066] Re: Import RubyGems to Ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/10/15

まつもと ゆきひろです

[#32068] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/15

-----BEGIN PGP SIGNED MESSAGE-----

[#32069] Re: Import RubyGems to Ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/10/15

まつもと ゆきひろです

[#32070] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/15

-----BEGIN PGP SIGNED MESSAGE-----

[#32073] Re: Import RubyGems to Ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/10/15

まつもと ゆきひろです

[#32079] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/16

-----BEGIN PGP SIGNED MESSAGE-----

[#32080] Re: Import RubyGems to Ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/10/16

まつもと ゆきひろです

[#32132] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/23

-----BEGIN PGP SIGNED MESSAGE-----

[#32081] Re: Import RubyGems to Ruby 1.9 — Takahiro Kambe <taca@...> 2007/10/16

In message <471447D5.5050902@sarion.co.jp>

[#32087] Re: Import RubyGems to Ruby 1.9 — "Akinori MUSHA" <knu@...> 2007/10/17

 Rubygems は、基本的に他のパッケージシステムから包みやすい作り

[#32104] Re: Import RubyGems to Ruby 1.9 — akira yamada <akira@...> 2007/10/20

Tuesday 16 October 2007 14:09:13 に NAKAMURA, Hiroshi さんは書きました:

[#32109] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/20

-----BEGIN PGP SIGNED MESSAGE-----

[#31332] Re: Import RubyGems to Ruby 1.9 — Tadayoshi Funaba <tadf@...> 2007/08/01

> ちなみに「ruby/1.9.1の標準添付からどのライブラリを外すか?」という議論も

[#31858] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/09/25

-----BEGIN PGP SIGNED MESSAGE-----

[#31872] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/09/27

-----BEGIN PGP SIGNED MESSAGE-----

[#31905] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/09/29

-----BEGIN PGP SIGNED MESSAGE-----

[#31906] Re: Import RubyGems to Ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/09/29

まつもと ゆきひろです

[#31910] Re: Import RubyGems to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/09/30

-----BEGIN PGP SIGNED MESSAGE-----

[#31920] Re: Import RubyGems to Ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/09/30

まつもと ゆきひろです

[#31323] Bignum#to_s の Karatsuba 基数変換による高速化 — "Kenta Murata" <muraken@...>

むらけんです.

16 messages 2007/08/01
[#31326] Re: Bignum#to_s の Karatsuba 基数変換による高速化 — Yukihiro Matsumoto <matz@...> 2007/08/01

まつもと ゆきひろです

[#31327] Re: Bignum#to_s の Karatsuba 基数変換による高速化 — "Kenta Murata" <muraken@...> 2007/08/01

むらけんです.

[#31328] Re: Bignum#to_s の Karatsuba 基数変換による高速化 — Yukihiro Matsumoto <matz@...> 2007/08/01

まつもと ゆきひろです

[#31525] いくつかのバグ報告と提案(5点) — eklerni <eklerni@...>

From:eklerni

13 messages 2007/08/20

[#31539] strtod の精度 — Satoshi Nakagawa <snakagawa@...>

中川といいます。

27 messages 2007/08/20
[#31542] Re: strtod の精度 — Yukihiro Matsumoto <matz@...> 2007/08/20

まつもと ゆきひろです

[ruby-dev:31567] Re: strtod の精度

From: Satoshi Nakagawa <snakagawa@...>
Date: 2007-08-21 07:45:43 UTC
List: ruby-dev #31567
中川です。

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/

Attachments (1)

dtoa_patch.zip (22.5 KB, Archive)

In This Thread