Commit Graph

245 Commits

Author SHA1 Message Date
Nikita Popov
1c8cbe4b4e Use class handlers for GMP serialization
A bit faster and less boilerplate
2013-11-29 00:01:59 +01:00
Nikita Popov
8860758a74 Remove duplicate / commented code in GMP 2013-11-29 00:01:59 +01:00
Nikita Popov
4218e89f8d Fix bug #65997 by switching to Serializable for GMP
Rather than using get_properties and __wakeup for serialization
the code now uses Serializable::serialize() and
Serializable::unserialize(). The get_properties handler is switched
to a get_debug_info handler. Thus get_gc will now return only
the normal properties and not do any modifications, thus fixing
the leak. This also avoids a $num property from being publicly
visible after the object was dumped or serialized, so that's an
extra plus.
2013-10-29 20:58:30 +01:00
Nikita Popov
647e0be64b Fix compile warning in GMP 2013-10-29 20:07:34 +01:00
Christopher Jones
3c166c4758 Merge branch 'PHP-5.5'
* PHP-5.5:
  Reduce (some) compile noise of 'unused variable' and 'may be used uninitialized' warnings.

Conflicts:
	ext/gmp/gmp.c
2013-08-14 20:47:00 -07:00
Christopher Jones
39612afc72 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Reduce (some) compile noise of 'unused variable' and 'may be used uninitialized' warnings.

Conflicts:
	ext/dba/libinifile/inifile.c
2013-08-14 20:43:25 -07:00
Christopher Jones
9ad97cd489 Reduce (some) compile noise of 'unused variable' and 'may be used uninitialized' warnings. 2013-08-14 20:36:50 -07:00
Christopher Jones
4c3c9d1fe5 Merge branch 'PHP-5.5'
* PHP-5.5:
  Fix long-standing visual pain point: the misalignment of './configure help' text. Whitespace changes and a couple of grammar fixes.
2013-08-06 11:09:12 -07:00
Christopher Jones
c6d977dd39 Fix long-standing visual pain point: the misalignment of './configure help' text.
Whitespace changes and a couple of grammar fixes.
2013-08-06 11:06:09 -07:00
Felipe Pena
281936b295 - Fixed bug #65227 (Memory leak in gmp_cmp second parameter) 2013-07-12 20:23:00 -03:00
Nikita Popov
7713b8c2ac GMP improvements
As per RFC https://wiki.php.net/rfc/operator_overloading_gmp
2013-06-17 17:59:12 +02:00
Xinchen Hui
a666285bc2 Happy New Year 2013-01-01 16:37:09 +08:00
Xinchen Hui
0a7395e009 Happy New Year 2013-01-01 16:28:54 +08:00
Anatoliy Belsky
9a72b52a1f fixing test for upcoming mpir upgrade
- mpir is going to be upgraded up to 2.5.1 on windows
2012-08-23 17:09:45 +02:00
Anatoliy Belsky
77e70b391c Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Fixed bug #62068 Test bug - gmp_nextprime and 022
  Fix: 62067 Moved comments to FILE section
  - BFN

Conflicts:
	NEWS
