Commit Graph

149 Commits

Author SHA1 Message Date
John Maddock
5245fd31e2 Fix bug in division of zero.
Document and add tests.
Fixes #8160.

[SVN r83128]
2013-02-24 13:20:46 +00:00
John Maddock
1ef61ef160 Fix bug in subtraction routine that leads to -0 rather than 0.
Add test cases.
Fixes #8145.

[SVN r83103]
2013-02-23 17:22:18 +00:00
John Maddock
4a43b9ef8e Fix bug in subtraction of a limb_type.
Fix bug in division/modulus algorithms that results in incorrect sign when source and destination overlap.
Tweak performance of GCD algorithms.
Add test cases for bug reports.
Fixes #8133.
Fixes #8126.

[SVN r83080]
2013-02-22 10:37:36 +00:00
John Maddock
3111e69084 Fix sign of division in cpp_int when the values are small enough to fit in a double_limb_type.
Add test cases for above.
Fixes #8126.

[SVN r83060]
2013-02-21 13:05:41 +00:00
John Maddock
b8f6ed0612 Change to use the unit test framework as the test exec monitor seems to be terminally broken.
[SVN r82944]
2013-02-17 08:59:46 +00:00
Christopher Kormanyos
fb748f698d Refs #8065
[SVN r82920]
2013-02-16 10:55:06 +00:00
John Maddock
8ff620de3b Add debug_adaptor.hpp.
Document debug_adaptor and VC++ visualizers.

[SVN r82517]
2013-01-17 12:23:21 +00:00
John Maddock
2b901734b2 Big search and replace name change of adapter -> adaptor.
[SVN r82501]
2013-01-15 11:43:27 +00:00
John Maddock
0d4b3d4b02 Add logged adapter.
Add docs for logged_adapter and mpfi_float.

[SVN r82499]
2013-01-15 09:25:05 +00:00
John Maddock
97ba7d573f Fix bug that causes division by single limb to fail when the remainder is zero and the least significant limb of the quotient is 1.
Fixes #7878.

[SVN r82460]
2013-01-12 10:51:46 +00:00
John Maddock
97b0b495a4 Split test_arithmetic_mpfr_50.cpp into two tests for faster compiles / smaller memory usage.
[SVN r82431]
2013-01-10 11:25:15 +00:00
John Maddock
42458450be Add initial support for mpfi interval arithmetic
[SVN r82337]
2013-01-03 18:58:43 +00:00
John Maddock
27599ca09e Apply patch for typos.
Regenerate docs.
Fixes #7806.

[SVN r82073]
2012-12-18 11:28:04 +00:00
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
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
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
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
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
09f3928f5a Fix clang failures
[SVN r81464]
2012-11-21 17:54:50 +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
77d07eb7e9 Fix Intel compile failure
[SVN r81434]
2012-11-20 12:00:15 +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
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
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
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
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
John Maddock
82409d86a0 Minor changes for __int128 support and fix some C++0x issues
[SVN r81062]
2012-10-25 09:29:04 +00:00
John Maddock
a857186cb4 Big "blow it away and start again" refactoring of cpp_int.
Adds support for runtime checking, enumerated template params, fixed precision with allocator, and no "hidden" template parameters.

[SVN r81054]
2012-10-24 16:00:05 +00:00
John Maddock
5256e108a1 Fix Intel -x64 failures.
[SVN r80609]
2012-09-20 18:21:07 +00:00
John Maddock
4f2738fd6f Add traits class to determine default ExpressionTemplate parameter value.
Add support for fused-multiply-add/subtract.
Optimise temporary usage when the LHS also appears on the RHS.

[SVN r80607]
2012-09-20 16:04:02 +00:00
John Maddock
dd7ee60431 Fix GCC C++11 mode failures.
Tidy up TODO list.

[SVN r80577]
2012-09-18 16:47:03 +00:00
John Maddock
9f8b30fcdf Update docs with review comments.
Update a few tests based on review comments.
Regenerate docs.

[SVN r80539]
2012-09-16 12:25:14 +00:00
John Maddock
fc1cda1f62 Largely cosmetic change - add two new template params to cpp_dec_float - one for the exponent type, and one for an optional allocator.
[SVN r80431]
2012-09-07 08:31:49 +00:00
John Maddock
6dfcc7e526 Big search and replace change of name for the ExpressionTemplates template parameter to class number.
[SVN r80418]
2012-09-06 09:50:47 +00:00
John Maddock
9edbdc0ca4 Enable optimisations in the GMP and MPFR backends for mixed mode arithmetic.
Allow mixed arithmetic between two different expression templates.
Change docs to indicate mixed arithmetic is allowed and rebuild.

[SVN r80397]
2012-09-04 17:18:18 +00:00
John Maddock
ce3354335c Allow mixed precision binary operations.
Add tests for basic mixed precision usage.

[SVN r80394]
2012-09-04 08:20:26 +00:00
John Maddock
c7230f94ff Extra test cases for more complete coverage.
Added test coverage makefile.
Fixed errors from extra test cases.
Rename a few traits.

[SVN r80328]
2012-08-31 11:57:55 +00:00
John Maddock
1e00790703 Rename mp_number_archetype.
Update docs with explicit conversion info.
Regenerate docs.

[SVN r80261]
2012-08-27 12:30:53 +00:00
John Maddock
d9901b5144 Fix remaining GCC C++11 failures.
Fix buggy test cases.

[SVN r80166]
2012-08-24 11:08:44 +00:00
John Maddock
6157674972 Fix rational_adapter's implicit/explicit constructors.
Add converting constructors for trivial cpp_int's and test.
Both fix GCC errors.

[SVN r80120]
2012-08-21 18:17:57 +00:00