Nobuyoshi Nakada
d13879f862
[ruby/bigdecimal] Read version from bigdecimal.c
...
The dependency of extconf.h on bigdecimal.gemspec does not make sense
as far as no rule is defined for it. Also, the relationship between
extension library and gemspec file is various in default gems, and
does not work well.
7f99b28552
2023-02-21 09:50:02 +00:00
Maciej Rzasa
36e3d46d35
[ruby/bigdecimal] Handle correctly #remainder with infinity. Fixes
...
https://github.com/ruby/bigdecimal/pull/187
4b8572d452
2023-02-17 17:46:27 +00:00
Peter Zhu
aa222b56fa
[ruby/bigdecimal] Make BigDecimal WB protected
...
BigDecimal has no references, so it is WB protected.
29c61c90e8
2023-02-01 15:59:11 +00:00
Nobuyoshi Nakada
69a2687a27
[ruby/bigdecimal] Fix format specifiers for size_t
...
99db3c9754
2023-01-07 03:15:27 +00:00
Kenta Murata
c75de1e330
[ruby/bigdecimal] Add fallback definition of MAYBE_UNUSED
...
b2123faa52
2022-11-15 06:59:11 +00:00
Kenta Murata
3c60e030b5
[ruby/bigdecimal] Replace sprintf by snprintf
...
d6f5bb40c7
2022-11-15 04:02:01 +00:00
Kenta Murata
3147a3900f
[ruby/bigdecimal] Mark some functions MAYBE_UNUSED
...
d70a4d53e5
2022-11-15 00:34:23 +00:00
Kenta Murata
8d82f4ba1c
[ruby/bigdecimal] Add specific value allocators
...
* Add NewZero* and NewOne* function families
* Use them instead of VpAlloc for allocating 0 and 1
9276a94ac7
2022-11-13 12:33:29 +00:00
Kenta Murata
802dce4acd
[ruby/bigdecimal] Add and use specific value allocators
...
* Add rbd_allocate_struct_zero for making 0.0
* Add rbd_allocate_struct_one for making 1.0
* Use them to replace VpAlloc calls
* Renmae VpPt5 to VpConstPt5
40c826f5e6
2022-11-13 06:01:27 +00:00
Kenta Murata
019f53de5c
[ruby/bigdecimal] Make VPrint function always available
...
5391f7e92c
2022-11-13 06:01:27 +00:00
Kenta Murata
d1f55dea86
[ruby/bigdecimal] Tweak VpAlloc
...
* Stop reusing mx and mf
* Check szVal == NULL first
* Treat special values before checking the leading `#`
14f3d965f8
2022-11-13 04:29:19 +00:00
Kenta Murata
bbb9f72353
[ruby/bigdecimal] Rewrite allocation functions
...
* Rename them
* Make allocation count operations atomic
a5ab34a115
2022-11-13 03:47:40 +00:00
Kenta Murata
2703410289
[ruby/bigdecimal] Twak GetPrecisionInt and rename it to check_int_precision
...
69d0588a3b
2022-11-13 02:46:42 +00:00
Kenta Murata
ef1c6109b1
[ruby/bigdecimal] Tweak check_rounding_mode_option
...
e1c6c9be25
2022-11-13 02:02:02 +00:00
Kenta Murata
74c6e6e565
[ruby/bigdecimal] Rewrite check_rounding_mode function
...
Use table-lookup algorithm instead of consecutive if-statements.
23eaff3ae5
2022-11-13 02:02:01 +00:00
Kenta Murata
b89769b978
[ruby/bigdecimal] [Doc] Fix the document of n_significant_digits
...
91b72a9341
2022-11-13 02:02:00 +00:00
Kenta Murata
977aac057f
[ruby/bigdecimal] Make GetVpValue inline
...
1b642e2e59
2022-11-13 02:02:00 +00:00
Kenta Murata
0d5248673d
[ruby/bigdecimal] Make BigDecimal_double_fig inline
...
4ecf04da7a
2022-11-13 02:01:59 +00:00
Maciej Rzasa
b8e804e410
[ruby/bigdecimal] Document precision=0 and ndigits=0 for converting from Float
...
4f0894c6c0
2022-09-28 09:29:49 +09:00
Samuel Williams
a95b741a97
[ruby/bigdecimal] Remove trailing whitespace.
...
223d193f01
2022-09-25 19:34:27 +09:00
Maciek Rząsa
8e2c425183
[ruby/bigdecimal] Improve documentation of BigDecimal#sign
...
Fixes https://github.com/ruby/bigdecimal/issues/78 by describing behaviour for positive and negative zero in the docs.
5415b120ab
2022-09-25 16:51:17 +09:00
BurdetteLamar
06f4ca503d
[ruby/bigdecimal] Correct indentation in Kernel#BigDecimal
...
3ede8860a6
2022-07-02 07:58:20 +09:00
Nobuyoshi Nakada
92361ad9c6
[ruby/bigdecimal] Adjust a local variable type to exponent
...
70146fb6ad
2022-04-18 10:29:23 +09:00
Kenta Murata
7db195d521
[ruby/bigdecimal] Fix the maximum precision of the quotient
...
Fixes https://github.com/ruby/bigdecimal/pull/220
127a1b5a31
2022-01-24 10:56:30 +09:00
Kenta Murata
9ccfc78346
[ruby/bigdecimal] Remove unused variable
...
ac7daa5f15
2021-12-24 09:44:23 +09:00
Kenta Murata
a1d9fbef05
[ruby/bigdecimal] Fix the result precision of BigDecimal#divmod
...
a32f6cb9e2
2021-12-24 02:29:01 +09:00
Burdette Lamar
0262f34905
[ruby/bigdecimal] Enhanced RDoc for BigDecimal ( https://github.com/ruby/bigdecimal/pull/209 )
...
* Enhanced RDoc for BigDecimal
* Update ext/bigdecimal/bigdecimal.c
Remove the instance number of `Float::DIG`.
* Update ext/bigdecimal/bigdecimal.c
Add BigDecimal call-seq without ndigits.
* Update ext/bigdecimal/bigdecimal.c
Replace the word sum with value or result in the description of BigDecimal().
* Update ext/bigdecimal/bigdecimal.c
Remove the instance value of Float::DIG.
* Update ext/bigdecimal/bigdecimal.c
Fix mis-description of precision
* Update ext/bigdecimal/bigdecimal.c
Fix the description of precision determination
* Update ext/bigdecimal/bigdecimal.c
Add the description of the precision in the Rational case.
acabb132a4
Co-authored-by: Kenta Murata <3959+mrkn@users.noreply.github.com>
2021-12-24 02:29:01 +09:00
Kenta Murata
79712fc083
[ruby/bigdecimal] Let BigDecimal#quo accept precision
...
Fix GH-214.
13e0e93f37
2021-12-24 02:29:00 +09:00
Kenta Murata
0b8638cd74
[ruby/bigdecimal] Add TODO comment
...
ef9cf4e69e
2021-12-24 02:29:00 +09:00
Kenta Murata
98918209b7
[ruby/bigdecimal] Allow passing both float and precision in BigDecimal#div
...
Fix GH-212.
900bb7fcf5
2021-12-24 02:29:00 +09:00
Kenta Murata
84ae7a5df9
[ruby/bigdecimal] Add BigDecimal#precision_scale
...
c019caeaba
2021-12-24 02:28:59 +09:00
Kenta Murata
ea713009ba
[ruby/bigdecimal] [Doc] Add documentation of BigDecimal#n_significant_digits
...
ceaf16b03e
2021-12-24 02:28:59 +09:00
Kenta Murata
aca96f7ec7
[ruby/bigdecimal] Add BigDecimal#scale
...
Fixes GH-198.
4fbec55680
2021-12-24 02:28:58 +09:00
BurdetteLamar
0c63aa11bc
[ruby/bigdecimal] Set rounding mode in example
...
8fc83dd2fe
2021-12-24 02:28:58 +09:00
BurdetteLamar
a8243d07e1
[ruby/bigdecimal] Set rounding mode in example
...
42c999f728
2021-12-24 02:28:57 +09:00
BurdetteLamar
de5c14d4d8
[ruby/bigdecimal] Enhanced RDoc for selected methods
...
0de9298d15
2021-12-24 02:28:57 +09:00
BurdetteLamar
e043829a7f
[ruby/bigdecimal] Enhanced RDoc for selected methods
...
6139ea1092
2021-12-24 02:28:57 +09:00
Kenta Murata
d905abb457
[ruby/bigdecimal] Fix BigDecimal#precision for single DECDIG case
...
Fix GH-205
7d198394a2
2021-12-24 02:28:56 +09:00
Kenta Murata
38e98cbdb7
[ruby/bigdecimal] Keep obj-to-Real link when VpReallocReal returns different pointer
...
252748de17
2021-12-24 02:28:56 +09:00
Kenta Murata
75f552e973
[ruby/bigdecimal] Fix the precision of the adjusted quotient
...
8dc8cd339d
2021-12-24 02:28:56 +09:00
Kenta Murata
7b2cfce543
[ruby/bigdecimal] Let BigDecimal_DoDivmod use the same precision calculation as BigDecimal_divide
...
11cb2c8840
2021-12-24 02:28:55 +09:00
Kenta Murata
e1265c8198
[ruby/bigdecimal] Use larger precision in divide for irrational or recurring results
...
Just in case for irrational or recurring results, the precision of the
quotient is set to at least more than 2*Float::DIG plus alpha.
[Bug #13754 ] [Fix GH-94]
99442c75d3
2021-12-24 02:28:55 +09:00
Kenta Murata
8ee8ac6423
[ruby/bigdecimal] Fix trailing zeros handling in rb_uint64_convert_to_BigDecimal
...
Fix GH-192
eebc98b85a
2021-12-24 02:28:55 +09:00
BurdetteLamar
ed7f4c24d7
[ruby/bigdecimal] Respond to review
...
f528a0006e
2021-12-24 02:28:54 +09:00
BurdetteLamar
ed8ec5dcb3
[ruby/bigdecimal] Respond to review
...
4eadcdf0a6
2021-12-24 02:28:54 +09:00
BurdetteLamar
44acab76af
[ruby/bigdecimal] Respond to review
...
6d69422e37
2021-12-24 02:28:53 +09:00
BurdetteLamar
973e508472
[ruby/bigdecimal] Respond to review for #precision
...
681cd2d81d
2021-12-24 02:28:53 +09:00
BurdetteLamar
5888d3030d
[ruby/bigdecimal] Enhanced RDoc for bigdecimal.c
...
3a35f92f8b
2021-12-24 02:28:53 +09:00
BurdetteLamar
01b2ccaa95
[ruby/bigdecimal] Enhanced RDoc for bigdecimal.c
...
31a7a37426
2021-12-24 02:28:52 +09:00
Jean Boussier
ec478d947f
[ruby/bigdecimal] Fix negative Bignum conversion
...
Introduced in 4792a917d8
`rb_absint_size` return the number of bytes needed to fit
the absolute integer, but negative integers need the sign, so one more
bit, and potentially one more byte.
0f3d5d0eb7
2021-12-24 02:28:51 +09:00