2012-05-21 12:37:59 +02:00
Matt Ficken
645d65f3e3 Fixed bug #62068 Test bug - gmp_nextprime and 022 2012-05-21 12:31:16 +02:00
Felipe Pena
e4ca0ed09f - Year++ 2012-01-01 13:15:04 +00:00
Felipe Pena
4e19825281 - Year++ 2012-01-01 13:15:04 +00:00
Felipe Pena
23e438594d - Make usage of new PHP_FE_END macro 2011-07-25 11:42:53 +00:00
Felipe Pena
4b30846b50 - Make usage of new PHP_FE_END macro 2011-07-25 11:35:02 +00:00
Felipe Pena
927bf09c29 - Year++ 2011-01-01 02:19:59 +00:00
Felipe Pena
0203cc3d44 - Year++ 2011-01-01 02:17:06 +00:00
Ilia Alshanetsky
880d61e9c6 removed unused var 2010-12-21 22:05:15 +00:00
Ilia Alshanetsky
051145f62a Removed unused variable 2010-10-25 16:38:19 +00:00
Stanislav Malyshev
b55d4ecb41 Fix bug #52906 gmp_mod returns negative result when non-negative is expected 2010-10-01 00:12:23 +00:00
Stanislav Malyshev
d3b1ab9b20 Fix bug #52906 gmp_mod returns negative result when non-negative is expected 2010-10-01 00:12:23 +00:00
Antony Dovgal
4bf895cb08 fix ZTS build 2010-09-17 07:07:52 +00:00
Adam Harvey
416240947b Fix bug #52849 (GNU MP invalid version match). 2010-09-15 10:51:55 +00:00
Adam Harvey
767bc20ed5 Fix bug #52849 (GNU MP invalid version match). 2010-09-15 10:51:55 +00:00
Pierre Joye
5cbece0a8e - fix build when __GMP_BITS_PER_MP_LIMB is not defined but GMP_LIMB_BITS (no trace of this change in gmp's changelog...) 2010-02-23 11:07:39 +00:00
Sebastian Bergmann
9ba1e81665 sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
Pierre Joye
7179910573 - [DOC] expose MPIR version when mpir is used instead of gmp 2009-12-10 02:25:47 +00:00
David Soria Parra
7957efe4d4 Use extended base if we build again gmp 4.2.0 which is usually available. 2009-11-27 22:24:44 +00:00
David Soria Parra
99c43e1b93 Also allow base 62 for gmp_init as requested in (#50283) 2009-11-25 23:38:34 +00:00
David Soria Parra
579a6e39de Really use 62 as the upper boundary as requested and not 32. 2009-11-25 18:15:25 +00:00
David Soria Parra
18f32db810 Implement feature request #50283 (allow base in gmp_strval to use full range: 2 to 62, and -2 to -36) 2009-11-24 13:33:35 +00:00
Pierre Joye
dfb8717c1e - put mpir headers in their own directory 2009-06-10 09:59:21 +00:00
Pierre Joye
da27f4237a - MFH: enable MPIR support and the good old 4.1.x gmp for VC6. solving the lgplv3 mess 2009-05-25 10:15:19 +00:00
Sebastian Bergmann
08659c2dcd MFH: Bump copyright year, 3 of 3. 2008-12-31 11:15:49 +00:00
Felipe Pena
fc2fb50d09 - MFH: Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro 2008-11-17 11:28:01 +00:00
Felipe Pena
7a37fa2d6b - Revert ZEND_BEGIN_ARG_INFO change 2008-11-02 21:19:39 +00:00
Felipe Pena
df10005563 - MFH: Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro 2008-10-24 14:35:40 +00:00
Ilia Alshanetsky
92ebb2e282 Fixed bug #43981 (gmp_div_r() does not preserve the sign of 1st argument) 2008-01-30 18:25:51 +00:00
Nuno Lopes
61eb7ae554 remove unused PHP_EXTNAME_API macros.
#in preparation for the gcc 4 visibility patch
2008-01-03 16:20:33 +00:00
Sebastian Bergmann
d1dded8751 MFH: Bump copyright year, 2 of 2. 2007-12-31 07:17:19 +00:00
Nuno Lopes
b2e6a56e5c fix tests 2007-12-27 16:05:00 +00:00
Stanislav Malyshev
ec4d9f3387 fix 64-bit 2007-11-01 20:25:11 +00:00
Stanislav Malyshev
7c69bbaec7 add tests for testbit, sync with HEAD 2007-11-01 18:43:34 +00:00
Stanislav Malyshev
970eb77ee4 fix gcd - can return larger than long with long arg 2007-11-01 18:36:24 +00:00
Stanislav Malyshev
9c4106d3e5 add testbit() 2007-11-01 17:53:02 +00:00
Stanislav Malyshev
d0fffa7a72 generalize resource names 2007-11-01 17:52:20 +00:00
Stanislav Malyshev
f6a01c8362 merge gmp_testbit() 2007-11-01 17:51:34 +00:00
Antony Dovgal
67bb38424f fix reading uninitialized values 2007-11-01 09:34:18 +00:00
Antony Dovgal
bdcefbdc5d fix 64bit issues & tests 2007-11-01 09:25:11 +00:00
Stanislav Malyshev
eb5bd09cff - Fix memory leaks (bug #42509)
- Fix _gmp_binary_opl
- Use modern parameter parsing
2007-11-01 00:46:13 +00:00
Dmitry Stogov
6c810b0d4c Improved memory usage by movig constants to read only memory. (Dmitry, Pierre) 2007-09-27 18:00:48 +00:00
Antony Dovgal
7e1647e524 MFH: add missing skipif sections 2007-05-27 15:12:33 +00:00
Antony Dovgal
1f65545121 fix test names 2007-05-07 18:03:01 +00:00
Antony Dovgal
9fd3c30f94 MFH 2007-05-04 22:32:57 +00:00
Antony Dovgal
a6cd2b4cec MFH: improve the tests 2007-04-27 11:43:45 +00:00
Antony Dovgal
3e7b4e5d1a MFH: add test & GMP_VERSION constant
do not allow zero operand in gmp_divexact()
2007-04-26 13:44:02 +00:00
Antony Dovgal
6a0efe0b7d new tests for ext/gmp 2007-04-18 21:04:21 +00:00
Antony Dovgal
8aa441b9b8 MFH 2007-04-18 20:53:28 +00:00
Antony Dovgal
efcb227198 MFH 2007-04-18 20:36:54 +00:00
Antony Dovgal
e351aedbdc MFH 2007-01-12 12:32:15 +00:00
Antony Dovgal
e8d2c9489d MFH: nuke skeleton leftovers 2007-01-12 12:17:32 +00:00
Sebastian Bergmann
4223aa4d5e MFH: Bump year. 2007-01-01 09:36:18 +00:00
Antony Dovgal
334c36ac7c new tests 2006-09-10 22:11:29 +00:00
Antony Dovgal
9e905c3de7 MFH: add gmp_nextprime()
patch by ants dot aasma at gmail dot com
2006-07-18 14:54:32 +00:00
Hannes Magnusson
d258bcd951 MFH: Removed obsolete arginfo include 2006-06-26 14:11:17 +00:00
foobar
4793980a8f Fix build. (gmp_nextprime() was added in PHP 6!) 2006-06-16 00:14:35 +00:00
Dmitry Stogov
1dbaae2795 Added automatic module globals management 2006-06-15 18:33:09 +00:00
Hannes Magnusson
f0d98ad3de MFH: argument info.. 2006-06-14 21:36:10 +00:00
foobar
5bd93221a8 bump year and license version 2006-01-01 12:51:34 +00:00
foobar
3e669bc950 MFH: nuke php3 legacy 2005-12-06 02:28:41 +00:00
foobar
23e671a51e - Bumber up year 2005-08-03 14:08:58 +00:00
foobar
c24bd1584c fix test - short_tags not allowed here! 2005-06-17 16:22:55 +00:00
Stanislav Malyshev
b86bab9735 @- Fix #32773 and make right fix for GMP FPEs (Stas)
Fix #32773 and make right fix for GMP FPEs
2005-04-25 12:18:50 +00:00
Antony Dovgal
6dac68f669 fix SIGFPE in gmp_powm(), gmp_sqrt() & gmp_sqrtrem() when using negative values
do not allow negative value to be passed to gmp_fact()
2005-03-01 13:09:33 +00:00
Frank M. Kromann
a6ce3e17e4 Allow gmp to compile under Win32 2005-01-04 22:39:29 +00:00
Joe Orton
2685ca935f Update extensions to use /path/to/$PHP_LIBDIR rather than /path/to/lib
to support multi-ABI platforms.
2004-11-03 14:32:52 +00:00
Ilia Alshanetsky
3e638c84c0 Fixed bug #28525 (gmp_powm() does not work with hexadecimal string modulo
represented as a string).
Patch by: pickett at sumu dot org
2004-06-09 14:39:33 +00:00
Marcus Boerger
29cfd6d24f - Remove unused blocks 2004-05-19 08:56:50 +00:00
Ilia Alshanetsky
4f388ba849 Better gmp fix. 2004-02-16 15:13:40 +00:00
Ilia Alshanetsky
b7329c8456 Fixed bug #27258 (moved FPE check to correct location).
Fixed several possible FPE.
2004-02-15 17:22:57 +00:00
Ilia Alshanetsky
0e5020fdad Fixed bug #27172 (Possible floating point exception in gmp_powm()). 2004-02-09 04:27:35 +00:00
foobar
6b8616889d Fixed bug #27171 2004-02-07 19:14:49 +00:00
foobar
f4983c0d3f - Renamed all *php4* files to *php5*, changed all php4/PHP4 to php5/PHP5 2004-01-17 13:00:38 +00:00
foobar
ccfc46b0aa - Happy new year and PHP 5 for rest of the files too..
# Should the LICENSE and Zend/LICENSE dates be updated too?
2004-01-08 17:33:29 +00:00
Andi Gutmans
dbeb4158d2 - A belated happy holidays and PHP 5 2004-01-08 08:18:22 +00:00
foobar
83650e4e67 Fix the build for other than x86 archs. 2003-11-24 16:09:45 +00:00
foobar
398b9048dd ws fix 2003-11-19 05:00:56 +00:00
foobar
56ca2bb6c1 - Fixed bug #26267 (gmp_random() leaks memory and does not produce random numbers)
# ..and mpz_random() is obsolete according to the GNU MP manual.
2003-11-19 04:44:06 +00:00
foobar
97886632ad - Fix the parameter setting. (this function has 1 optional parameter) 2003-11-18 10:28:13 +00:00
Wez Furlong
c35810c203 unintialized variable.
Patch by Joe Orton
2003-10-13 11:46:36 +00:00
foobar
dc080a5db6 - Always look into /usr/local before /usr
- Added breaks to make sure the preferred value is used.
2003-10-01 02:53:23 +00:00
Ilia Alshanetsky
526a3d9ce2 Always prefer user specified paths over the default /usr /usr/local.
This may fix compilation problems with on systems with multiple copies of
the same library.
2003-09-30 22:36:43 +00:00
Zeev Suraski
8767205afa Fix Win32 linkage problems 2003-08-31 12:41:53 +00:00
Zeev Suraski
538d58dd5f Use new infrastructure.
There are bound to be some messups, please report build/runtime bugs!
2003-08-03 17:44:39 +00:00
James Cox
f68c7ff249 updating license information in the headers. 2003-06-10 20:04:29 +00:00
Sara Golemon
cbf8c3e346 Bug #21534. Silly typo. 2003-03-13 16:10:21 +00:00
Ilia Alshanetsky
38ad0e9104 zend_error -> php_error_docref. 2003-01-24 16:29:40 +00:00
Sebastian Bergmann
b506f5c8f8 Bump year. 2002-12-31 16:08:15 +00:00
foobar
e79b06fc02 Make this extension compile as shared extension too. 2002-06-21 00:15:48 +00:00
Sander Roobol
85a99fa5a3 Don't use headers if the module contains only one phpinfo() entry, just
stick to ordinary rows.
2002-06-09 12:56:27 +00:00
jim winstead
f5b7d979c0 Fix bug #15835. 2002-04-09 20:18:09 +00:00
foobar
bf663c9746 Fixed bug: #16237 2002-03-27 23:47:06 +00:00
Sascha Schumann
5cba3a99c2 extension converted automatically to PHP_NEW_EXTENSION. Manually confirmed 2002-03-12 16:44:00 +00:00
Sander Roobol
58a52f93bc Fixed many tests, mostly incorrect paths. 2002-03-08 19:16:19 +00:00
Sebastian Bergmann
90613d2282 Maintain headers. 2002-02-28 08:29:35 +00:00
Sean Bright
6829710dce '0b' could be the beginning of a hex string (without leading '0x') so if
the user specifies base 16, use that instead.
2002-02-10 23:19:38 +00:00
Sean Bright
72c5a9cd8a Add a new test for GMP base recognition. 2002-02-10 23:13:37 +00:00
Sean Bright
cc065b3351 Fix for bugs #10133 and #15454.
Bug #15454 results from a bug in GMP.  If you pass in a string '0xABCD' and
specify a base of 0, GMP figures out that it is hex and skips over the 0x
characters.  If you specify base 16, then it doesn't skip those chars.
This was confirmed with the following test program:

#include <stdio.h>
#include <gmp.h>

int main()
{
        char *str_one, *str_two;
        mpz_t num_one, num_two;

	mpz_init_set_str (num_one, "0x45", 0);
	str_one = mpz_get_str(NULL, 10, num_one);

	mpz_init_set_str (num_two, "0x45", 16);
	str_two = mpz_get_str(NULL, 10, num_two);

	printf("%s / %s\n", str_one, str_two);

	mpz_clear (num_one);
	mpz_clear (num_two);

	return 0;
}

We now take anything that starts with 0[xX] as hexidecimal and anything
that starts 0[bB] as binary (this is what GMP does internally).  We also
no longer force the base to 10 or 16, but instead let GMP decide what the
best base is, be it hex, dec, or octal.
2002-02-10 23:12:57 +00:00
Hartmut Holzgraefe
052d5fc85d proto fix 2001-12-15 14:23:07 +00:00
Sebastian Bergmann
38933514e1 Update headers. 2001-12-11 15:32:16 +00:00
foobar
f1397d5339 Unified the configure messages. 2001-11-30 19:00:13 +00:00
Stig Bakken
689252082c * zend_module_entry change: apino, debug and zts are moved first,
see README.EXTENSIONS file for upgrade help.
@Introduced extension version numbers (Stig)
2001-10-11 23:33:59 +00:00
Derick Rethans
78747bd2df - Don't wrap lines... this is annoying while coding. 2001-09-09 13:29:31 +00:00
Zeev Suraski
f6f6c4d7e6 Whitespace 2001-08-11 16:39:07 +00:00
foobar
8a7d1d8e17 ZEND macro-rename. 2001-08-11 02:46:57 +00:00
foobar
63b7e5e052 Another TSRM fix. Plus killed some compile warnings. 2001-08-07 17:57:55 +00:00
Stanislav Malyshev
02fea7ed23 (gmp_init) Added extra (optional) argument to gmp_init():
a base argument which indicates the number base. E.g.:
           gmp_init('1010101010',2); // feed gmp a binary value.
Patch by Troels.
@- Added optional extra argument to gmp_init(). The extra argument
@  indicates which number base gmp should use when converting a
@  string to the gmp-number. (Troels)
2001-08-05 14:48:17 +00:00
Zeev Suraski
aa1772ca72 More TSRMLS_FETCH annihilation 2001-07-31 05:44:11 +00:00
Zeev Suraski
797a079a95 More TSRMLS_FETCH work, and a bit of cleanup 2001-07-30 06:18:13 +00:00
Zeev Suraski
1c25b8dd53 Avoid TSRMLS_FETCH()'s, and clean up a bit of stale extern's and layout on the way 2001-07-30 01:56:43 +00:00
Zeev Suraski
d87cc976e1 Redesigned thread safety mechanism - nua nua 2001-07-28 11:36:37 +00:00
Stanislav Malyshev
b028410760 Add credits to GMP 2001-07-16 12:45:36 +00:00
Stanislav Malyshev
02b369e3a6 Make gmp compile again 2001-06-06 17:52:03 +00:00
Rasmus Lerdorf
81e2cf03ac Fix folding and clean up some extensions 2001-06-06 13:06:12 +00:00
Rasmus Lerdorf
25c3a3a39d vim-6 does folding - clean up a bunch of missing folding tags plus
some misguided RINIT and RSHUTDOWN calls in a few fringe extensions
2001-06-05 13:12:10 +00:00
Stig Bakken
1beda9ee1e * include "config.h" if HAVE_CONFIG_H is defined (for standalone dso build) 2001-05-24 10:07:29 +00:00
foobar
8a26918ed1 Renamed the AC_ prefixed macros defined in acinclude.m4 to PHP_* prefixes.
# Heads up people! I tested this before committing but you never know..
2001-03-27 20:35:04 +00:00
Andi Gutmans
eb6ba01d1c - Fix copyright notices with 2001 2001-02-26 06:11:02 +00:00
Stanislav Malyshev
cf66091554 Add license info 2000-12-28 12:13:21 +00:00
Sascha Schumann
60492fa685 Skip mcrypt/gmp tests, if the extensions are not available. 2000-12-24 16:51:04 +00:00
Stanislav Malyshev
e81c9642b8 Add GMP tests 2000-12-13 15:55:40 +00:00
Sascha Schumann
7e28784de3 Fix indentation of configure output 2000-12-06 17:34:58 +00:00
Stanislav Malyshev
9be60903d7 Update README 2000-12-06 14:28:10 +00:00
Stanislav Malyshev
596c3b7fd5 Fix prototypes
Fix prefect_square return
2000-12-06 14:10:40 +00:00
Stanislav Malyshev
589a66feda Make GMP use Zend's memory functions 2000-12-05 15:35:20 +00:00
Stanislav Malyshev
76381dbf53 Fix prototypes 2000-12-05 14:47:40 +00:00
Stanislav Malyshev
4a3fdce696 Add check for conversion base 2000-12-05 14:17:38 +00:00
Egon Schmid
10c685112a Fixed some protos. 2000-12-01 15:25:22 +00:00
Stanislav Malyshev
ebffa649c3 Add more GMP functions, fix a couple of bugs 2000-11-29 15:49:18 +00:00
Stanislav Malyshev
dca467faf3 GNU GMP - arbitrary precision nubers library 2000-11-26 18:36:16 +00:00