前田です。

In message "[ruby-list:4617] array --> float of C (ruby module)"
Noritsugu Nakamura <nnakamur / mxq.meshnet.or.jp> wrote:

|static void set_color(...., struct RArray *color_p)
|{
|  int i;
|
|  for(i = 0; i < color_p->len; i++){
|	color[i] = NUM2INT(color_p->ptr[i]);
|  }
|}
|
|とやったら整数に変換されてしまいました。
|# 2INT だからあたりまえなんですが。
|README ではそのままキャストすればいいと
|書いてあったのですが、その意味が分かりませんでした。

TYPE(obj) == T_FLOATを確認してRFLOAT(obj)->valueでFloatの値を
得ることができます。
# valueはfloatではなくdoubleです。

-- 
前田 修吾