* [ruby-dev:47341] LONG_LONG availability
@ 2013-05-13 23:00 Tanaka Akira
2013-05-15 8:23 ` [ruby-dev:47345] " Tanaka Akira
0 siblings, 1 reply; 7+ messages in thread
From: Tanaka Akira @ 2013-05-13 23:00 UTC (permalink / raw
To: ruby developers list
気がついてしまったのですが、Ruby 1.9.2 のころから
include/ruby/ruby.h に以下のコードがあります。
#ifdef SIZEOF_LONG_LONG
typedef char ruby_check_sizeof_long_long[SIZEOF_LONG_LONG ==
sizeof(LONG_LONG) ? 1 : -1];
#endif
手元の GNU/Linux 環境での
.ext/include/x86_64-linux/ruby/config.h には次の定義があります。
#define SIZEOF_LONG_LONG 8
#define SIZEOF___INT64 0
この環境には __int64 はないんですが、SIZEOF___INT64 は定義されています。
同様に long long はなくても SIZEOF_LONG_LONG は定義されるとすると、
#ifdef SIZEOF_LONG_LONG ... #endif は常に条件が成立して、
ruby_check_sizeof_long_long はいつも定義されるように思います。
そうすると LONG_LONG が定義されていない環境ではコンパイルエラーになるはずです。
にもかかわらずそれに関する苦情をみた覚えがありません。
ということはつまり ruby を動かそうとするような環境としては
64bit 整数型 (long long や __int64) がない環境はもはや存在しない、
ということなんでしょうか。
--
[田中 哲][たなか あきら][Tanaka Akira]
^ permalink raw reply [flat|nested] 7+ messages in thread
* [ruby-dev:47345] Re: LONG_LONG availability
2013-05-13 23:00 [ruby-dev:47341] LONG_LONG availability Tanaka Akira
@ 2013-05-15 8:23 ` Tanaka Akira
2013-05-15 8:29 ` [ruby-dev:47346] " NARUSE, Yui
2013-05-20 1:15 ` [ruby-dev:47358] " Kenta Murata
0 siblings, 2 replies; 7+ messages in thread
From: Tanaka Akira @ 2013-05-15 8:23 UTC (permalink / raw
To: ruby developers list
2013年5月14日 8:00 Tanaka Akira <akr@fsij•org>:
> 気がついてしまったのですが、Ruby 1.9.2 のころから
> include/ruby/ruby.h に以下のコードがあります。
>
> #ifdef SIZEOF_LONG_LONG
> typedef char ruby_check_sizeof_long_long[SIZEOF_LONG_LONG ==
> sizeof(LONG_LONG) ? 1 : -1];
> #endif
この部分はなかださんが変えてしまったので書いておきますが、
少なくとも bigdecimal と dl が無条件に LONG_LONG を使うようで、
LONG_LONG がなくても動くようになったわけではありません。
まぁ、bigdecimal での使い方はひどく怪しくて、
[ruby-dev:47340] はそこから見つけたものですが。
--
[田中 哲][たなか あきら][Tanaka Akira]
^ permalink raw reply [flat|nested] 7+ messages in thread
* [ruby-dev:47346] Re: LONG_LONG availability
2013-05-15 8:23 ` [ruby-dev:47345] " Tanaka Akira
@ 2013-05-15 8:29 ` NARUSE, Yui
2013-05-15 11:36 ` [ruby-dev:47348] " Zachary Scott
2013-05-20 1:15 ` [ruby-dev:47358] " Kenta Murata
1 sibling, 1 reply; 7+ messages in thread
From: NARUSE, Yui @ 2013-05-15 8:29 UTC (permalink / raw
To: ruby developers list
「Rubyソースコードの仮定事項」に追加してしまいますかねぇ
https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/AssumptionsJa
2013年5月15日 17:23 Tanaka Akira <akr@fsij•org>:
> 2013年5月14日 8:00 Tanaka Akira <akr@fsij•org>:
>> 気がついてしまったのですが、Ruby 1.9.2 のころから
>> include/ruby/ruby.h に以下のコードがあります。
>>
>> #ifdef SIZEOF_LONG_LONG
>> typedef char ruby_check_sizeof_long_long[SIZEOF_LONG_LONG ==
>> sizeof(LONG_LONG) ? 1 : -1];
>> #endif
>
> この部分はなかださんが変えてしまったので書いておきますが、
> 少なくとも bigdecimal と dl が無条件に LONG_LONG を使うようで、
> LONG_LONG がなくても動くようになったわけではありません。
>
> まぁ、bigdecimal での使い方はひどく怪しくて、
> [ruby-dev:47340] はそこから見つけたものですが。
> --
> [田中 哲][たなか あきら][Tanaka Akira]
>
--
NARUSE, Yui <naruse@airemix•jp>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [ruby-dev:47348] Re: LONG_LONG availability
2013-05-15 8:29 ` [ruby-dev:47346] " NARUSE, Yui
@ 2013-05-15 11:36 ` Zachary Scott
2013-05-15 12:16 ` [ruby-dev:47349] " NARUSE, Yui
0 siblings, 1 reply; 7+ messages in thread
From: Zachary Scott @ 2013-05-15 11:36 UTC (permalink / raw
To: ruby developers list
[-- Attachment #1: Type: text/plain, Size: 1240 bytes --]
Sorry to go off-topic, but is there an English translation for the
Assumptions wiki page? Is it still valid?
On Wednesday, May 15, 2013, NARUSE, Yui wrote:
> 「Rubyソースコードの仮定事項」に追加してしまいますかねぇ
>
> https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/AssumptionsJa
>
> 2013年5月15日 17:23 Tanaka Akira <akr@fsij•org <javascript:;>>:
> > 2013年5月14日 8:00 Tanaka Akira <akr@fsij•org <javascript:;>>:
> >> 気がついてしまったのですが、Ruby 1.9.2 のころから
> >> include/ruby/ruby.h に以下のコードがあります。
> >>
> >> #ifdef SIZEOF_LONG_LONG
> >> typedef char ruby_check_sizeof_long_long[SIZEOF_LONG_LONG ==
> >> sizeof(LONG_LONG) ? 1 : -1];
> >> #endif
> >
> > この部分はなかださんが変えてしまったので書いておきますが、
> > 少なくとも bigdecimal と dl が無条件に LONG_LONG を使うようで、
> > LONG_LONG がなくても動くようになったわけではありません。
> >
> > まぁ、bigdecimal での使い方はひどく怪しくて、
> > [ruby-dev:47340] はそこから見つけたものですが。
> > --
> > [田中 哲][たなか あきら][Tanaka Akira]
> >
>
>
>
> --
> NARUSE, Yui <naruse@airemix•jp <javascript:;>>
>
>
[-- Attachment #2: Type: text/html, Size: 1887 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* [ruby-dev:47349] Re: LONG_LONG availability
2013-05-15 11:36 ` [ruby-dev:47348] " Zachary Scott
@ 2013-05-15 12:16 ` NARUSE, Yui
0 siblings, 0 replies; 7+ messages in thread
From: NARUSE, Yui @ 2013-05-15 12:16 UTC (permalink / raw
To: ruby developers list
It is still valid but there's no English version.
Therefore I add
https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/Assumptions with
google translete ;-)
2013年5月15日 20:36 Zachary Scott <zachary@zacharyscott•net>:
> Sorry to go off-topic, but is there an English translation for the
> Assumptions wiki page? Is it still valid?
>
>
> On Wednesday, May 15, 2013, NARUSE, Yui wrote:
>>
>> 「Rubyソースコードの仮定事項」に追加してしまいますかねぇ
>>
>> https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/AssumptionsJa
>>
>> 2013年5月15日 17:23 Tanaka Akira <akr@fsij•org>:
>> > 2013年5月14日 8:00 Tanaka Akira <akr@fsij•org>:
>> >> 気がついてしまったのですが、Ruby 1.9.2 のころから
>> >> include/ruby/ruby.h に以下のコードがあります。
>> >>
>> >> #ifdef SIZEOF_LONG_LONG
>> >> typedef char ruby_check_sizeof_long_long[SIZEOF_LONG_LONG ==
>> >> sizeof(LONG_LONG) ? 1 : -1];
>> >> #endif
>> >
>> > この部分はなかださんが変えてしまったので書いておきますが、
>> > 少なくとも bigdecimal と dl が無条件に LONG_LONG を使うようで、
>> > LONG_LONG がなくても動くようになったわけではありません。
>> >
>> > まぁ、bigdecimal での使い方はひどく怪しくて、
>> > [ruby-dev:47340] はそこから見つけたものですが。
>> > --
>> > [田中 哲][たなか あきら][Tanaka Akira]
>> >
>>
>>
>>
>> --
>> NARUSE, Yui <naruse@airemix•jp>
>>
>
--
NARUSE, Yui <naruse@airemix•jp>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [ruby-dev:47358] Re: LONG_LONG availability
2013-05-15 8:23 ` [ruby-dev:47345] " Tanaka Akira
2013-05-15 8:29 ` [ruby-dev:47346] " NARUSE, Yui
@ 2013-05-20 1:15 ` Kenta Murata
2013-05-20 1:24 ` [ruby-dev:47359] " Tanaka Akira
1 sibling, 1 reply; 7+ messages in thread
From: Kenta Murata @ 2013-05-20 1:15 UTC (permalink / raw
To: ruby developers list
[-- Attachment #1: Type: text/plain, Size: 555 bytes --]
むらたです。
2013/5/15 Tanaka Akira <akr@fsij•org>:
> まぁ、bigdecimal での使い方はひどく怪しくて、
> [ruby-dev:47340] はそこから見つけたものですが。
もしかして、
> bigdecimal.c:2186: vexp = LL3NUM((LONG_LONG)round(d));
ここですよね?
--
Kenta Murata
OpenPGP FP = 1D69 ADDE 081C 9CC2 2E54 98C1 CEFE 8AFB 6081 B062
本を書きました!!
『Ruby 逆引きレシピ』 http://www.amazon.co.jp/dp/4798119881/mrkn-22
E-mail: mrkn@mrkn•jp
twitter: http://twitter.com/mrkn/
blog: http://d.hatena.ne.jp/mrkn/
[-- Attachment #2: Type: text/html, Size: 1452 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* [ruby-dev:47359] Re: LONG_LONG availability
2013-05-20 1:15 ` [ruby-dev:47358] " Kenta Murata
@ 2013-05-20 1:24 ` Tanaka Akira
0 siblings, 0 replies; 7+ messages in thread
From: Tanaka Akira @ 2013-05-20 1:24 UTC (permalink / raw
To: ruby developers list
2013年5月20日 10:15 Kenta Murata <muraken@gmail•com>:
> もしかして、
>
>> bigdecimal.c:2186: vexp = LL3NUM((LONG_LONG)round(d));
>
> ここですよね?
はい。そうです。表現可能な範囲を考慮せずに double を LONG_LONG に
cast するなんて怪しいですよね。
--
[田中 哲][たなか あきら][Tanaka Akira]
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-05-20 1:49 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-13 23:00 [ruby-dev:47341] LONG_LONG availability Tanaka Akira
2013-05-15 8:23 ` [ruby-dev:47345] " Tanaka Akira
2013-05-15 8:29 ` [ruby-dev:47346] " NARUSE, Yui
2013-05-15 11:36 ` [ruby-dev:47348] " Zachary Scott
2013-05-15 12:16 ` [ruby-dev:47349] " NARUSE, Yui
2013-05-20 1:15 ` [ruby-dev:47358] " Kenta Murata
2013-05-20 1:24 ` [ruby-dev:47359] " Tanaka Akira
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).