Commit Graph

1243 Commits

Author SHA1 Message Date
John Maddock
08fdb31fa2 Add some optimisation to gcd/lcm/lsb and cpp_int:
Use compiler intrinsics where possible for lsb.
Switch to using native integers when the values get small enough for gcd.
Re-run the performance tests and regenerate the docs.

Also change the series evaluation limits to make them depend on the precision in pow.hpp and trig.hpp.

[SVN r81946]
2012-12-14 18:37:27 +00:00
John Maddock
a4c6303ad8 Merge minor fixes from Trunk.
[SVN r81879]
2012-12-12 17:09:08 +00:00
John Maddock
f607597c85 Update mpfr.hpp to use MPFR native constants when used with Boost.Math.
[SVN r81871]
2012-12-12 13:18:06 +00:00
John Maddock
a7d4edc769 Tweak GCD for better performance.
[SVN r81810]
2012-12-09 16:41:53 +00:00
John Maddock
75cab8836d Allow detail::canonical to be used with enum types.
Review all noexcept specifications - and remove quite a few that we (probably) can't guarantee.
Change example workaround for non-C++11 compilers.

[SVN r81809]
2012-12-09 15:24:07 +00:00
John Maddock
870cd623f0 Merge multiprecision from Trunk.
[SVN r81806]
2012-12-09 12:01:09 +00:00
John Maddock
82e82e6b15 Disable debug info for a couple of slower compilers: speeds up the tests somewhat.
[SVN r81799]
2012-12-08 17:40:29 +00:00
John Maddock
f1830235bb Fix inspection report issues.
Regenerate docs.
Fix performance test Jamfile.

[SVN r81740]
2012-12-06 13:37:51 +00:00
John Maddock
1b6d4082b4 Change to return test result!!
[SVN r81734]
2012-12-06 10:39:59 +00:00
John Maddock
bfd897f5d8 Fix some more GCC warnings and make compiles faster for slow compilers (Intel)
[SVN r81710]
2012-12-04 19:28:46 +00:00
John Maddock
1991d878aa Fix some more GCC warnings.
[SVN r81655]
2012-12-01 18:06:24 +00:00
John Maddock
672cd76754 Refactor test_arithmetic.cpp into lots of small files for reduced dependencies.
Changed use of __forceinline to release builds only.

[SVN r81654]
2012-12-01 16:19:23 +00:00
Christopher Kormanyos
5f14980691 Improved cpp_dec_float::extract_parts to handle sizeof(double) exceeding 8 bytes.
[SVN r81638]
2012-11-30 20:22:10 +00:00
John Maddock
9c7f52ec7f Suppress GCC warning.
[SVN r81634]
2012-11-30 16:29:17 +00:00
John Maddock
c77b46b4da Add missing -= operator to tests.
[SVN r81622]
2012-11-29 11:04:22 +00:00
Marshall Clow
5eb7c69461 Removed usage of deprecated macros
[SVN r81558]
2012-11-26 17:20:55 +00:00
John Maddock
2ead55dafc Fix PDF generation.
[SVN r81555]
2012-11-26 17:05:42 +00:00
John Maddock
9d16324b79 Tweak docs and regenerate.
Fix doc Jamfile.
Add redirect index.html.

[SVN r81553]
2012-11-26 16:59:39 +00:00
John Maddock
477fec65e1 TRy and disable some VC11 warnings.
[SVN r81529]
2012-11-25 18:01:46 +00:00
John Maddock
3523e32a6c Fix for aliasing bug.
[SVN r81526]
2012-11-25 11:50:54 +00:00
John Maddock
b9b28eefa7 Fix for gcc-4.4.x: rvalue reference support in gcc-4.4 isn't good enough for our use cases.
[SVN r81510]
2012-11-24 18:28:04 +00:00
John Maddock
4d78b669b8 Improve testing macros and update test_arithmetic.cpp to use them and offer better error reporting.
[SVN r81497]
2012-11-23 17:19:11 +00:00
John Maddock
114aeb386b Simply enable_if usage in cpp_int_backend: try to fix Intel-11 failures.
Improve test_cpp_int.cpp.
Improve config tests.

