Commit graph

402 commits

Author SHA1 Message Date
Peter Zhu
64ab04da6a [ruby/bigdecimal] Clarify that JSON methods come from the JSON gem
581725d4e5
2023-12-06 16:14:54 +00:00
BurdetteLamar
dab5a4b61a [ruby/bigdecimal] [DOC] Add section Methods for Working with JSON
2edd8d0a23
2023-12-06 14:59:23 +00:00
Tim Kretschmer
e584a619e1 [ruby/bigdecimal] fixed docs for .scale
the scale of `1` is actually 0

9a8bc9c417
2023-11-07 05:35:18 +00:00
Nobuyoshi Nakada
e501613efa [ruby/bigdecimal] Bump up to 3.1.5
c47802e813
2023-10-04 02:50:15 +00:00
cryptogopher
5f07f78e86 [ruby/bigdecimal] Update to_s doc examples
8a94a29cf1
2023-07-05 20:15:53 +00:00
cryptogopher
10f59dcbcd [ruby/bigdecimal] Add .to_s('F') digit grouping for integer part
f63544d465
2023-07-05 20:15:52 +00:00
HoNooD
671cfc2000 [ruby/bigdecimal] fix: typo in document comments of f_BigDecimal function
13abe1fd78
2023-04-08 18:54:01 +00:00
Nobuyoshi Nakada
8ec95c6074 [ruby/bigdecimal] Remove set but unused variable
This `prec` has not been used since 1f5c46dbdd.

08a0ad563d
2023-04-08 18:53:28 +00:00
Nobuyoshi Nakada
0cde887eb9 [ruby/bigdecimal] Bump up to 3.1.4
ruby/bigdecimal#187 has changed a behavior and ruby/spec also needed a
follow up at 0d8ef62fc2.
However, because bigdecimal is a separate gem and can be updated in
older versions of ruby, `RUBY_VERSION` is not appropriate for this
guard.  That means it needs bumped up `BigDecimal::VERSION`.

3a2a7a9353
2023-02-21 15:35:40 +00:00
Benoit Daloze
7b768e4335 [ruby/bigdecimal] Move RB_GC_GUARD() at the end, like in BigMath_s_exp()
b66ef9fbb5
2023-02-21 14:24:13 +00:00
Benoit Daloze
5077cc2be6 [ruby/bigdecimal] Avoid RB_GC_GUARD(a) = b in bigdecimal
* This is not supported on TruffleRuby, which requires the value to be
  set before RB_GC_GUARD() is called.
* See https://github.com/oracle/truffleruby/pull/2879

7b2957922f
2023-02-21 14:24:12 +00:00
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