数値変換 on scim-skk

This entry was posted by on Wednesday, 24 August, 2005
>できたー! うひょー。 > >……と思ったのもつかのま。 boost が肥大化しまくっている。といっても現状では lexical_cast しか使ってないけど、それにもいろいろ依存関係があって、どんどんデカくなってしまっているのだった。こんな感じ。 > >% du --si boost | tail -n 1
11M boost
% du --si src | tail -n 1
481k src
> >うーむさすがにこんなものを添付するわけにはいかないなあ。 > >実は依存関係を手繰っていった結果、「んー mpl の一部が必要なのか。んじゃ面倒だし boost/mpl は丸ごとコピーするべ」という富豪的なことをした結果なので、本来的にはもっとずっと減らせる筈ではあるけれども、どんだけ削ったとしても相当な量にはなるだろう。これはまずい。 > >かといってビルドするには boost をインストールしてください、っていうわけにもいかないよねぇ……と、悩んでいます。てか、はっきり言って lexical_cast で大したことをしているわけではないので(ホントに atoi のかわりみたいなモン)、これくらいなら自分で書け!と。でもそれじゃあ、どれくらいからなら boost を使ったものを公開して良いかという匙加減は正直、よくわからない。 > >また、実際には boost は開発者とパッケージ作者だけが持っていればよく、単なる利用者はインストールする必要ないから別にいいかなぁとも思っているんですが……だめかなあ。 > >ということで悩んでいてコミットしていないのですが、まあとりあえず早晩のうちに lexical_cast をやめて自力の関数を書き直してからコミットの予定。しばしお待ちください。 > >あと、面倒くさいので数値を int にしていたら、2^31-1より大きな数を与えると scim ごとおなくなりになってしまう(笑)。やっぱり long long くらいにしておくとして。 2^63-1 はだいたい 10^19 弱くらいだから、おおなんだ、垓がサポートされないのか……(2^31 は20億くらいなので、1兆円とかを打込めない。まあ数字で1000000000000とか入力する人がどんだけいるんだ、という話はあるんですが)。 > >そういえば C++ は boost になっても多倍長整数は存在しないのですね。作るのはべつに難しくはない気がしますが、なんでないんだろう。 > > >追記 >: というわけでコミットした。 unsigned long long なので、一千京より大きな数字を入れると、桁あふれで異なる数値になることがあるけど、実際問題そんな巨大な数値を直接入れることはない気がするし、まあいいでしょう。#0、#1、#2、#3、#4、#5、#9を実装していますが、#4は未テストです。テスター募集中。ってかその前に複数辞書か辞書サーバを扱えるようにしないと、#4は使いづらいか。 >

Comments are closed.