COMP_MODE_ROUNDUP -> COMP_MODE_ROUND
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
f802b75575
commit
28f3cb3fd8
@ -1402,7 +1402,7 @@ Init_bigdecimal(void)
|
|||||||
/* Computation mode */
|
/* Computation mode */
|
||||||
rb_define_const(rb_cBigDecimal, "COMP_MODE",INT2FIX(VP_COMP_MODE));
|
rb_define_const(rb_cBigDecimal, "COMP_MODE",INT2FIX(VP_COMP_MODE));
|
||||||
rb_define_const(rb_cBigDecimal, "COMP_MODE_TRUNCATE",INT2FIX(VP_COMP_MODE_TRUNCATE));
|
rb_define_const(rb_cBigDecimal, "COMP_MODE_TRUNCATE",INT2FIX(VP_COMP_MODE_TRUNCATE));
|
||||||
rb_define_const(rb_cBigDecimal, "COMP_MODE_ROUNDUP",INT2FIX(VP_COMP_MODE_ROUNDUP));
|
rb_define_const(rb_cBigDecimal, "COMP_MODE_ROUND",INT2FIX(VP_COMP_MODE_ROUNDUP));
|
||||||
rb_define_const(rb_cBigDecimal, "COMP_MODE_CEIL",INT2FIX(VP_COMP_MODE_CEIL));
|
rb_define_const(rb_cBigDecimal, "COMP_MODE_CEIL",INT2FIX(VP_COMP_MODE_CEIL));
|
||||||
rb_define_const(rb_cBigDecimal, "COMP_MODE_FLOOR",INT2FIX(VP_COMP_MODE_FLOOR));
|
rb_define_const(rb_cBigDecimal, "COMP_MODE_FLOOR",INT2FIX(VP_COMP_MODE_FLOOR));
|
||||||
rb_define_const(rb_cBigDecimal, "COMP_MODE_EVEN",INT2FIX(VP_COMP_MODE_EVEN));
|
rb_define_const(rb_cBigDecimal, "COMP_MODE_EVEN",INT2FIX(VP_COMP_MODE_EVEN));
|
||||||
@ -3912,8 +3912,15 @@ VpPower(Real *y, Real *x, S_INT n)
|
|||||||
Real *w2 = NULL;
|
Real *w2 = NULL;
|
||||||
|
|
||||||
if(VpIsZero(x)) {
|
if(VpIsZero(x)) {
|
||||||
if(n<0) n = -n;
|
sign = VpGetSign(x);
|
||||||
VpSetZero(y,(n%2)?VpGetSign(x):(-VpGetSign(x)));
|
if(n<0) {
|
||||||
|
n = -n;
|
||||||
|
if(sign<0) sign = (n%2)?(-1):(1);
|
||||||
|
VpSetInf (y,sign);
|
||||||
|
} else {
|
||||||
|
if(sign<0) sign = (n%2)?(-1):(1);
|
||||||
|
VpSetZero(y,sign);
|
||||||
|
}
|
||||||
goto Exit;
|
goto Exit;
|
||||||
}
|
}
|
||||||
if(!VpIsDef(x)) {
|
if(!VpIsDef(x)) {
|
||||||
|
@ -161,14 +161,14 @@ f = BigDecimal::mode(BigDecimal::COMP_MODE,flag)
|
|||||||
where flag must be one of:
|
where flag must be one of:
|
||||||
<TABLE>
|
<TABLE>
|
||||||
<TR><TD>COMP_MODE_TRUNCATE</TD><TD>truncate</TD></TR>
|
<TR><TD>COMP_MODE_TRUNCATE</TD><TD>truncate</TD></TR>
|
||||||
<TR><TD>COMP_MODE_ROUNDUP</TD><TD>roundup,default</TD></TR>
|
<TR><TD>COMP_MODE_ROUND</TD><TD>round,default</TD></TR>
|
||||||
<TR><TD>COMP_MODE_CEIL</TD><TD>ceil</TD></TR>
|
<TR><TD>COMP_MODE_CEIL</TD><TD>ceil</TD></TR>
|
||||||
<TR><TD>COMP_MODE_FLOOR</TD><TD>floor</TD></TR>
|
<TR><TD>COMP_MODE_FLOOR</TD><TD>floor</TD></TR>
|
||||||
<TR><TD>COMP_MODE_EVEN</TD><TD>Banker's rounding</TD></TR>
|
<TR><TD>COMP_MODE_EVEN</TD><TD>Banker's rounding</TD></TR>
|
||||||
</TABLE>
|
</TABLE>
|
||||||
nil is returned if any argument is illegal.<BR>
|
nil is returned if any argument is illegal.<BR>
|
||||||
The digit location for rounding operation can not be specified by mode method,
|
The digit location for rounding operation can not be specified by mode method,
|
||||||
use truncate/roundup/ceil/floor mthods for each instance instead.
|
use truncate/round/ceil/floor mthods for each instance instead.
|
||||||
|
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
|
|
||||||
|
@ -170,10 +170,10 @@ EXCEPTION_NaN
|
|||||||
f = BigDecimal::mode(BigDecimal::COMP_MODE,flag)
|
f = BigDecimal::mode(BigDecimal::COMP_MODE,flag)
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
の形式で指定します。<BR>
|
の形式で指定します。<BR>
|
||||||
ここで、flag は以下の一つを指定します。
|
ここで、flag は以下(括弧内は対応するインスタンスメソッド)の一つを指定します。
|
||||||
<TABLE>
|
<TABLE>
|
||||||
<TR><TD>COMP_MODE_TRUNCATE</TD><TD>全て切り捨てます(truncate)。</TD></TR>
|
<TR><TD>COMP_MODE_TRUNCATE</TD><TD>全て切り捨てます(truncate)。</TD></TR>
|
||||||
<TR><TD>COMP_MODE_ROUNDUP</TD><TD>四捨五入します(roundup、デフォルト)。</TD></TR>
|
<TR><TD>COMP_MODE_ROUND</TD><TD>四捨五入します(round、デフォルト)。</TD></TR>
|
||||||
<TR><TD>COMP_MODE_CEIL</TD><TD>数値の大きい方に繰り上げます(ceil)。</TD></TR>
|
<TR><TD>COMP_MODE_CEIL</TD><TD>数値の大きい方に繰り上げます(ceil)。</TD></TR>
|
||||||
<TR><TD>COMP_MODE_FLOOR</TD><TD>数値の小さい方に繰り下げます(floor)。</TD></TR>
|
<TR><TD>COMP_MODE_FLOOR</TD><TD>数値の小さい方に繰り下げます(floor)。</TD></TR>
|
||||||
<TR><TD>COMP_MODE_EVEN</TD><TD>四捨六入します。5の時は上位1桁が奇数の時のみ繰り上げます(Banker's rounding)。</TD></TR>
|
<TR><TD>COMP_MODE_EVEN</TD><TD>四捨六入します。5の時は上位1桁が奇数の時のみ繰り上げます(Banker's rounding)。</TD></TR>
|
||||||
@ -181,7 +181,7 @@ f = BigDecimal::mode(BigDecimal::COMP_MODE,flag)
|
|||||||
戻り値は指定前の flag の値です。
|
戻り値は指定前の flag の値です。
|
||||||
引数に正しくないものが指定された場合は nil が返ります。<BR>
|
引数に正しくないものが指定された場合は nil が返ります。<BR>
|
||||||
mode メソッドでは丸め操作の位置をユーザが指定することはできません。
|
mode メソッドでは丸め操作の位置をユーザが指定することはできません。
|
||||||
丸め操作と位置を自分で制御したい場合は truncate/roundup/ceil/floor といった
|
丸め操作と位置を自分で制御したい場合は truncate/round/ceil/floor といった
|
||||||
インスタンスメソッドを使用して下さい。
|
インスタンスメソッドを使用して下さい。
|
||||||
</BLOCKQUOTE>
|
</BLOCKQUOTE>
|
||||||
<LI><B>limit([n])</B></LI><BLOCKQUOTE>
|
<LI><B>limit([n])</B></LI><BLOCKQUOTE>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user