Kenta Murata
654f6fbf19
[bigdecimal] Make BigDecimal#precs deprecated
...
7e80e6e145
0ed7846e8c
2020-12-19 22:13:58 +09:00
Kenta Murata
ff9e40811c
[bigdecimal] Add BigDecimal#precision
...
458eb66c49
2020-12-19 22:13:58 +09:00
Kenta Murata
928a06723d
[bigdecimal] Make bigdecimal Ractor safe
...
93fc392640
a90d13c4d0
2020-12-19 22:13:57 +09:00
Kenta Murata
97d4e72e0b
[bigdecimal] Use DBLE_FIG
...
12296dcb90
2020-12-19 22:13:57 +09:00
Kenta Murata
e1424c3501
[bigdecimal] Fix the default precision of Float#to_d
...
Fix https://github.com/ruby/bigdecimal/issues/70
[Bug #13331 ]
aa536cd4b5
2020-12-19 22:13:53 +09:00
Kenta Murata
d5ab8e8562
[bigdecimal] Use rb_undef_alloc_func to undefine allocate
2020-12-19 02:29:31 +09:00
Kenta Murata
a86c147579
Import bigdecimal 2.0.2 ( #3905 )
...
* remove duplicated include
* Make BigDecimal#round with argument < 1 return Integer
Fixes [Bug #12780 ]
* Use a higher default precision for BigDecimal#power and #**
When a fractional power is given, increase the precision if the
precision isn't specified via power's second argument:
Float: increase by 15 (rough number of decimal precision in float)
BigDecimal: increase by adding similar precision modifier as done to
calculate the base precision.
Rational: double the precision, since a BigDecimal is created, but
the created BigDecimal uses the same precision.
Increasing the precision for these power calculations has the obvious
tradeoff of making the calculations slower.
Fixes Ruby Bug #17264
* Use DBLE_FIG for a Float value
* Version 2.0.1
Co-authored-by: pavel <pavel.rosicky@easy.cz>
Co-authored-by: Jeremy Evans <code@jeremyevans.net>
2020-12-15 15:17:15 +09:00
Ikko Ashimine
df25007046
Fixed typo in comment
...
alway -> always
2020-10-10 02:32:21 -04:00
Kenta Murata
6a826eb4b0
[ruby/bigdecimal] Return US-ASCII string from BigDecimal#to_s
...
Fixes #159
57ee92e700
2020-07-06 01:15:47 +09:00
Kenta Murata
40b82afe6a
[ruby/bigdecimal] Support Ruby < 2.6
...
61ec452599
2020-07-06 01:15:46 +09:00
Jeremy Evans
d36b197d7c
[ruby/bigdecimal] Remove definition of BigDecimal#initialize_copy
...
This leaves the default definition, which will raise FrozenError.
05e843d838
2020-07-06 01:15:46 +09:00
Kenta Murata
f00efef30a
[ruby/bigdecimal] Support a Complex in Kernel.BigDecimal()
...
00795cb01f
2020-07-06 01:15:46 +09:00
Jeremy Evans
ceb9d516c6
[ruby/bigdecimal] Undef BigDecimal#initialize_copy
...
Both BigDecimal#clone and BigDecimal#dup return self, there is no
reason to have initialize_copy exposed as a Ruby method.
The same is true for initialize_clone and initialize_dup.
aaf237fa9e
2020-07-06 01:15:45 +09:00
Yusuke Endoh
61d451d6ce
ext/bigdecimal/bigdecimal.c, ext/date/date_core.c: undef NDEBUG
...
`#define NDEBUG` produces "macro redefined" warnings when it is already
defined via cppflags
2020-05-13 13:49:21 +09:00
Nobuyoshi Nakada
d8720eb7de
Suppress -Wshorten-64-to-32 warnings
2020-04-08 16:28:38 +09:00
Jeremy Evans
b38b26c62d
[ruby/bigdecimal] Remove taint checking
...
This removes the taint checking. Taint support is deprecated in
Ruby 2.7 and has no effect. I don't think removing the taint
checks in earlier ruby versions will cause any problems.
1918d466f3
2019-11-12 11:16:07 +09:00
Kenta Murata
dd0c75fdc2
Import changes from ruby/bigdecimal ( #2531 )
...
Sync to ruby/bigdecimal@92356ba71c
2019-10-08 09:06:28 +09:00
Jeremy Evans
2e551356a7
Make Kernel#{Pathname,BigDecimal,Complex} return argument if given correct type
...
This is how Kernel#{Array,String,Float,Integer,Hash,Rational} work.
BigDecimal and Complex instances are always frozen, so this should
not cause backwards compatibility issues for those. Pathname
instances are not frozen, so potentially this could cause backwards
compatibility issues by not returning a new object.
Based on a patch from Joshua Ballanco, some minor changes by me.
Fixes [Bug #7522 ]
2019-09-21 16:10:37 -07:00
Nobuyoshi Nakada
8745fa2ff0
Default to true when no exception flag [Bug #15987 ]
2019-07-11 21:05:25 +09:00
Nobuyoshi Nakada
f74e23af32
Fixed argument in the fallback function [Bug #15987 ]
2019-07-11 20:21:50 +09:00
Nobuyoshi Nakada
c2723e59c2
Removed wrong argument in the fallback function [Bug #15987 ]
2019-07-11 20:20:02 +09:00
Nobuyoshi Nakada
3e7d002118
Check exception flag as a bool [Bug #15987 ]
2019-07-11 20:04:29 +09:00
mrkn
8754b2391b
Import bigdecimal-1.4.0
...
* https://github.com/ruby/bigdecimal/compare/v1.4.0.pre.20181220a..v1.4.0
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-23 18:32:01 +00:00
mrkn
ccdba542d3
Import bigdecimal-1.4.0.pre.20181220a
...
* https://github.com/ruby/bigdecimal/compare/v1.4.0.pre.20181214a..v1.4.0.pre.20181220a
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-20 23:29:49 +00:00
mrkn
2810c12a99
Import bigdecimal 1.4.0.pre.20181205a
...
* 74d25ef
..v1.4.0.pre.20181205a
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 11:30:24 +00:00
mrkn
f15cf0918a
Revert bigdecimal 1.4.0 related commits
...
* Revert "Remove unnecessary linker flags"
This reverts commit 49efa01579
.
* Revert "Move dependency on gemspec"
This reverts commit bfb64d4765
.
* Revert "Remove unnecessary directory listing"
This reverts commit 86661b5c60
.
* Revert "* expand tabs."
This reverts commit 35ada33f83
.
* Revert "Import bigdecimal-1.4.0.pre-20181204a"
This reverts commit 8891bb3bd6
.
* Revert "ext/bigdecimal/bigdecimal.c: drop unused function"
This reverts commit 5ceeea4da1
.
* Revert "* expand tabs."
This reverts commit e021386e90
.
* Revert "Import bigdecimal-1.4.0.pre-20181130a"
This reverts commit a0e438cd3c
.
* Revert "NEWS: write about bigdecimal updates"
This reverts commit 89455ff2ba
.
* Revert "Fix rubyspec of bigdecimal for ruby <2.6"
This reverts commit 4bcdeeb65e
.
* Revert "Fix rubyspec against bigdecimal updates"
This reverts commit c8fb30fc9e
.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-05 04:01:53 +00:00
svn
35ada33f83
* expand tabs.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-04 04:22:12 +00:00
mrkn
8891bb3bd6
Import bigdecimal-1.4.0.pre-20181204a
...
* https://github.com/ruby/bigdecimal/compare/v1.4.0.pre.20181130a..v1.4.0.pre.20181204a
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-04 04:22:09 +00:00
k0kubun
5ceeea4da1
ext/bigdecimal/bigdecimal.c: drop unused function
...
This has been unused since r66124.
cc: @mrkn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-03 12:39:11 +00:00
svn
e021386e90
* expand tabs.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-02 05:21:57 +00:00
mrkn
a0e438cd3c
Import bigdecimal-1.4.0.pre-20181130a
...
* 74d25ef
..v1.4.0.pre.20181130a
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-02 05:21:54 +00:00
nobu
ee83dc3fe4
bigdecimal.c: fix missing argument
...
* ext/bigdecimal/bigdecimal.c (rb_rational_num, rb_rational_den):
fix missing argc argument for old ruby.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-03-26 00:25:16 +00:00
mrkn
ea68278fe3
bigdecimal: version 1.3.4
...
Import bigdecimal version 1.3.4. The full commit log is here:
https://github.com/ruby/bigdecimal/compare/v1.3.3...v1.3.4
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-24 06:22:41 +00:00
mrkn
61e58f7dc4
bigdecimal: version 1.3.3
...
Import bigdecimal version 1.3.3. The full commit log is here:
https://github.com/ruby/bigdecimal/compare/v1.3.2...v1.3.3
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-13 15:28:30 +00:00
nobu
1852b4a866
ext: check if null byte is contained
...
[ruby-dev:50267] [Bug #13953 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-30 08:35:23 +00:00
nobu
65b87de350
ruby.h: unnormalized Fixnum value
...
* include/ruby/ruby.h (ST2FIX): fix unnormalized Fixnum value bug
on mingw/mswin. [ruby-core:82687] [Bug #13877 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-07 03:24:08 +00:00
mrkn
65285fbdb8
bigdecimal: version 1.3.2
...
Import bigdecimal version 1.3.2. The full commit log is here:
https://github.com/ruby/bigdecimal/compare/v1.3.1...v1.3.2
This fixes [ruby-core:79603] [Bug #13232 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-13 06:03:18 +00:00
mrkn
70f772c3ef
bigdecimal: version 1.3.1
...
Import bigdecimal version 1.3.1. The full commit log is here:
https://github.com/ruby/bigdecimal/compare/v1.3.0...v1.3.1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-10 13:23:58 +00:00
mrkn
bd288dcc8b
bigdecimal: version 1.3.0
...
Import bigdecimal version 1.3.0. The full commit log is here:
https://github.com/ruby/bigdecimal/compare/v1.3.0.pre.2...v1.3.0
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57145 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-21 15:35:29 +00:00
mrkn
42a677c895
bigdecimal: version 1.3.0.pre.2
...
Import bigdecimal version 1.3.0.pre.2. The full commit log is here:
https://github.com/ruby/bigdecimal/compare/v1.3.0.pre...v1.3.0.pre.2
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-10 08:56:05 +00:00
mrkn
8e1293730e
bigdecimal: import version 1.3.0.pre
...
Import bigdecimal version 1.3.0.pre. The full commit log of this
changes can be found at:
5c43a9e
...v1.3.0.pre
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-10 07:49:15 +00:00
mrkn
03c9bc2b1d
Import from ruby/bigdecimal repository
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-03 12:46:22 +00:00
nobu
4e44f6ef86
[DOC] replace Fixnum with Integer [ci skip]
...
* numeric.c: [DOC] update document for Integer class.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-26 06:11:23 +00:00
nobu
cc80f139cd
bigdecimal.c: more precision
...
* ext/bigdecimal/bigdecimal.c (BigDecimal_div2): need more room
for precision to round. [ruby-core:77475] [Bug #12805 ]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-04 00:55:15 +00:00
nobu
1ae50df95d
bigdecimal.c: fix debug print
...
* ext/bigdecimal/bigdecimal.c (VpFree, VpInit): fix debug print
format.
* ext/bigdecimal/bigdecimal.c (VPrint): fix argument description,
and embed NaN, Infinity, and zero in the format.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56335 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-04 00:55:14 +00:00
nobu
c79c06fa1c
Integer conversion
...
* ext/bigdecimal/bigdecimal.c: use NUM2INT and NUM2USHORT to
reject nil.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-18 02:25:28 +00:00
nobu
871472c72b
Unnecessary checks
...
* ext/bigdecimal/bigdecimal.c: FIX2INT and FIX2UINT imply the
check for Fixnum.
* ext/zlib/zlib.c: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-17 08:45:05 +00:00
nobu
88cc25f96d
missing.h: isfinite
...
* include/ruby/missing.h (isfinite): move from numeric.c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55136 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-23 12:33:39 +00:00
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