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

[dennou-ruby:000193] short



ごとけんです

In message "[dennou-ruby:000187] Re: 1999/12/14 Memo"
    on 99/12/16, Masato Shiotani <shiotani@xxxxxx> writes:

>あと NetCDF などではしばしは short integer (2 byte 整数)が使われますけ
>ど, こんなのも簡単に取り込めますか?

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

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

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

さてさてどうしましょう…

-- gotoken