usa
b9da060bd8
* ext/bigdecimal/bigdecimal.c (isfinite): get rid of a warning on
...
cygwin. [Bug #12417 ][ruby-core:75691]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-23 11:21:11 +00:00
usa
921ff3029b
* ext/bigdecimal/bigdecimal.c (isfinite): isfinite does not always
...
exist. fixed build error on Windows itroduced at r55123.
I found that more complex definition of isfinite in numeric.c.
But it's unused because it inplicitly checks not defined _WIN32.
I don't know why the code do that.
IMO, the definition of isfinite should be put at missing.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-23 06:55:48 +00:00
nobu
4a574f7ad9
bigdecimal.c: fix FloatDomainError
...
* ext/bigdecimal/bigdecimal.c (GetVpValueWithPrec): consider
non-finite float values not to raise FloatDomainError.
[ruby-core:75682] [Bug #12414 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-23 03:30:30 +00:00
hsbt
0e382a3dd8
* encoding.c: Fix return value of Encoding::ISO8859_1.name
...
[Bug #12313 ][ruby-core:75147][ci skip]
* ext/bigdecimal/bigdecimal.c: Fix code sample of `BigDecimal.new`
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-25 02:17:54 +00:00
ko1
dff42b0ea0
* ext/**/*.c (*_memsize): same as r52986 for extensions.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-09 01:01:17 +00:00
hsbt
d1decf0dfe
* ext/bigdecimal/bigdecimal.c: Fix double word typo.
...
[ci skip][fix GH-1120] Patch by @jwworth
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-02 01:36:30 +00:00
nobu
859314cbc6
bigdecimal.c: suppress warnings
...
* ext/bigdecimal/bigdecimal.c (AddExponent): suppress
strict-overflow warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-08 06:29:13 +00:00
nobu
57e2877e7b
ext: use RARRAY_AREF
...
* ext/**/*.c: prefer RARRAY_AREF to indexing RARRAY_CONST_PTR.
pointed out by hanmac.
https://github.com/ruby/ruby/commit/3553a86#commitcomment-14187670
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-05 01:09:17 +00:00
nobu
3553a86eb5
ext: use RARRAY_CONST_PTR
...
* ext/bigdecimal/bigdecimal.c: use RARRAY_CONST_PTR just fore
reference instead of RARRAY_PTR, to keep the array WB-protected.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-04 07:27:10 +00:00
nobu
bdf07741f3
bigdecimal.c: wrapper object before alloc
...
* ext/bigdecimal/bigdecimal.c (VpNewRbClass): make wrapper object
before result structs allocation and manage refcount for each
elements to get rid of potential memory leak.
* ext/bigdecimal/bigdecimal.c (BigDecimal_global_new): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-05-27 08:02:28 +00:00
mrkn
8b9db31f94
* bigdecimal: conform to ruby's license. [ruby-core:68466] [Bug #10952 ]
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50185 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-08 07:18:46 +00:00
nobu
a44f7a3ee6
bigdecimal.c: format specifiers
...
* ext/bigdecimal/bigdecimal.c (VpInit, VpPower, VpVarCheck): fix
format specifiers of BDIGIT.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-04 07:32:58 +00:00
nobu
718b425306
bigdecimal.c: fix a typo
...
* ext/bigdecimal/bigdecimal.c (VpSetPTR): fix a typo, 'expoennt'
to 'exponent'. [ruby-core:67980] [Bug #10823 ] [Fix GH-825]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-04 07:32:43 +00:00
mrkn
78400919ba
* ext/bigdecimal/bigdecimal.c (rb_rational_num): add fallback function
...
for rubies lower than 2.2.0.
* ext/bigdecimal/bigdecimal.c (rb_rational_den): ditto.
* ext/bigdecimal/extconf.rb: check the existences of struct RRational,
rb_rational_num, and rb_rational_den.
* ext/bigdecimal/bigdecimal.bundle: bump version.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-29 14:34:43 +00:00
hsbt
60c580fdcd
* ext/bigdecimal/bigdecimal.c: fixes documentation like labeled lists,
...
code examples etc. [ruby-core:66730][Bug #10576 ][ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-12 04:50:55 +00:00
nobu
d5b81e6844
fix printf format conversion specifiers
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-26 05:33:01 +00:00
nobu
e580a631be
use 0 for reserved
...
use 0 for rb_data_type_t::reserved instead of NULL, since its type
may be changed in the future and possibly not a pointer type.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-01 06:38:04 +00:00
mrkn
bf3d294ae8
* ext/bigdecimal/bigdecimal.c: [DOC] Add description of
...
`BigDecimal.new` exceptions. Patched by @joker1007 and
@prathamesh-sonpatki [Fixes GH-690]
https://github.com/ruby/ruby/pull/690
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-31 22:36:16 +00:00
akr
e56d2c385a
* include/ruby/ruby.h: Hide Rational internal.
...
(RRational): Moved to internal.h
(RRATIONAL): Ditto.
(RRATIONAL_SET_NUM): Moved to rational.c.
(RRATIONAL_SET_DEN): Ditto.
* rational.c (rb_rational_num): New function.
(rb_rational_den): Ditto.
* include/ruby/intern.h (rb_rational_num): Declared.
(rb_rational_den): Ditto.
* ext/bigdecimal/bigdecimal.c: Follow the above change.
* ext/date/date_core.c: Ditto.
[ruby-core:60665] [Feature #9513 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-17 16:37:41 +00:00
nobu
1f29e8e2ba
class.c: do nothing if copying self
...
* class.c (rb_mod_init_copy): do nothing if copying self.
[ruby-dev:47989] [Bug #9535 ]
* hash.c (rb_hash_initialize_copy): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-21 11:42:03 +00:00
mrkn
260cdec9a9
* ext/bigdecimal/bigdecimal.c (BigDecimal_initialize): Insert GC guard.
...
* ext/bigdecimal/bigdecimal.c (BigDecimal_global_new): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45015 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-16 17:14:11 +00:00
nobu
beb2d4c5a5
bigdecimal.c: refine macros
...
* ext/bigdecimal/bigdecimal.c (PUSH, SAVE): remove extra
semicolons.
* ext/bigdecimal/bigdecimal.c (GUARD_OBJ): add parentheses and
make an expression instead of a statement.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-16 07:53:18 +00:00
akr
037ceae571
* ext/bigdecimal/bigdecimal.c (BIGNUM_ZERO_P): Unused macro removed.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-15 22:48:43 +00:00
akr
3c99764bcd
* internal.h: Rename macro names: RBIGNUM_FOO to BIGNUM_FOO.
...
(BIGNUM_EMBED_LEN_NUMBITS): Renamed from RBIGNUM_EMBED_LEN_NUMBITS.
(BIGNUM_EMBED_LEN_MAX): Renamed from RBIGNUM_EMBED_LEN_MAX.
(BIGNUM_SIGN_BIT): Renamed from RBIGNUM_SIGN_BIT.
(BIGNUM_SIGN): Renamed from RBIGNUM_SIGN.
(BIGNUM_SET_SIGN): Renamed from RBIGNUM_SET_SIGN.
(BIGNUM_POSITIVE_P): Renamed from RBIGNUM_POSITIVE_P.
(BIGNUM_NEGATIVE_P): Renamed from RBIGNUM_NEGATIVE_P.
(BIGNUM_EMBED_FLAG): Renamed from RBIGNUM_EMBED_FLAG.
(BIGNUM_EMBED_LEN_MASK): Renamed from RBIGNUM_EMBED_LEN_MASK.
(BIGNUM_EMBED_LEN_SHIFT): Renamed from RBIGNUM_EMBED_LEN_SHIFT.
(BIGNUM_LEN): Renamed from RBIGNUM_LEN.
(RBIGNUM_DIGITS): Renamed from RBIGNUM_DIGITS.
(BIGNUM_LENINT): Renamed from RBIGNUM_LENINT.
* bignum.c: Follow the above change.
* gc.c: Ditto.
* marshal.c: Ditto.
* math.c: Ditto.
* numeric.c: Ditto.
* random.c: Ditto.
* rational.c: Ditto.
* sprintf.c: Ditto.
* ext/-test-/bignum/bigzero.c: Ditto.
* ext/-test-/bignum/intpack.c: Ditto.
* ext/bigdecimal/bigdecimal.c: Ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-15 21:17:34 +00:00
akr
09e6766d1a
* ext/bigdecimal/bigdecimal.c (BigMath_s_log): Use rb_big_cmp instead of
...
RBIGNUM_NEGATIVE_P.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-11 14:55:37 +00:00
akr
c1de2f4e3a
* bignum.c (rb_big_cmp): Specialize a comparison to zero.
...
* ext/bigdecimal/bigdecimal.c (is_negative): Use rb_big_cmp instead of
RBIGNUM_NEGATIVE_P.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-11 14:43:23 +00:00
nobu
f5a12ac596
bigdecimal.c: rename macros
...
* ext/bigdecimal/bigdecimal.c (RB_OBJ_CLASSNAME): rename from CLASS_NAME().
* ext/bigdecimal/bigdecimal.c (RB_OBJ_STRING): for object itself.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-15 08:16:33 +00:00
nobu
0a8988c132
bigdecimal.c: backword compatibility as gem
...
* ext/bigdecimal/bigdecimal.c (CLASS_NAME): macro to wrap
depending on PRIsVALUE for 1.9. [Backport #9406 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-14 06:58:43 +00:00
nobu
88383b058b
bigdecimal.c: backword compatibility as gem
...
* ext/bigdecimal/bigdecimal.c (DECIMAL_SIZE_OF_BITS): fallback
definition for 2.1 or older. [ruby-core:59750] [Backport #9406 ]
* ext/bigdecimal/bigdecimal.c (raise_with_class): fallback definition
for 1.9.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-14 05:51:58 +00:00
mrkn
e7fe5648cf
* ext/bigdecimal/bigdecimal.c (BigDecimal_divide): Add an additional
...
digit for the quotient to be compatible with bigdecimal 1.2.1 and
the former. [ruby-core:59365] [#9316 ] [#9305 ]
* test/bigdecimal/test_bigdecimal.rb: tests for the above change.
* ext/bigdecimal/bigdecimal.gemspec: bigdecimal version 1.2.4.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-13 17:29:58 +00:00
nobu
eadaa8ba8b
ext: use PRIsVALUE for rb_raise and rb_warn
...
* ext/bigdecimal/bigdecimal.c (BigDecimal_new): use PRIsVALUE for
rb_raise() and rb_warn().
* ext/openssl/ossl_cipher.c (ossl_cipher_init): ditto.
* ext/racc/cparse/cparse.c (extract_user_token): ditto.
* ext/syslog/syslog.c (mSyslog_log): ditto.
* ext/openssl/ossl.h (OSSL_Check_Kind, OSSL_Check_Instance): now
ossl_raise() also accepts PRIsVALUE.
* ext/openssl/ossl_asn1.c (ossl_asn1_default_tag):
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-13 00:57:38 +00:00
nobu
5e9b7bacc3
ruby/util.h: DECIMAL_SIZE_OF_BITS
...
* include/ruby/util.h (DECIMAL_SIZE_OF_BITS): a preprocessor
constant macro to approximate decimal representation size of n-bits
integer.
* iseq.c (register_label): use DECIMAL_SIZE_OF_BITS for better
approximation.
* ext/bigdecimal/bigdecimal.c (BigMath_s_log): ditto.
* common.mk (iseq.o), ext/bigdecimal/depend (bigdecimal.o): add
dependency to ruby/util.h for DECIMAL_SIZE_OF_BITS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-12 00:21:37 +00:00
nobu
2b1c47dadc
bigdecimal.c: expand buffer
...
* ext/bigdecimal/bigdecimal.c (BigMath_s_log): expand buffer size for
64bit platforms.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-11 03:15:01 +00:00
eregon
1cc709a84a
* ext/bigdecimal: update class method call style from :: to .
...
in documentation and usage.
* ext/bigdecimal/lib/bigdecimal/math.rb: [DOC] fix examples values.
Computations were made using ruby 2.0.0p247 to ensure
no effect of the recent BigDecimal bug.
* ext/bigdecimal/sample/nlsolve.rb: fix indent.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-02 15:10:13 +00:00
mrkn
df33325192
* ext/bigdecimal/bigdecimal.c (VpSetPTR): fix for limitation of the resulting
...
precision.
* test/bigdecimal/test_bigdecimal.rb (test_limit): add tests for the above
change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-12 17:02:27 +00:00
mrkn
7d3538db3f
* ext/bigdecimal/bigdecimal.c (VpAddAbs): put out a conditional branch from
...
the inside of while-loop.
* ext/bigdecimal/bigdecimal.c (VpSubAbs): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-12 17:02:24 +00:00
mrkn
27d53fb5df
* ext/bigdecimal/bigdecimal.c (VPrint): be a static function, support another
...
dump formats, and add more information of the given bigdecimal.
* ext/bigdecimal/bigdecimal.h: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-12 17:02:20 +00:00
mrkn
0727a22c69
* bigdecimal.c (BigDecimal_coerce): convert a Float to a BigDecimal instead
...
of converting the receiver to a Float.
[ruby-core:58756] [Bug #9192 ]
* test/bigdecimal/test_bigdecimal.rb: add tests for the above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-08 11:20:51 +00:00
mrkn
2308fb170e
* ext/bigdecimal/bigdecimal.c (GetVpValueWithPrec):
...
treat 0.0 and -0.0 of floating-point numbers specially for an optimization
and to correctly propagate its signbit to the result.
[Bug #9214 ] [ruby-core:58858]
* test/bigdecimal/test_bigdecimal.rb: add tests case for the above change.
* test/bigdecimal/test_bigdecimal_util.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-05 16:34:59 +00:00
mrkn
10ca8a4b07
* ext/bigdecimal/bigdecimal.c (BigDecimal_power): Use FIX2LONG instead
...
of FIX2INT to avoid conversion error.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-23 16:08:23 +00:00
mrkn
b09f41587c
exp
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-23 10:49:36 +00:00
mrkn
926960b01b
* ext/bigdecimal/bigdecimal.c (BigDecimal_div2): The signature was
...
changed to allow us to pass arguments directly.
* ext/bigdecimal/bigdecimal.c (BigDecimal_div3): Added for the role of
the old BigDecimal_div2.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-23 10:36:40 +00:00
mrkn
909d14a1db
* ext/bigdecimal/bigdecimal.c (BigDecimal_power):
...
Round the result value only if the precision is given.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-22 13:31:26 +00:00
mrkn
15185e875d
* ext/bigdecimal/bigdecimal.c (BigDecimal_data_type):
...
Use RUBY_TYPED_FREE_IMMEDIATELY only if it is available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-22 08:05:58 +00:00
mrkn
2043bb5c34
* ext/bigdecimal/bigdecimal.c (BigDecimal_power): Round the result value.
...
[Bug #8818 ] [ruby-core:56802]
* test/bigdecimal/test_bigdecimal.rb: Add a test for the above fix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-22 07:52:17 +00:00
mrkn
5ff5938120
* ext/bigdecimal/bigdecimal.c (BigMath_s_exp): Insert rb_thread_check_ints.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-22 05:55:45 +00:00
mrkn
467c9ec3b7
* ext/bigdecimal/bigdecimal.c (BigMath_s_exp): Fix the inserting points
...
of RB_GC_GUARDs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-22 05:54:05 +00:00
mrkn
4131c29f87
* ext/bigdecimal/bigdecimal.c: Fix indentation.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-22 05:50:34 +00:00
mrkn
b6f664686e
* ext/bigdecimal/bigdecimal.c (VpAlloc): Fix the expr to adjust the size
...
of the digit array.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-21 12:42:01 +00:00
mrkn
ff3e585014
* ext/bigdecimal/bigdecimal.c (BigDecimal_sqrt): Fix the precision of
...
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
2013-11-21 12:37:46 +00:00