-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGES
executable file
·198 lines (165 loc) · 7.65 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
Revision history for Perl module Math::GMPq
0.57
- Silence pointless compiler warnings.
- Change initial setting of Math::GMPq::RETYPE from 0 to 1.
0.56
- Skip Math::MPFR checks in t/overload_cross_class.t and t/overload_op_eq.t if
$Math::MPFR::VERSION < 4.19
- Avoid monitoring PL_markstack_ptr in GMPq.xs and Random/Random.xs
0.55
- Fix bugs in t/overload_op_eq.t
0.54
- Expand cross-class overloading to include +=, -=, *=, /=, and **= operations,
conditionally available only when $Math::GMPq::RETYPE has been set to 1.
- Simplify overloading of '++' and '--'.
0.53
- Add Random/t/a_v_random.t
- Accommodate MS Visual Studio builds
0.52
- Limit test in Makefile.PL for GMPQ_PV_NV_BUG to perl-5.35.9 and earlier.
- Enable building on Cywin quadmath builds. (Add '-lquadmath' to LIBS.)
0.51
- Fix bug re inconsistent settings of POK and NOK flag, which manifests itself as (eg):
http://www.cpantesters.org/cpan/report/dc52fbe6-900b-11ec-bfc9-d1f1448276d4
It's a bug that rarely bites, and applies mainly (but not only) to perl-5.18.x and
earlier.
0.49
- Fix https://github.com/sisyphus/math-decimal64/pull/1 (also aplies to Math::GMPq)
Thanks to @hiratara
- Remove all references to _MSC_VER
0.48
- Fix Rmpq_cmp_NV for doubledouble NVs.
- Fix overloading of comparison operators for doubledouble NVs
- Add Rmpq_set_IV and Rmpq_cmp_IV functions.
- Add POK_flag(), IOK_flag(), NOK_flag (@EXPORT_OK only)
- 2nd and 3rd args to Rmpq_cmp_IV and Rmpq_set_IV must have its IOK flag set.
- 2nd arg to Rmpq_cmp_NV and Rmpq_set_NV must have its NOK flag set.
0.47
- Add "use warnings;" to GMPq.pm.
- Refactor IV/UV/NV/PV handling inside overload subs.
- Fix bug in overload_equiv. (A cast to 'long double' needed to become a
cast to '__float128'.
- Add Rmpq_get_NV function.
- Fix Rmpq_set_NV for doubledouble NVs.
- Add '0+' overloading.
- Simplify Makefile.PL and README
- Replace XS defines NV_IS_FLOAT128 and NV_IS_LONG_DOUBLE with
USE_QUADMATH and USE_LONG_DOUBLE (which are already defined by perl headers).
0.46
- Fix bug in t/divby0.t.
- Create header file math_gmpq_include.h.
- Prototype subroutines listed in 'use subs()'.
0.45
- Fix and test for division by 0. (Now croaks on divby0 instead of crashing.)
Fix (and test) Rmpq_z_div for the case when z == 0.
0.44
- Fix bugs in t/z_arith_2.t and t/z_arith_overload.t. (Hadn't checked for
Math::GMPz availability.)
- In a couple of Newxz() calls, cast "buffer_size + 5" to int. (Previously missed.)
0.43
- Add Rmpq_add_z, Rmpq_sub_z, Rmpq_z_sub, Rmpq_mul_z, Rmpq_div_z, Rmpq_z_div
and Rmpq_pow_ui. (With assistance from Trizen.)
- Allow overloading of '+', '-', '/', '*' and '**' operations with Math::GMPz
objects.
- Extend Rmpq_cmp_z to work with Math::GMPq built against earlier (pre 6.1.0)
versions of the gmp library.
0.42
- Replace the condition "if(SvNOK(x))" with "if(SvNOK(x) && !SvPOK(x))".
See https://github.com/sisyphus/math-gmpz/issues/1 (Thanks trizen.)
- Add __float128 support for perls whose NV is __float128
- Remove _Rmpq_set_ld, add Rmpq_set_NV and Rmpq_cmp_NV.
- Add _is_infstring, for use with overloaded comparison operators.
0.41
- Remove gmp_v from Math::GMPq::V as we don't want any library functions in that module
- Replace SvUV/SvIV/SvNV with SvUVX/SvIVX/SvNVX where appropriate. (In typemap, too.)
- In Rmpq_set_si() change prototypes from 'int' to 'long'. (Thanks trizen.)
0.39
- Add Rmpq_integer_p(), though mpq_integer_p() is not currently implemented in gmp.
- PREREQ_PM => {'Exporter' => '5.58'} to avoid test failures on pre perl-5.8.4
(Thanks Peter Acklam.)
0.38
- Tweaks to Math::GMPq::gmp_v() and Math::GMPq::V::gmp_v()
- Add metadata to Makefile.PL.
- No longer define USE_64_BIT_INT if ivtype is 'long'.
- Rename USE_64_BIT_INT #define to MATH_GMPQ_NEED_LONG_LONG_INT.
- Replace mpq_cmp() with the faster mpq_equal() in overload_equiv and overload_not_equiv.
- Add mpq_cmp_z support. (Added in gmp-6.1.0.)
- Modify overloaded comparison functions to cover comparison with mpz_t (gmp-6.0.99 and later only)
0.37
- Alter wrap_gmp_sprintf and wrap_gmp_snprintf to take an extra arg (length of
buffer to which we write).
- Remove Rmpq_sprintf_ret and Rmpq_snprintf_ret. (These now seem pointless in
view of the changes to wrap_gmp_sprintf and wrap_gmp_snprintf.)
- Add Math::GMPq::__GNU_MP_RELEASE.
- Alter V.xs to accommodate the possibility that the global constant gmp_version
has not been set in gmp.h. I've assumed this can only happen if the gmp
library version is earlier than 4.0.0. (The gmp ChangeLog indicates that this
is so.)
- No longer include inttypes.h on the basis of USE_LONG_DOUBLE being defined.
(Was harmless ... but didn't make much sense.)
- Define PERL_NO_GET_CONTEXT (in XS code).
0.36
- Fix test 3i in new.t. (It wasn't allowing for the case where perl was built
with long double support, but ivsize was still 4.
- Alter the way that strEQ gets hold of HvNAME(SvSTASH(SvRV(sv))) - so that -Wall
doesn't emit "null argument" warnings. (Thanks Daniel Kahn Gillmor.)
0.35
- Add Math::GMPq::V
- Add overload_inc and overload_dec functions.
- Accommodate cross-class overloaded arithmetic with Math::MPFR.
0.33
- Remove 'not' from overloads. Apparently achieved nothing anyway, and 5.16
warns that it's invalid.
0.32
- In the documentation, elaborate on the way that Math::GMPq::get_v() and
__GNU_MP_VERSION & friends determine their values. (Thanks Vincent Lefevre.)
0.31
- Fix Random.xs so that it compiles with gmp-4 (not just gmp-5).
Thanks Rob Kuo (https://rt.cpan.org/Ticket/Display.html?id=58501)
0.29
- Add random functions.
- Add Rmpq_snprintf and Rmpq_snprintf_ret.
- If there's no variable to be formatted, Rmpq_(f/s)printf no longer
need to be supplied with a dummy variable.
- Some buggy tests in printf.t hopefully fixed.
0.28
Requires gmp-4.2.0 or later.
In response to bug http://rt.cpan.org/Ticket/Display.html?id=46499:
- Amendment to Makefile.PL wrt 'long long' and 'long double' support.
- Remove reliance on $Config{use64bitint} in t/new.t and t/out_str.t
- Add some MAC OS X notes to README and fix some typos.
In response to bug http://rt.cpan.org/Ticket/Display.html?id=46604
- Fix ___GMP__CC() and ___GMP_CFLAGS() so that they return undef
if __GMP_CC and __GMP_CFLAGS are not defined by the gmp library.
Thanks, Bob Kuo and Jonathan Leto.
0.27
- Requires gmp-4.2.3 0r later.
- Add Rmpq_fprintf, Rmpq_sprintf and Rmpq_sprintf_ret.
- Change Rmpq_sprintf to return the number of characters written.
- Add __GNU_MP_VERSION, __GNU_MP_VERSION_MINOR, __GNU_MP_VERSION_PATCHLEVEL,
__GMP_CC and __GMP_CFLAGS
- Change Rmpq_printf() so that, like its fprintf and sprintf counterparts,
it formats only one variable at a time.
0.24
- Replace the PerlIO* objects stuff in _TRmpfr_* functions (added in
0.23) with FILE* objects ... so that the module will still build
on perl 5.6.
0.23
- Add TRmpq_out_str and TRmpq_inp_str.
- Rmpq_out_str now takes an optional (leading) string argument - a
string that will be prepended to the mpq_out_str() output.
- Remove the tests in the Makefile.PL that test for the presence of
a suitable compiler and GMP library.
0.11
- Add overloaded int() function
- Rewrite new()
- Rmpq_out_str() now takes an optional third argument - a string
that will be appended to the mpq_out_str() output. Also stdout is
fflush()'d each time Rmpq_out_str() is called.
- The overload functions and new() can now handle a long double value
correctly
0.10
- First CPAN release
- No longer assign Exporter and DynaLoader to @Math::GMPq::ISA.
- Add support for perls built with use64bitint
- add new() function/method to facilitate initialization/assignment