aboutsummaryrefslogtreecommitdiffstats
path: root/ext/bigdecimal
Commit message (Collapse)AuthorAgeFilesLines
...
* * ext/bigdecimal/bigdecimal.c (BigMath_s_exp): Insert rb_thread_check_ints.mrkn2013-11-221-0/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c (BigMath_s_exp): Fix the inserting pointsmrkn2013-11-221-9/+16
| | | | | | of RB_GC_GUARDs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c: Fix indentation.mrkn2013-11-221-9/+9
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c (VpAlloc): Fix the expr to adjust the sizemrkn2013-11-211-1/+3
| | | | | | of the digit array. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c (BigDecimal_sqrt): Fix the precision ofmrkn2013-11-211-5/+5
| | | | | | | | | the result BigDecimal of sqrt. [Bug #5266] [ruby-dev:44450] * test/bigdecimal/test_bigdecimal.rb: add tests for the above changes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/lib/bigdecimal/util.rb: [DOC] remove example ofnagachika2013-11-141-2/+0
| | | | | | Rational#to_d without argument. [Bug #8958] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/lib/bigdecimal/util.rb: [DOC] +precision+ is requiredzzak2013-11-131-1/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/lib/bigdecimal/util.rb: [DOC] Document the requiredzzak2013-11-131-3/+7
| | | | | | | | | | | +precision+ argument for Rational#to_d [Bug #8958] -This line, and those below, will be ignored-- M ChangeLog M ext/bigdecimal/lib/bigdecimal/util.rb git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * add RUBY_TYPED_FREE_IMMEDIATELY to data types which only useko12013-10-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | safe functions during garbage collection such as xfree(). On default, T_DATA objects are freed at same points as fianlizers. This approach protects issues such as reported by [ruby-dev:35578]. However, freeing T_DATA objects immediately helps heap usage. Most of T_DATA (in other words, most of dfree functions) are safe. However, we turned off RUBY_TYPED_FREE_IMMEDIATELY by default for safety. * cont.c: ditto. * dir.c: ditto. * encoding.c: ditto. * enumerator.c: ditto. * error.c: ditto. * file.c: ditto. * gc.c: ditto. * io.c: ditto. * iseq.c: ditto. * marshal.c: ditto. * parse.y: ditto. * proc.c: ditto. * process.c: ditto. * random.c: ditto. * thread.c: ditto. * time.c: ditto. * transcode.c: ditto. * variable.c: ditto. * vm.c: ditto. * vm_backtrace.c: ditto. * vm_trace.c: ditto. * ext/bigdecimal/bigdecimal.c: ditto. * ext/objspace/objspace.c: ditto. * ext/stringio/stringio.c: ditto. * ext/strscan/strscan.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c: [DOC] several fixes by @chastellzzak2013-09-261-14/+14
| | | | | | | | | This includes fixing the capitalization of Infinity, return value of example "BigDecimal.new('NaN') == 0.0", and code style in example. [Fixes GH-398] https://github.com/ruby/ruby/pull/398 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Eliminate less-than-zero checks for unsigned variablesnobu2013-09-121-4/+4
| | | | | | | | | | | * ext/bigdecimal/bigdecimal.c, ext/digest/md5/md5.c, ext/json/fbuffer/fbuffer.h, ext/json/generator/generator.c: Eliminate less-than-zero checks for unsigned variables. According to section 4.1.5 of C89 standard, size_t is an unsigned type. These checks were found with 'cppcheck' static analysis tool. [ruby-core:57117] [Feature #8890] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/lib/bigdecimal/util.rb: [DOC] document top-levelzzak2013-07-151-0/+21
| | | | | | | classes from BigDecimal utils native extensions git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.h (RB_UNUSED_VAR, UNREACHABLE):mrkn2013-07-012-1/+13
| | | | | | | | | import macros from ruby.h for 1.9.3. [Bug #8588] [ruby-core:55730] * ext/bigdecimal/bigdecimal.gemspec: Bump version to 1.2.1. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41725 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c (BigDecimal_save_rounding_mode): fix typo.charliesome2013-06-261-1/+1
| | | | | | Fixes GH-343. Patch by @jgarber. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c (BigMath_s_exp): Fix for the cases whenmrkn2013-06-251-1/+1
| | | | | | | | the argument x is not a BigDecimal. This change is based on the patch made by Garth Snyder. [Fix GH-332] https://github.com/ruby/ruby/pull/332 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal: Workaround fix for bigdecimal test failures causedakr2013-06-202-16/+25
| | | | | | | | | | | | | | | | | | | | by [ruby-dev:47413] [Feature #8509] * ext/bigdecimal/bigdecimal.h (BDIGIT): Make it independent from the definition for bignum.c. (SIZEOF_BDIGITS): Ditto. (BDIGIT_DBL): Ditto. (BDIGIT_DBL_SIGNED): Ditto. (PRI_BDIGIT_PREFIX): Undefine the definition. (PRI_BDIGIT_DBL_PREFIX): Ditto. * ext/bigdecimal/bigdecimal.c (RBIGNUM_ZERO_P): Use rb_bigzero_p. (bigzero_p): Removed. (is_even): Use rb_big_pack. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c: Update overview formatting of headerszzak2013-06-151-13/+18
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41309 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.gemspec: Update authorszzak2013-06-151-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41308 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/*: improve documentation, nodoc samples with @mrknzzak2013-06-134-7/+28
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/lib/bigdecimal/util.rb (Float#to_d): fix the numbermrkn2013-06-041-1/+1
| | | | | | | | | of figures. Patch by Vipul A M <vipulnsward@gmail.com>. https://github.com/ruby/ruby/pull/323 fix GH-323 * test/bigdecimal/test_bigdecimal_util.rb: fix for the above change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c (BigDecimal_power): use rb_dbl2bigmrkn2013-05-311-1/+6
| | | | | | to convert a double value to a Bignum. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c: Formatting for BigMath [Fixes GH-306]zzak2013-05-192-26/+66
| | | | | | | | Based on a patch by @eLobato. * ext/bigdecimal/lib/bigdecimal/math.rb: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typos. Patch by k_takata.ktsj2013-05-192-13/+13
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/mkmf.rb: Add ruby/ruby.h, ruby/missing.h, ruby/intern.h,akr2013-04-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ruby/st.h and ruby/subst.h for ruby_headers in generated Makefile. * ext/-test-/old_thread_select/depend: Update dependencies. * ext/-test-/wait_for_single_fd/depend: Ditto. * ext/bigdecimal/depend: Ditto. * ext/curses/depend: Ditto. * ext/digest/bubblebabble/depend: Ditto. * ext/digest/depend: Ditto. * ext/digest/md5/depend: Ditto. * ext/digest/rmd160/depend: Ditto. * ext/digest/sha1/depend: Ditto. * ext/digest/sha2/depend: Ditto. * ext/dl/callback/depend: Ditto. * ext/dl/depend: Ditto. * ext/etc/depend: Ditto. * ext/nkf/depend: Ditto. * ext/objspace/depend: Ditto. * ext/pty/depend: Ditto. * ext/readline/depend: Ditto. * ext/ripper/depend: Ditto. * ext/sdbm/depend: Ditto. * ext/socket/depend: Ditto. * ext/stringio/depend: Ditto. * ext/strscan/depend: Ditto. * ext/syslog/depend: Ditto. * ext/-test-/num2int/depend: Removed. * ext/dbm/depend: Ditto. * ext/fcntl/depend: Ditto. * ext/gdbm/depend: Ditto. * ext/racc/cparse/depend: Ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c (VpCtoV): Initialize a local variableakr2013-04-101-1/+3
| | | | | | | even when overflow. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (rb_ll2big): Don't overflow on signed integer negation.akr2013-04-101-0/+24
| | | | | | | | | | | | * ext/bigdecimal/bigdecimal.c (MUL_OVERFLOW_SIGNED_VALUE_P): New macro. (AddExponent): Don't overflow on signed integer multiplication. (VpCtoV): Don't overflow on signed integer arithmetic. (VpCtoV): Don't overflow on signed integer arithmetic. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* code cleanup by @vipulnsward [GH fixes #267]hsbt2013-03-292-3/+0
| | | | | | | | | | * lib/cgi/core.rb: change each to each_value * ext/bigdecimal/lib/bigdecimal/{jacobian,math}.rb: remove unused variables from bigdecimal lib git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Suppress warningsnaruse2013-03-231-14/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c (BigDecimal_divide): Use Qnil and NIL_Pmrkn2013-03-231-4/+4
| | | | | | | | | | | | instead of (VALUE)0 as a return value. * ext/bigdecimal/bigdecimal.c (BigDecimal_div): ditto. * ext/bigdecimal/bigdecimal.c (BigDecimal_divremain): ditto. * ext/bigdecimal/bigdecimal.c (BigDecimal_remainder): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c: Fix style.mrkn2013-03-221-1659/+1720
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c: fixed typo. same as r39830ayumin2013-03-191-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c: fixed typo.ayumin2013-03-191-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* use INT2FIX(0) instead of INT2NUM(0).kazu2013-03-051-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.gemspec: bump to 1.2.0.mrkn2013-02-191-2/+2
| | | | | | [ruby-core:51777] [Bug #7761] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c (BigDecimal_to_s): use CRuby style.mrkn2013-01-141-30/+41
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c: use `RB_TYPE_P(x, t)` instead ofmrkn2013-01-141-21/+21
| | | | | | `TYPE(x) == t`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c (BigDecimal_sub):mrkn2013-01-131-5/+51
| | | | | | | | | | | | | | | | | need to specify precision for converting Rational and Float. [ruby-dev:46544] [Bug #7404] * ext/bigdecimal/bigdecimal.c (BigDecimal_mult): ditto. * ext/bigdecimal/bigdecimal.c (BigDecimal_divide): ditto. * ext/bigdecimal/bigdecimal.c (BigDecimal_DoDivmod): ditto. * ext/bigdecimal/bigdecimal.c (BigDecimal_divremain): ditto. * test/bigdecimal/test_bigdecimal.rb: add tests for the above fixes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c (rmpd_power_by_big_decimal):mrkn2013-01-071-0/+2
| | | | | | | | | | add RB_GC_GUARD to prevent the immediate object is GCed too early. This patch was made by Yusuke Endoh. [Bug #7044] [ruby-core:47632] * test/bigdecimal/test_bigdecimal.rb: add a reproduction test for the issue [Bug #7044] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (RB_UNUSED_VAR): new macro to suppressshugo2012-12-131-1/+1
| | | | | | | | | warnings for unused variables. * ext/bigdecimal/bigdecimal.c (ENTER): use RB_UNUSED_VAR() to suppress annoying warnings by -Wunused-but-set-variable in gcc 4.6. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c (BigDecimal_new): stop checking stringmrkn2012-12-021-1/+0
| | | | | | taintness. [Bug #5508] [ruby-core:40510] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c:zzak2012-11-091-83/+161
| | | | | | | | | | Documentation for BigDecimal Based on a patch from Vincent Batts [ruby-core:49047] [Bug #7305] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c (BigDecimal_new),mrkn2012-11-011-1/+3
| | | | | | | test/bigdecimal/test_bigdecimal.rb: Fix exception message of BigDecimal constructor with a Float. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c (BigDecimal_add),mrkn2012-11-011-15/+29
| | | | | | | | test/bigdecimal/test_bigdecimal.rb: need to specify precision for converting Rational and Float. [ruby-core:48045] [Bug #7176] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c (BigDecimal_to_f): use self's sign tousa2012-08-311-2/+2
| | | | | | | | determine 0.0 and Inf's sign instead of internal double value's. Reported by phasis68 (Heesob Park) at [ruby-core:47381] [Bug #6955] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bigdecimal.c: check underflownobu2012-08-301-2/+4
| | | | | | | | * ext/bigdecimal/bigdecimal.c (BigDecimal_to_f): check underflow since strtod() sets errno to ERANGE at underflow too. [ruby-core:47342] [Bug #6944] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bigdecimal.c: fix format specifiernobu2012-08-051-1/+1
| | | | | | | * ext/bigdecimal/bigdecimal.c (BigMath_s_log): fix format specifier. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/lib/bigdecimal/jacobian.rb,mrkn2012-05-302-2/+2
| | | | | | | | ext/bigdecimal/lib/bigdecimal/newton.rb: fix documentation comments. Patch by alperakgun from github.com/shyouhei/ruby/pull/8 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/lib/bigdecimal/jacobian.rb (Jacobian#dfdxi):mrkn2012-05-301-1/+2
| | | | | | | | fix jacobian to get stuck in an infinite loop when a solution is not found due to forget to increment nRetry counter. Patch by alperakgun from github.com/shyouhei/ruby/pull/8 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/bigdecimal/bigdecimal.c (PUSH): to prevent VALUE from GC,nobu2012-05-111-1/+1
| | | | | | | | must not cast it to unsigned long, which may be shorter than VALUE, and the result can be mere garbage. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert r35616 "* ext/bigdecimal/bigdecimal.c: use RB_GC_GUARD. [ruby-dev:45627]"nobu2012-05-111-293/+213
| | | | | | | | | RB_GC_GUARD() is only for variables on the machine stack, because it forces a VALUE to be stored in a variable which should be referenced from the GC, but does not add any reference path to the variable. So it makes no sense for objects in heap. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e