# Rb\_to\_float $B$,CY$$(B

**URL:** <https://www.ruby-forum.com/t/rb-to-float-b-cy-b/191041>\
**Category:** Development\
**Created:** [July 3, 2010, 9:09am UTC](https://www.ruby-forum.com/t/rb-to-float-b-cy-b/191041 "2010-07-03T09:09:16Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![whiteleaf](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/d26b3c/32.png) [@whiteleaf](https://www.ruby-forum.com/u/whiteleaf)\
**Post date:** [July 3, 2010, 9:09am UTC](https://www.ruby-forum.com/t/rb-to-float-b-cy-b/191041/1 "2010-07-03T09:09:16Z")

</div>

whiteleaf e$B$H?=$7$^$9!#e(B

e$B%P%0$H8@$C$F$h$$$N$+$o$+$i$J$+$C$?$N$G%A%1%C%H$K$O$7$^$;$s$G$7$?!#e(B

object.c e$B$Ne(B rb\_to\_float e$B$Ge(B T\_FLOAT  
e$B0J30$N%G!\<%?$,EO$5$l$?;~$,CY$$$G$9!#e(B  
e$BNc$($P$3$s$J;~$K1F6A$,=P$F$-$^$9!#e(B

require “benchmark”  
Benchmark.bm { |bm|  
vertecies = Array.new(3 \* 600000).fill(0)  
bm.report {  
vertecies.pack(“f\*”)  
}  
}

ruby 1.9.3dev (2010-07-03 trunk 28532) [i386-cygwin]  
user system total real  
1.437000 0.000000 1.437000 ( 1.433000)

e$B\>e$NNc$O!“e(BOpenGL e$B$GBgNL$ND:E@%G!\<%?$re(B glBufferSubData  
e$B$H$$$&4X?t$,;H$($k$?$a$N%G!\<%?$Ke(B  
e$BJQ49$7$F$$$k%7!\<%s$rA[Dj$7$F$$$^$9!#%]%j%4%s$ND:E@%G!\<%?$OBgNL$K$”$k$3$H$,IaDL$J$N$G!“L5BL$KB?$/$7$F$”$ke(B  
e$B$o$1$G$O$"$j$^$;$s!#e(B

e$B$b$A$m$s:G=i$+$ie(B float  
e$B$KJQ49$7$F$\*$1$PLdBj$J$$$o$1$G$9$,!"0l2s$R$C$+$+$C$?$N$G!D!D!#e(B

rb\_convert\_type e$B$G$O$J$/e(B rb\_Float e$B$r;H$($PB.$/$J$j$^$7$?!#e(B

e$B!Je(Brb\_Float e$B$KJQ998e!Ke(B  
user system total real  
0.813000 0.031000 0.844000 ( 0.849000)

# Index: object.c

— object.c (e$B%j%S%8%g%se(B 28532)  
+++ object.c (e$B:n6H%3%T!\<e(B)  
@@ -2293,7 +2293,7 @@  
val == Qfalse ? “false” :  
rb\_obj\_classname(val));  
}

- return rb\_convert\_type(val, T\_FLOAT, “Float”, “to\_f”);

- return rb\_Float(val);  
}

VALUE

---

<div class="post-metadata">

**Author:** ![whiteleaf](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/d26b3c/32.png) [@whiteleaf](https://www.ruby-forum.com/u/whiteleaf)\
**Post date:** [July 3, 2010, 2:32pm UTC](https://www.ruby-forum.com/t/rb-to-float-b-cy-b/191041/2 "2010-07-03T14:32:21Z")

</div>

Sora H.e$B$G$9e(B.

2010/7/3 whiteleaf [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> e$B%P%0$H8@$C$F$h$$$N$+$o$+$i$J$+$C$?$N$G%A%1%C%H$K$O$7$^$;$s$G$7$?!#e(B

e$B%P%0$8$c$J$/$F$bJs9p$O4?7^$5$l$k$H;W$$$^$9$he(B.

e$B%A%1%C%H$K$7$F$bLdBj$J$$$H;W$$$^$9e(B. (e$B%+%F%4%j$Oe(B Feature  
e$B$,K\>$^$7$$$+$Je(B)

---

<div class="post-metadata">

**Author:** ![whiteleaf](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/d26b3c/32.png) [@whiteleaf](https://www.ruby-forum.com/u/whiteleaf)\
**Post date:** [July 4, 2010, 2:55am UTC](https://www.ruby-forum.com/t/rb-to-float-b-cy-b/191041/3 "2010-07-04T02:55:39Z")

</div>

e$B$J$+$@$G$9!#e(B

At Sat, 3 Jul 2010 16:09:01 +0900,  
whiteleaf wrote in [ruby-dev:41795]:

> e$B%P%0$H8@$C$F$h$$$N$+$o$+$i$J$+$C$?$N$G%A%1%C%H$K$O$7$^$;$s$G$7$?!#e(B

Buge$B$"$k$$$Oe(BFeaturee$B$G$bEPO?\<+BN$O$4\<+M3$K$I$&$\>!#e(B

> e$B\>e$NNc$O!“e(BOpenGL e$B$GBgNL$ND:E@%G!\<%?$re(B glBufferSubData e$B$H$$$&4X?t$,;H$($k$?$a$N%G!\<%?$Ke(B  
> e$BJQ49$7$F$$$k%7!\<%s$rA[Dj$7$F$$$^$9!#%]%j%4%s$ND:E@%G!\<%?$OBgNL$K$”$k$3$H$,IaDL$J$N$G!“L5BL$KB?$/$7$F$”$ke(B  
> e$B$o$1$G$O$"$j$^$;$s!#e(B
> 
> e$B$b$A$m$s:G=i$+$ie(B float e$B$KJQ49$7$F$\*$1$PLdBj$J$$$o$1$G$9$,!"0l2s$R$C$+$+$C$?$N$G!D!D!#e(B
> 
> rb\_convert\_type e$B$G$O$J$/e(B rb\_Float e$B$r;H$($PB.$/$J$j$^$7$?!#e(B

e$B$3$l$GB.$/$J$k$N$Oe(BFixnum,Bignum,Stringe$B$N;0$De(B(e$B$H$=$N%5%V%/%i%9e(B)e$B$@e(B  
e$B$1$G$9$,!"$3$l$@$1B.$/$J$C$F$&$l$7$$$s$G$7$g$&$+!#$=$NBe=~$H$7$Fe(B  
to\_fe$B$N%\*!\<%P!\<%i%$%I$,L5;k$5$l$k$h$&$K$J$j$^$9$7!#e(B

e$B$=$b$=$b%Q%U%)!\<%^%s%9$r9M$($k$N$G$"$l$P!"e(BArray#packe$B$Ge(BFloate$B$KJQe(B  
e$B49$5$;$k$3$H\<+BN$,0l;~%\*%V%8%’%/%H$rBgNL$K;H$$\<N$F$K$9$k$3$H$K$Je(B  
e$B$k$N$G!"Hr$1$k$Y$-$G$O$J$$$+$H;W$$$^$9$,!#e(B

---

<div class="post-metadata">

**Author:** ![whiteleaf](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/d26b3c/32.png) [@whiteleaf](https://www.ruby-forum.com/u/whiteleaf)\
**Post date:** [July 4, 2010, 8:47am UTC](https://www.ruby-forum.com/t/rb-to-float-b-cy-b/191041/4 "2010-07-04T08:47:57Z")

</div>

whiteleaf e$B$G$9e(B

> e$B$3$l$GB.$/$J$k$N$Oe(BFixnum,Bignum,Stringe$B$N;0$De(B(e$B$H$=$N%5%V%/%i%9e(B)e$B$@e(B  
> e$B$1$G$9$,!"$3$l$@$1B.$/$J$C$F$&$l$7$$$s$G$7$g$&$+!#$=$NBe=~$H$7$Fe(B  
> to\_fe$B$N%\*!\<%P!\<%i%$%I$,L5;k$5$l$k$h$&$K$J$j$^$9$7!#e(B

e$B$=$&$$$($Pe(B to\_f  
e$B:FDj5A$K$h$k%]%j%b!\<%U%#%:%`$N$3$H$r40A4$K\<:G0$7$F$$$^$7$?!#e(B  
1.9.1e$B$Ne(B pack  
e$B$NJQ49$,$"$^$j$K$bCY$9$.$?$N$Ge(B(+buggy)e$B!“CY$$$J!A$H$$$&@hF~4Q$,$”$C$?$N$G$9$,!"e(B  
e$B:G?7$N%3!\<%I$@$H:#$N$^$^$G$b==J,B.$$$N$G!“8B$i$l$?%/%i%9$@$1B.$/$J$C$F$be(B  
e$B$”$s$^$j$&$l$7$/$O$J$$$G$9$M!#e(B

> e$B$=$b$=$b%Q%U%)!\<%^%s%9$r9M$($k$N$G$"$l$P!"e(BArray#packe$B$Ge(BFloate$B$KJQe(B  
> e$B49$5$;$k$3$H\<+BN$,0l;~%\*%V%8%’%/%H$rBgNL$K;H$$\<N$F$K$9$k$3$H$K$Je(B  
> e$B$k$N$G!"Hr$1$k$Y$-$G$O$J$$$+$H;W$$$^$9$,!#e(B

e$B$=$&$G$9$M!"$b$A$m$s\<B:]$N%3!\<%I$G$OHr$1$^$9!#e(B  
e$B$J$N$G!"$d$C$Q$jMxJX$r\<N$F$FL5M}$KB.$/$9$kI,MW$b$J$5$=$&$G$9$M!#e(B
