[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:000421] Re: proto2c
ごとけんさま
proto2c を動かしてみました。穴埋めするところが、とてもわかり
やすいですね。いくつか質問があります。
( DCL ラッパーの名前、今は仮に Ruby/DCL としていますが、何と
呼びましょうか?)
・Ruby/DCLの引数として、実数の配列に相当するのは、NumArray
クラスのオブジェクト。Array クラスのオブジェクトも含めま
すよね?
・math1/syslib の GLRGET(CP, RPARA) の様に出力用の引数を持つ
場合、Ruby/DCL では
rpara = glrget(cp)
となりますよね。複数の場合は、Array クラスのオブジェクトを
返す、でいいでしょうか。
・実装面で、Ruby <--> C 間のデータ変換ですが
data | Ruby -> C | C -> Ruby
-----------+-------------------+-------------------
int | NUM2INT() | INT2NUM()
char* | STR2CSTR() | rb_str_new2()
float | NUM2DBL()+cast | cast+rb_float_new()
で統一してよいですか。また、Array クラスのオブジェクトを
作るには、各要素をオブジェクト化して rb_ary_new3() でよろ
しいですか?
川那辺さま:
NumArray を Cのfloat配列に変換する関数の名前は何にしますか。
また、教えてください。
塩谷先生:
上で挙げた math1/syslib GLRGET なんですが、proto2c が参照
するプロトタイプ宣言は、第2引数が整数になっています。f2c
版のDCLでも、実装は integer になっていました。Fortran 版
を直せば、他も OK になるのでしょうか?
黒井 啓子