matz
1df42597d1
cancel subversion backfire. sorry
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-07 08:44:45 +00:00
matz
eb807d42ec
* gc.c (rb_gc_set_params): allow GC parameter configuration by
...
environment variables. based on a patch from funny-falcon at
https://gist.github.com/856296 , but honors safe level.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-07 08:39:39 +00:00
mrkn
f83651ac30
* ext/bigdecimal/bigdecimal.c (VpMemAlloc): CVE-2011-0188.
...
Fixes a bug reported by Drew Yao <ayao at apple.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30993 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-01 04:40:49 +00:00
kazu
5e14eeb482
ext/bigdecimal/bigdecimal.h: suppress "warning: 'VPrint' declared 'static' but never defined".
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-11 08:46:28 +00:00
mrkn
0ec61a3156
* ext/bigdecimal/lib/bigdecimal/util.rb (to_digits): avoid unused
...
variables warning, reported by Aaron Patterson.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-16 00:37:31 +00:00
mrkn
3e85e58411
* ext/bigdecimal/bigdecimal.c (BIGDECIMAL_ENABLE_VPRINT):
...
VPrint is usually disabled. It's only used in debugging.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-29 08:55:17 +00:00
mrkn
ecfc868bdb
* ext/bigdecimal/bigdecimal.c (BigDecimal_save_limit):
...
return the result of a block.
* test/bigdecimal/test_bigdecimal.rb (test_save_limit):
add a test for the above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-29 08:55:11 +00:00
mrkn
fed832d7f2
* ext/bigdecimal/bigdecimal.c (BigDecimal_save_rounding_mode):
...
return the result of a block.
* test/bigdecimal/test_bigdecimal.rb (test_save_rounding_mode):
add a test for the above change.
* test/bigdecimal/test_bigdecimal.rb (test_save_exception_mode):
add a test for the return value of BigDecimal.save_exception_mode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-29 04:32:20 +00:00
usa
98d7c2b8f1
* ext/bigdecimal/bigdecimal.c (BigDecimal_div2, BigDecimal_add2,
...
BigDecimal_sub2, BigDecimal_mult2, VpLimitRound): remove meaningless
casts to get rid of compiler warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-29 03:48:21 +00:00
nobu
f20f30fc07
* ext/bigdecimal/bigdecimal.c (VPrint, VpToString): fix format.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-29 03:35:31 +00:00
mrkn
971a57004e
* ext/bigdecimal/bigdecimal.c (check_rounding_mode, BigDecimal_mode):
...
raise ArgumentError instead of TypeError passing invalid modes.
* test/bigdecimal/test_bigdecimal.rb (test_mode, test_round):
change against the above modifications.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29304 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-19 17:38:18 +00:00
mrkn
fb7fe14575
* ext/bigdecimal/bigdecimal.c (check_rounding_mode): added for
...
converting symbol to rounding mode number.
* ext/bigdecimal/bigdecimal.c (BigDecimal_mode, BigDecimal_round):
support to specify rounding mode by symbol.
* test/bigdecimal/test_bigdecimal.rb (test_mode, test_round):
add tests for avobe changes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-18 21:06:08 +00:00
mrkn
3cbda570c2
* ext/bigdecimal/bigdecimal.c: fix rounding algorithms for half-down
...
and half-even. This change is based on the patch created by Matthew
Willson, the reporter of this bug. [Bug #3803 ] [ruby-core:32136]
* test/bigdecimal/test_bigdecimal.rb: add tests for above changes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-18 20:19:38 +00:00
mrkn
a2bf9203e8
* ext/bigdecimal/bigdecimal.c (BigDecimal_save_exception_mode,
...
BigDecimal_save_rounding_mode, BigDecimal_save_limit): added.
* test/bigdecimal/test_bigdecimal.rb: added tests for the above
features.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-28 08:52:14 +00:00
mrkn
3dc6edf793
* ext/bigdecimal/bigdecimal.c (Init_bigdecimal, rmpd_set_thread_local_exception_mode, VpGetException, VpSetException): thread-local exception mode.
...
* ext/bigdecimal/bigdecimal.c (Init_bigdecimal, rmpd_set_thread_local_precision_limit, VpGetPrecLimit, VpSetPrecLimit): thread-local precision limit.
* ext/bigdecimal/bigdecimal.c (Init_bigdecimal, rmpd_set_thread_local_rounding_mode, VpGetRoundMode, VpSetRoundMode, VpException, VpInternalRound): thread-local rounding mode.
* ext/bigdecimal/bigdecimal.c (BigDecimal_mode, BigDecimal_round, VpIsRoundMode, VpGetRoundMode, VpSetRoundMode, VpActiveRound, VpMidRound, VpLeftRound), ext/bigdecimal/bigdecimal.h: use unsigned short for rounding mode.
* test/bigdecimal/test_bigdecimal.rb (test_mode): add test for setting rounding mode.
* test/bigdecimal/test_bigdecimal.rb (test_thread_local_mode): add test for setting mode thread-locally.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-26 00:14:18 +00:00
mrkn
af8cae1e7f
* ext/bigdecimal/bigdecimal.c (BigDecimal_to_f): to_f must underflow when the exponent is less than DBL_MIN_10_EXP - BASE_FIG.
...
* test/bigdecimal/test_bigdecimal.rb (test_to_f): added test for the above changes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-23 16:22:04 +00:00
usa
8eb121d812
* ext/bigdecimal/bigdecimal.h (llabs): never never never never never
...
use "long long".
* ext/bigdecimal.bigdecimal.c (BigDecimal_to_i): get rid of a warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-16 01:02:23 +00:00
mrkn
56d3b926ce
* ext/bigdecimal/bigdecimal.c (BigDecimal_dump, BigDecimal_inspect, VPrint, VpToString, VpVarCheck): use PRIuSIZE, PRIdSIZE, PRIdVALUE, and PRIxVALUE.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28996 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-15 09:20:44 +00:00
mrkn
1148f6a327
* ext/bigdecimal/bigdecimal.h (VpVtoD): fix a type of e.
...
* ext/bigdecimal/bigdecimal.c (BigDecimal_dump, BigDecimal_inspect): fix format for size_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28994 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-15 04:32:40 +00:00
mrkn
d86da0fcf1
* ext/bigdecimal/extconf.rb, ext/bigdecimal/bigdecimal.h (labs, llabs): support environments missing labs and llabs.
...
* ext/bigdecimal/bigdecimal.h (vabs): added.
* ext/bigdecimal/extconf.rb, ext/bigdecimal/bigdecimal.h, ext/bigdecimal/bigdecimal.c, test/bigdecimal/test_bigdecimal.rb (TestBigDecimal#test_new): replace U_LONG, S_LONG, S_INT, and U_INT with appropreate standard or ruby-provided types.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-14 15:22:43 +00:00
mrkn
f2c65c0a33
* ext/bigdecimal/bigdecimal.c: don't use // comment.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-11 02:02:16 +00:00
mrkn
7694956ef7
* ext/bigdecimal/bigdecimal.c, ext/bigdecimal/bigdecimal.h, ext/bigdecimal/extconf.rb: BASE and BASE_FIG are defined based on the size of BDIGIT and renamed.
...
* ext/bigdecimal/bigdecimal.c, ext/bigdecimal/bigdecimal.h: use BDIGIT for Real#frac.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-10 06:25:27 +00:00
mrkn
678af70ce8
* ext/bigdecimal/bigdecimal.h, ext/bigdecimal/bigdecimal.c: add extern declaration of rb_cBigDecimal.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-10 06:25:23 +00:00
nobu
c53664c84d
.cvsignore: have not been used already. [Bug #3468 ]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-07 05:43:21 +00:00
nobu
aa1141e167
* ext/bigdecimal/bigdecimal.c (BigDecimal_hash): fix type warnings.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-02 22:34:44 +00:00
mrkn
98685cc70f
* ext/bigdecimal/bigdecimal.c (BigDecimal_hash): use rb_memhash and take care of negative finite numbers properly.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-01 13:20:22 +00:00
nobu
25b9eb5e57
* include/ruby/ruby.h (rb_data_type_t): restructured. [ruby-dev:41862]
...
add parent member.
* error.c (rb_typeddata_inherited_p): new function.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-18 07:31:54 +00:00
mrkn
1c3e07f0d6
* ext/bigdecimal/bigdecimal.c (Init_bigdecimal): add two new constants BigDecimal::INFINITY and BigDecimal::NAN.
...
* ext/bigdecimal/lib/bigdecimal/math.rb (BigMath.exp): modify the behaviors for infinity arguments as same as Math.exp.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-03 07:47:00 +00:00
nobu
5b20a1398b
* ext/bigdecimal/lib/bigdecimal/math.rb (BigMath#log): improved
...
precision and performance. [ruby-dev:41295]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-12 06:04:59 +00:00
mrkn
74365313f7
* ext/bigdecimal/lib/bigdecimal/math.rb (atan), test/bigdecimal/test_bigmath.rb (test_atan): explicitly specify the precision for calculating a reciprocal number of an argument. [Bug #3267 ]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-11 05:11:59 +00:00
nobu
66abf4ad68
* ext/bigdecimal/bigdecimal.c (VpAlloc): ensure buf does not get
...
collected. based on a patch masaya tarui at [ruby-dev:41213].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-08 02:07:43 +00:00
naruse
54476a6024
* ext/bigdecimal/bigdecimal.c (VpCtoV): fix to check overflow.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-06 19:28:12 +00:00
nobu
c8316e30ae
* ext/bigdecimal/bigdecimal.c (BigDecimal_IsInfinite): don't use
...
non-ascii character.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-01 07:46:46 +00:00
nobu
382085b75b
* ext/bigdecimal: fixed types.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-28 00:47:22 +00:00
nobu
6c29e97c72
* ext/bigdecimal/bigdecimal.def: unnecessary.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-26 01:07:36 +00:00
nobu
cce2aa4958
* ext/bigdecimal/bigdecimal.c: suppressed warnings.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-26 01:07:32 +00:00
nobu
977267c2e0
* ext/**/*.[ch]: removed trailing spaces.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-22 08:04:13 +00:00
mrkn
5318e0f605
* ext/bigdecimal/bigdecimal.[ch]: replace _DEBUG with BIGDECIMAL_DEBUG to prevent activating debugging code when compiled with -DEBUG flag on Windows. [ruby-core:22989] #1308
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-21 17:22:27 +00:00
mame
49884b5769
* ext/bigdecimal/bigdecimal.c (BigDecimal_coerce): revert r23389,
...
which not only is unnecessary but also causes the inconsistency of
return type. [ruby-core:25706] [Bug #2129 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-16 12:36:41 +00:00
nobu
ad41699b47
* ext/bigdecimal/bigdecimal.c (BigDecimal_{to_i,mod,divmod,div2}):
...
removed unused variables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26969 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-17 20:58:34 +00:00
naruse
d4120b1f1d
* ext/bigdecimal/bigdecimal.c (VpCtoV): keep e's sign.
...
When e doesn't over flow e * BASE_FIG but overflow e * 10,
e will overflow.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-16 08:38:14 +00:00
mame
520053232e
* ext/bigdecimal/bigdecimal.c (BigDecimal_divide): fix precision too.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-09 14:49:41 +00:00
mame
03ad923cdd
* ext/bigdecimal/bigdecimal.c (BigDecimal_DoDivmod): fix precision.
...
[ruby-core:17472][ruby-dev:35372][ruby-dev:40105][ruby-dev:40358]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-09 14:30:30 +00:00
mame
7a4621eecf
* ext/bigdecimal/bigdecimal.c (BigDecimal_DoDivmod): get red of
...
floating point exception.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-03 18:02:47 +00:00
mame
6c1c35db17
* ext/bigdecimal/bigdecimal.c (BigDecimal_DoDivmod): fix infinity
...
handling. 1 / Infinity was evaluated to NaN.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-03 16:34:24 +00:00
matz
d1499525d5
* ext/bigdecimal/bigdecimal.c (BigDecimal_to_i): update RDoc to
...
denote that #to_i raises FloatDomainError for Inf and NaN.
* ext/bigdecimal/bigdecimal.c (BigDecimal_to_i): fast #to_i using
BigDecimal_split().
* bignum.c (conv_digit): use faster ISDIGIT() assuming ASCII.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-28 16:34:11 +00:00
mame
1d3c2678e2
* ext/bigdecimal/bigdecimal.c (BigDecimal_DoDivmod, BigDecimal_mod,
...
BigDecimal_divmod, BigDecimal_div2): BigDecimal#% and #div returned
an array itself that was returned by #divmod.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-26 15:25:04 +00:00
mame
48b4d8c528
* ext/bigdecimal/bigdecimal.c (VpCtoV): do not raise infinity
...
exception for BigDecimal("0E200000000000").
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-26 15:21:25 +00:00
mame
05d80e2fc6
* ext/bigdecimal/bigdecimal.c (VpCtoV): BigDecimal("0E200000000000")
...
was Infinity, not 0.
* test/bigdecimal/test_bigdecimal.rb: add a test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-01-26 12:52:49 +00:00
marcandre
553b55f6e6
ext/bigdecimal/bigdecimal_en.html: Remove obsolete information, fix typos
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-06 22:35:45 +00:00