Shiro Kawai
shiro****@lava*****
2004年 11月 25日 (木) 21:16:05 JST
From: OGURISU Osamu <oguri****@lagen*****> Subject: [Gauche-devel-jp] Re: [Q] gauche.array Date: Thu, 25 Nov 2004 20:00:27 +0900 > 昨晩、CVSのext/uvectorを見ていたんですが、テンプレートから > の生成がシェルスクリプトからschemeスクリプトに変ったんです > ね。 はい。以前のシェルスクリプトは突貫工事で書いたのであまりに 汚くほとんど保守不能だったもので。 今のも綺麗ではないですが、ちゃんとやるならたぶんCのASTを 扱える汎用ライブラリを作ってそこからCを生成して…みたいな 感じで深みにはまりそうなので、当面は今ので妥協しときます。 > 一瞬Cベースで追加も簡単と思ったんですが、複素数の場合、 > > vec->elements[i] = fill; > > みたいに代入が(C90のcomplex.hでも使わないと)できないから、 > 特別扱い……それはせっかく良い枠組があるのに面倒とか思った > り。Gaucheでは基本的にC90の拡張は使わない方針なんですよね? 代入だけなら自分で struct complex64 { double x, double y }; とか定義しとけば問題ないと思います。 complex型は、Gaucheの動くプラットフォームならほとんどgccも 動くでしょうから使っちゃってもいいのかもしれません。ScmInt64等 でやっているようにconfigureで調べて自前の構造体と切替える こともできると思います。ただ、切替えが増えるほどテストのパスが 増えてゆくので、まあ様子をみながらぼちぼちやろうかと思います。 --shiro