[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