[SVN r81487]
2012-11-22 17:21:01 +00:00
John Maddock
d6feeb290d Small optimisation for integer modulus.
[SVN r81477]
2012-11-22 09:56:47 +00:00
Marshall Clow
03af4f817c Remove usage of deprecated macros
[SVN r81467]
2012-11-21 21:32:26 +00:00
John Maddock
edfc8f5ff8 Fix for non-C++11 compilers.
[SVN r81465]
2012-11-21 18:55:39 +00:00
John Maddock
09f3928f5a Fix clang failures
[SVN r81464]
2012-11-21 17:54:50 +00:00
John Maddock
fa16b3f2d5 Fix missing include
[SVN r81441]
2012-11-20 18:56:23 +00:00
John Maddock
8f18e0b73f Enhance config tests.
Split cpp_int tests into smaller chunks.

[SVN r81440]
2012-11-20 18:50:08 +00:00
John Maddock
1f4ed86f97 Fix configuration tests to correctly print lib version numbers
[SVN r81435]
2012-11-20 12:14:52 +00:00
John Maddock
77d07eb7e9 Fix Intel compile failure
[SVN r81434]
2012-11-20 12:00:15 +00:00
John Maddock
cbb9e41226 Try and fix some Clang failures.
Also remove noexcept specifications from cpp_dec_float: calls to lexical_cast deep in the call tree, make it pretty much impossible to analyse by hand.

[SVN r81427]
2012-11-19 18:18:51 +00:00
John Maddock
3168afc5ec Misc minor fixes for VC9.
[SVN r81423]
2012-11-19 13:30:33 +00:00
John Maddock
d38ad7997d Fix misplaced use of typename.
[SVN r81422]
2012-11-19 12:27:53 +00:00
John Maddock
c53491f7f8 Configure checks need to verify GMP and MPFR versions.
[SVN r81420]
2012-11-19 11:02:06 +00:00
John Maddock
8ae04c68a6 Merge multiprecision from sandbox.
[SVN r81417]
2012-11-18 18:56:59 +00:00
John Maddock
4071dd8d59 Fix missing number constructor.
Fix is_explicitly_convertible to take account of the generic conversions.
Change sf_performance to use multiple files so we can actually compile the thing!
Minor doc updates.
Suppress some more warnings.

[SVN r81324]
2012-11-13 17:12:19 +00:00
John Maddock
3430188795 Add overloads of the integer-only functions which work with native integer types.
Ensure powm promotes fixed precision types to avoid numeric overflow.
Allow the Miller-Rabin code to be used by native integers.
Fix Miller Rabin tests to actually return the test result!
Fix some bugs in cpp_int unsigned arithmetic, and ensure the Miller Rabin and random number code can be safely used with checked fixed precision integers.

[SVN r81269]
2012-11-09 18:55:19 +00:00
John Maddock
a9bcf67b4b Fix errors resulting from incorrect noexcept specifications and no numeric_limits support for __int128
[SVN r81211]
2012-11-05 19:05:31 +00:00
John Maddock
e3deed1fdf Optimize cpp_int multiplication with precision extension.
Turn off some warnings.

[SVN r81200]
2012-11-05 12:36:25 +00:00
John Maddock
836d765243 Fix Jamfile SNAFU.
[SVN r81170]
2012-11-04 12:14:22 +00:00
John Maddock
e599ca723c Fix missing typename.
[SVN r81169]
2012-11-04 12:08:37 +00:00
John Maddock
da40611f57 Fix mpfr_float_backend interconversions.
Update docs and regenerate.

[SVN r81163]
2012-11-03 18:27:11 +00:00
John Maddock
788449ffa5 Add non-member functions for mixed precision arithmetic + tests for same.
Fix a couple of bugs discovered along the way.

[SVN r81151]
2012-11-02 19:13:50 +00:00
John Maddock
3080df73d9 Update MPFR docs with performance comparison.
[SVN r81146]
2012-11-02 13:07:39 +00:00
John Maddock
b640732abd Add additional template parameter to mpfr_float_backend to allow stack-based floats.
[SVN r81135]
2012-11-01 19:01:08 +00:00
John Maddock
d1336b5f63 More doc updates.
Regenerate docs.

[SVN r81133]
2012-11-01 11:19:59 +00:00
John Maddock
c587f1550b Update and regenerate docs.
Fix error in expression template unpacking that occasionally caused variable over-writes.
Update Math lib tests to test at least one non-ET type.

[SVN r81121]
2012-10-31 17:06:33 +00:00
John Maddock
645fe8865c Add tests for checked ints and fix failures.
Make negating an unsigned int an error, and fix resulting test failures.
Change allocator defaults to be void when the allocator is not actually required.

[SVN r81070]
2012-10-27 17:48:33 +00:00
John Maddock
e3b56e3f7c Fix constexpr support.
[SVN r81063]
2012-10-25 11:53:25 +00:00