[#11507] parser generator — Minero Aoki <aamine@...>
あおきです。今年もよろしくおねがいいたします。
立石です。
けいじゅ@日本ラショナルソフトウェアです.
あおきです。
けいじゅ@日本ラショナルソフトウェアです.
あおきです。
立石です。
けいじゅ@日本ラショナルソフトウェアです.
あおきです。
けいじゅ@日本ラショナルソフトウェアです.
あおきです。
けいじゅ@日本ラショナルソフトウェアです.
けいじゅ@日本ラショナルソフトウェアです.
In message <199901200705.QAA02084.keiju@bc.mbn.or.jp>
けいじゅ@日本ラショナルソフトウェアです.
In message <199901210735.QAA03189.keiju@bc.mbn.or.jp>
けいじゅ@日本ラショナルソフトウェアです.
あおきです。
けいじゅ@日本ラショナルソフトウェアです.
あおきです。
けいじゅ@日本ラショナルソフトウェアです.
あおきです。
けいじゅ@日本ラショナルソフトウェアです.
あおきです。
けいじゅ@日本ラショナルソフトウェアです.
あおきです。
けいじゅ@日本ラショナルソフトウェアです.
あおきです。
[#11525] ruby 1.2.1 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#11542] \^x as control — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#11550] nif.rb ver0.31 — Wakou Aoyama <wakou@...>
青山です。
[#11553] はじめまして&環境変数についての質問 — Atsuko Yoshida <atsuko@...>
こんにちは。はじめまして。
こんにちは。あつこです。
[#11587] Array.new([SIZE]) — Yoshinori Toki <toki@...>
土岐です。
新井です。
土岐です。
立石です。
土岐です。
新井です。
まつもと ゆきひろです
新井です。
[#11612] djgpp 版の djdev の Version — たむら けんいち <t9655832@...>
[#11621] Segmentation fault — polygon <polygon@...>
ポリゴンです。
まつもと ゆきひろです
ポリゴンです。
[#11644] postgres-0.4.1 released — Eiji-usagi-MATSUmoto <ematsu@...>
まつもとえいじです
[#11647] Numeric#step の増減方向 — Yoshinori Toki <toki@...>
土岐です。
[#11660] ruby 1.2.2 released — matz@... (Yukihiro Matsumoto)
Hi.
0) ウェッブページが更新されていません.1.2.1-stable のままになっている.
まつもと ゆきひろです
えぐち@エスアンドイー です。
[#11711] Ruby 1.2.2 Make on Cygwin — たむら けんいち <t9655832@...>
たむら です。
[#11720] ruby からの MSAccess への DB アクセス方法 — ymaekawa@...
はじめまして前川@NECと申します。
たむら です。
[#11746] (joke :-) ruby chip — Noritsugu Nakamura <nnakamur@...>
Wed, Jan 27, 1999 at 07:19:14AM +0900 において
MobileGear1 for DoCoMo + PocketBSD ユーザーのCakeです。
[#11758] [BUG] 3e9.to_i => floating exception — gotoken@... (GOTO Kentaro)
ごとけんです
[#11774] MD5 クラスについて — たむら けんいち <t9655832@...>
[#11776] ruby-gtk spin button — takeshi@...
はじめまして。村上毅と申します。
まつもと ゆきひろです
[#11797] IOクラスのメソッドcloseで質問です — Atsuko Yoshida <atsuko@...>
こんにちは。あつこです。
[#11803] Array クラス — hisanori@...
松尾です。
まつもと ゆきひろです
最近Beなさくです。
石井です。
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
えぐち@エスアンドイー です。
まつもと ゆきひろです
前橋です。
まつもと ゆきひろです
[ruby-list:11762] Re: [BUG] 3e9.to_i => floating exception
首藤です。
こいつは厄介です。#でもなかなか興味深い。:)
> % ruby -ve '3e9.to_i'
> ruby 1.2.2(99/01/21) [i386-freebsd2.2.6]
> floating exception (core dumped)
> % ruby -ve '3e9.to_i'
> ruby 1.2.2(99/01/21) [i386-freebsd2.2.8]
> Floating exception (core dumped)
FreeBSD 2.2.7R でも同じでした。
% ./ruby -ve '4e9.to_i'
ruby 1.2.2(99/01/21) [i386-freebsd2.2.7]
Floating exception
まず、これは C で
double d = 4e9;
long l = (long)d;
と cast するだけで起きます。
gdb で調べたところ x86 の fistpl 命令(*)で SIGFPE が起きています。
(*) FPU レジスタのスタックトップから値を pop し、32bit 整数としてメモリに格納。
Linux では起きずに FreeBSD で起きるのは、
x86 FPU の control word の値が異なるからです。
Linux ではマスクされているある種の例外処理が FreeBSD ではマスクされていません。
つぎのプログラムで FPU の control word の値を調べました。
=====
#include <stdio.h>
int main(int argc, char **argv) {
unsigned short cw;
__asm__("fnstcw %0" : "=m"(cw));
printf("FPU control word: 0x%04x\n", (int)cw);
return 0;
}
=====
FreeBSD (2.2.7R): 0x1272
Linux: 0x037f
と異なっています。
FreeBSD と Linux で異なっているのは
PC: 制度制御
Linux: 64bit(内部実数)
FBSD : 53bit(倍精度実数)
OM: 桁あふれ、のマスク
ZM: ゼロによる除算、のマスク
IM: 不法操作、のマスク
Linux: 1 (マスクされている, FPU 内部の default error handler で処理)
FBSD : 0 (マスクされていない, ソフトウェアの error handler に渡す)
上記の FPU 例外 3種のどれかが起きていて、
FreeBSD ではマスクされていないので、SIGFPE が発生する、というわけです。
FPU 例外の内 3種がマスクされていないのは FreeBSD のポリシーでしょうか。
このようにすぐに発現する問題が過去に議論されていないとは到底思えないです。
さて、ruby 開発側としてはこの問題をどう扱うべきなのでしょうか...
SHUDO Kazuyuki/首藤一幸 私をたばねないで あらせいとうの花のように
shudoh@muraoka.info.waseda.ac.jp