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

[dennou-ruby:002263] Ruby-ISPACK 作成中



水田です。

> From:     Ryo Mizuta <rmizuta@xxxxxxxxxxxxx>
> Date:     Fri, 20 May 2005 11:55:56 +0900
> 
> > 竹広です. 
> > 
> > 以前水田さんが, ruby から ISPACK を使えるようにした ruby ライブラリを
> > 作っておられたと記憶しておりますが, 今もまだどなたか(水田さん?)が
> > メンテナされているのでしょうか. あるいはさらに発展しておるのでしょうか. 
> > 現状と最新版のありかなどお教え下さいませんでしょうか. 
> 
> 2年前に自分で使う分だけつくったものが
> http://www.gfd-dennou.org/arch/ruby/products/ruby-ispack/index-j.htm
> に置いてあります(どこからもリンクが張ってない?)。それ以降は
> 手をつけていません。北村さんあたりが少し拡張しているかもしれません。
> SWIGかなんかで一気に全部ラップできるといいんですが。。

先週この話があってから一気に全部ラップする方法を考えました。

ラッパーを書くには引数が入力か出力かなどの情報が必要ですがソースには
書いてありませんので、ISPACKマニュアルのtexファイルを解析して
引数が整数か実数か、入力か出力か、配列なら大きさはいくらかという情報を
抽出し、その情報をもとにラッパーのソースを書き出すrubyスクリプトを
作ってみました。

これで今のところ数値計算に関するサブパッケージの7割ぐらい(STPACK,SMPACK,
SNPACK,SOPACK,C2PACK,N2PACK,SPPACK,P2PACK,P3PACK,NDPACK)のラッパーが
できています。ちゃんと全部動くわけではないと思いますが・・
手元ではSTPACKを使ったサンプルスクリプトで動作確認しています。
作業中のものを
http://www.gfd-dennou.org/arch/ruby/products/ruby-ispack/
に置いていきますのでどなたか人柱になっていただけるとうれしいです。
堀之内さんに言ったら作業変数を隠蔽するような上位のラッパーもほしい
っていうことですのでそれもおいおいできればいいかなと思います。

それより問題はextconf.rbを作ることで、これがまだないので
Makefileを自分の環境に合わせて書きかえる必要があります。
Fortranライブラリをラップする場合、コンパイラしか知らないような
隠れライブラリをリンクしないとならないので、広く使えるextconf.rbを
作るのは難しいみたいです。(Ruby-SSL2では対応は今のところ linux+FFC と
Solaris+SunFortran だけのようです)。どなたか何かご存じでしたら
おしえてください。


-- 
水田 亮
rmizuta@xxxxxxxxxxxxx