[Gauche-devel-jp] Re: [Q] gauche.array

アーカイブの一覧に戻る

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



Gauche-devel-jp メーリングリストの案内
アーカイブの一覧に戻る