[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:000195] Re: short



堀之内です。

>> >あと NetCDF などではしばしは short integer (2 byte 整数)が使われますけ
>> >ど, こんなのも簡単に取り込めますか?
>> 
>> 実装しはじめて気づきましたが、これって 2 byte であることを保
>> 証する方法が思い付きません。浮動小数点数についてはIEEEで詳し
>> く決まっているのですが、ANSI Cの定める整数の制約はずっと緩い
>> モノなので、たとえばDECの Alpha なんかでは short は 4 byte 
>> だったと思います。ポータブルな方法としては、要素2のchar配列
>> を使うという手もありますが考えただけでめまいがします。

私は処理系によっては 4 byte になるのはしょうがないと思います。
メモリー的に無駄ではありますが。

NetCDF との整合性については問題ありません。NetCDF の場合出力の型は陽に
指定するようになってますから、アプリケーションのほうで、当該言語の 
"short" はデフォルトでは NetCDF の "short" で出力するといった設定をす
ることになります。その際両者の "short" が異なっても構わないです 
(NetCDFがちゃんとインストールされていれば)。

# ところで私は short もいいけど、byte も欲しいと思います。

>> 外のひとの意見も聞いてみようと NetCDF の ncgen を見てみたら
>> どうも sizeof(short) == 2 を仮定しているようです。

私がかつて使ってたアルファでは NetCDF は問題なく動いてました。
自分ではインストールしてないので、configure 一発なのか何か工夫が要るの
かは知りませんが、アルファユーザーは多いので前者でないかと想像します。

# 高橋君、地物のアルファではどう?

>> # それ以前に、Ruby 1.4.3 は sizeof(int) != 4 なマシン、たと
>> # えば Alpha では動かない(はず)という問題もあるけど

げげ、それは嬉しくない。

堀之内 武                 horinout@xxxxxx
京都大学超高層電波研究センター    611-0011 宇治市五ヶ庄
phone:0774-38-3812                     fax:0774-31-8463