Commit Graph

163 Commits

Author SHA1 Message Date
John Maddock
dd420d8d3b Add tentative support for user-defined-literals.
[SVN r84106]
2013-05-02 10:16:57 +00:00
John Maddock
a461ca170a Add lot's of enable_if's to integer only operators to restrict them to integer types (improves error messages).
Update test coverage Makesfile.
Update tests for full coverage.

[SVN r84051]
2013-04-26 08:17:12 +00:00
John Maddock
5126fa8e74 Fix float128 compile error.
Add constexpr support to float128.
Add float128 docs and rebuild HTML.

[SVN r84016]
2013-04-22 17:50:55 +00:00
John Maddock
727b4c4643 Fixes to get the float128 tests passing with Intel C++ 13.0.
[SVN r83874]
2013-04-13 16:53:01 +00:00
John Maddock
74e46a3306 Initial Intel C++ _Quad support in float128.
[SVN r83856]
2013-04-12 09:01:20 +00:00
John Maddock
ba0232fb1e Fix float128 string formatting.
[SVN r83831]
2013-04-10 16:30:13 +00:00
John Maddock
eb267293d7 Refactored build process to improve compile times.
Fixed expression-template incompatibility in spherical_harmonic.hpp.
Fixed expression template issues in log1p_expm1_test.hpp and test_cbrt.hpp.

[SVN r83775]
2013-04-06 08:54:04 +00:00
John Maddock
04b1c9e9f0 Initial commit of 128-bit float wrapper
[SVN r83713]
2013-04-02 17:26:48 +00:00
John Maddock
ff1c93b043 Fix bug(s) that cause variable reuse in function calls to fail.
Add additional test cases.
Fixes #8326.

[SVN r83619]
2013-03-28 11:27:08 +00:00
John Maddock
b1a27b8c5c Fix valgrind errors
[SVN r83519]
2013-03-22 16:55:36 +00:00
John Maddock
3aeea98da5 Suppress some msvc warnings.
[SVN r83441]
2013-03-15 18:07:05 +00:00
John Maddock
6582c85fd8 Improve uBas integration to allow use of expression templates inside uBas templates.
Fixes #8292.

[SVN r83439]
2013-03-15 17:29:20 +00:00
John Maddock
2a4255861e Fix operators that operate on unary-negated expressions.
Suppress some MSVC specific warnings.
Fix some bugs exposed by above changes and add new test cases.
Fixes #8176.

[SVN r83227]
2013-03-01 13:15:56 +00:00
John Maddock
bea6a2bdfc Change boolean context conversion operator so it's not convertible to void*.
Fixes #8177.

[SVN r83162]
2013-02-26 12:43:14 +00:00
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