[#11507] parser generator — Minero Aoki <aamine@...>

あおきです。今年もよろしくおねがいいたします。

54 messages 1999/01/07
[#11508] Re: parser generator — ttate@... 1999/01/07

立石です。

[#11511] Re: parser generator — shugo@... (Shugo Maeda) 1999/01/08

[#11514] Re: parser generator — keiju@... (石塚圭樹 ) 1999/01/08

けいじゅ@日本ラショナルソフトウェアです.

[#11517] Re: parser generator — aamine@... 1999/01/08

あおきです。

[#11519] Re: parser generator — keiju@... (石塚圭樹 ) 1999/01/09

けいじゅ@日本ラショナルソフトウェアです.

[#11521] Re: parser generator — aamine@... 1999/01/10

あおきです。

[#11537] Re: parser generator — keiju@... (石塚圭樹 ) 1999/01/12

けいじゅ@日本ラショナルソフトウェアです.

[#11564] Re: parser generator — Minero Aoki <aamine@...> 1999/01/14

あおきです。

[#11566] Re: parser generator — keiju@... (石塚圭樹 ) 1999/01/14

けいじゅ@日本ラショナルソフトウェアです.

[#11585] Re: parser generator — aamine@... 1999/01/16

あおきです。

[#11611] Re: parser generator — keiju@... (石塚圭樹 ) 1999/01/18

けいじゅ@日本ラショナルソフトウェアです.

[#11643] [racc] help me [Re: parser generator] — keiju@... (石塚圭樹 ) 1999/01/20

けいじゅ@日本ラショナルソフトウェアです.

[#11648] Re: [racc] help me [Re: parser generator] — kjana@... (YANAGAWA Kazuhisa) 1999/01/20

In message <199901200705.QAA02084.keiju@bc.mbn.or.jp>

[#11659] Re: [racc] help me [Re: parser generator] — keiju@... (石塚圭樹 ) 1999/01/21

けいじゅ@日本ラショナルソフトウェアです.

[#11661] Re: [racc] help me [Re: parser generator] — kjana@... (YANAGAWA Kazuhisa) 1999/01/21

In message <199901210735.QAA03189.keiju@bc.mbn.or.jp>

[#11664] Re: [racc] help me [Re: parser generator] — keiju@... (石塚圭樹 ) 1999/01/21

けいじゅ@日本ラショナルソフトウェアです.

[#11681] Re: [racc] help me — Minero Aoki <aamine@...> 1999/01/22

あおきです。

[#11685] Re: [racc] help me — keiju@... (石塚圭樹 ) 1999/01/23

けいじゅ@日本ラショナルソフトウェアです.

[#11687] Re: [racc] help me — aamine@... 1999/01/23

あおきです。

[#11740] Re: [racc] help me — keiju@... (石塚圭樹 ) 1999/01/26

けいじゅ@日本ラショナルソフトウェアです.

[#11759] Re: [racc] help me — aamine@... 1999/01/27

あおきです。

[#11783] Re: [racc] help me — keiju@... (石塚圭樹 ) 1999/01/28

けいじゅ@日本ラショナルソフトウェアです.

[#11793] Re: [racc] help me — aamine@... 1999/01/28

あおきです。

[#11812] Re: [racc] help me — keiju@... (石塚圭樹 ) 1999/01/29

けいじゅ@日本ラショナルソフトウェアです.

[#11553] はじめまして&環境変数についての質問 — Atsuko Yoshida <atsuko@...>

こんにちは。はじめまして。

22 messages 1999/01/14

[#11587] Array.new([SIZE]) — Yoshinori Toki <toki@...>

土岐です。

15 messages 1999/01/17

[#11621] Segmentation fault — polygon <polygon@...>

ポリゴンです。

18 messages 1999/01/19

[#11660] ruby 1.2.2 released — matz@... (Yukihiro Matsumoto)

Hi.

19 messages 1999/01/21

[#11720] ruby からの MSAccess への DB アクセス方法 — ymaekawa@...

はじめまして前川@NECと申します。

13 messages 1999/01/25
[#11723] Re: ruby からの MSAccess への DB アクセス方法 — たむら けんいち <t9655832@...> 1999/01/25

たむら です。

[#11746] (joke :-) ruby chip — Noritsugu Nakamura <nnakamur@...>

14 messages 1999/01/26
[#11747] Re: (joke :-) ruby chip — "Kikutani, Makoto" <kikutani@...> 1999/01/26

Wed, Jan 27, 1999 at 07:19:14AM +0900 において

[#11803] Array クラス — hisanori@...

松尾です。

36 messages 1999/01/29
[#11804] Re: Array クラス — matz@... (Yukihiro Matsumoto) 1999/01/29

まつもと ゆきひろです

[#11807] RE: Array クラス — ozawa@... 1999/01/29

最近Beなさくです。

[#11813] RE: Array クラス — ISII takesi <isii@...> 1999/01/29

石井です。

[#11814] Re: Array クラス — keiju@... (Keiju ISHITSUKA) 1999/01/29

けいじゅ@日本ラショナルソフトウェアです.

[#11815] Re: Array クラス — matz@... (Yukihiro Matsumoto) 1999/01/29

まつもと ゆきひろです

[ruby-list:11762] Re: [BUG] 3e9.to_i => floating exception

From: SHUDO Kazuyuki <shudoh@...>
Date: 1999-01-27 09:00:25 UTC
List: ruby-list #11762
首藤です。

こいつは厄介です。#でもなかなか興味深い。:)

> % 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

In This Thread