Commit Graph

106 Commits

Author SHA1 Message Date
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
John Maddock
af9e0c2fe7 Add more explicit constructors and tests for them.
Centralise digits10 to digits2 conversions.

[SVN r80112]
2012-08-21 14:42:15 +00:00
John Maddock
1f35bfe581 Make some gmp constructors explicit.
Add tests to verify that explicit conversions fail.
Fix failures inside number.hpp.

[SVN r80083]
2012-08-19 16:39:24 +00:00
John Maddock
b892e3f5ab Big breaking change - make lossy construction explicit.
[SVN r80058]
2012-08-16 08:13:51 +00:00
John Maddock
6fe80f07de Much improved concept docs.
Regenerate docs.
Make some cpp_int specific routines generic instead.
Changed divide-by-zero to be an overflow error.

[SVN r79952]
2012-08-10 08:37:37 +00:00
John Maddock
e2ef393c23 Big search and replace rename, removing mp_ prefix.
[SVN r79932]
2012-08-08 18:14:50 +00:00
John Maddock
8807532ee4 Added explicit conversion operators.
Moved some files into /detail/

[SVN r79926]
2012-08-08 16:12:33 +00:00
John Maddock
3bcbb056e7 Add better error checking for moved-from types.
[SVN r79913]
2012-08-07 17:55:32 +00:00
John Maddock
c8c3610cdc Fix uBlas tests and failures resulting from them.
[SVN r79902]
2012-08-07 11:47:25 +00:00
John Maddock
821afe64fb Add uBlas interoperability tests.
Add file include tests.

[SVN r79894]
2012-08-07 08:10:07 +00:00
John Maddock
2fb7c1a044 Fix Linux x64 C++0x build issues.
[SVN r79854]
2012-08-02 17:14:17 +00:00
John Maddock
8a54889f35 Update comparison operators for better efficiency.
Rework delaunay performance test to use less disk space.

[SVN r79848]
2012-08-02 12:27:00 +00:00
John Maddock
c79fb41526 Rework comparison operators - note that existing backends are made less efficient by this at present.
[SVN r79823]
2012-07-31 18:14:14 +00:00
John Maddock
64fe0089d3 Refactor concept checks for faster compilers.
Add constexpr construction test.

[SVN r79724]
2012-07-24 18:03:54 +00:00
John Maddock
281c667b71 Update frontend to allow direct construction of backend.
Improve construction times for cpp_int from integers.
Allow constexpr construction.
Allow fixed precision cpp_int's with small bit counts.

[SVN r79692]
2012-07-23 08:57:44 +00:00
John Maddock
19ee491c55 Add noexcept support/markup where possible.
[SVN r79331]
2012-07-07 11:16:28 +00:00
John Maddock
26905dc5ea Fix non ET operators to return by value (not rvalue refs as that's unsafe - thanks to Howard Hinnant for the test case).
Fix move constructors to actually move!
Add move test case.
Add better move support throughout the lib.

[SVN r79224]
2012-07-02 08:08:28 +00:00
John Maddock
1a4e3af5c8 Fix Linux x64 errors
[SVN r79165]
2012-06-29 11:53:25 +00:00
John Maddock
f09ead8e37 Some file renaming and fixes from Steven Watanabe's comments.
[SVN r79141]
2012-06-27 18:25:10 +00:00
Vicente J. Botet Escriba
cd741c1249 Multiprecision: added error log
[SVN r78803]
2012-06-03 20:51:41 +00:00
John Maddock
ebd7502fdc Enhance pow and powm tests.
Quash some warnings.
Fix the IO tests on GCC.

[SVN r78423]
2012-05-11 17:19:13 +00:00
John Maddock
a8c73aea66 Change non-member functions to be protected by enable_if based on the type of the number.
Extend expression templates to 4 arguments.
Add pow and powm functions for integer types.
Update docs to match.

[SVN r78401]
2012-05-10 09:20:26 +00:00
John Maddock
d2bc0f90f7 Change non-member functions to use enable_if so they're restricted to the number type to which they apply (better error messages). Enhance concept checks to check things which weren't previously tested.
[SVN r78321]
2012-05-04 08:20:33 +00:00
Christopher Kormanyos
9ee0022c77 Re-factor cpp_dec_float class constants.
Extend cpp_dec_float low-digit range from 30 to 9.
Removed temporary storage from cpp_dec_float multiply routine.
Extended tests to 9, 18 and (sqrt test) to 1000 digits.

[SVN r78097]
2012-04-20 20:05:49 +00:00
John Maddock
462bec3925 Fix ldexp/frexp in default_ops.hpp. Improve 64-bit platform detection in cpp_int_core.hpp. Get examples building with GCC
[SVN r77971]
2012-04-14 16:51:02 +00:00
John Maddock
d4a2c46ac6 Update examples, reorganise docs, temporarily remove HTML before rebuilding.
Enhance test cases, including enabling loopback testing on cpp_dec_float io.

[SVN r77948]
2012-04-13 15:38:28 +00:00
John Maddock
426430a233 Fix MPFR error rates on Linux x86 64
[SVN r77782]
2012-04-05 17:19:57 +00:00
John Maddock
68a4a87438 Add string versions of constants for faster (and more accurate) constant initialization.
[SVN r77758]
2012-04-04 17:04:00 +00:00
John Maddock
3913771ea0 Change cpp_dec_float string conversion to generate a better error message when conversion fails.
Add generic inter-conversions and tests for them.
Fix bug in cpp_int convert_to.

[SVN r77630]
2012-03-29 18:00:06 +00:00
John Maddock
ec3cf57c91 Add licence and copyright.
[SVN r77624]
2012-03-29 12:15:05 +00:00
John Maddock
ead32b9563 Squash some MSVC level 4 compiler warnings.
[SVN r77623]
2012-03-29 09:12:08 +00:00
John Maddock
4c6065717b Add a few more integer specific bit-fiddling functions.
Fix some bugs in cpp_int left shift code.
Document some missing backend API's, and update docs.

[SVN r77583]
2012-03-27 11:45:01 +00:00
John Maddock
6ead744223 Fix fixed precision ints to work with non obvious bit counts.
[SVN r77473]
2012-03-22 11:54:15 +00:00
John Maddock
8433c69175 Disable expression templates for fixed precision types.
Restrict integer functions to integer types.
Improve Miller Rabin performance by filtering out small primes etc.
Improve Miller Rabin tests.
Change mp_int to tom_int to avoid conflict with global ::mp_Int type.

[SVN r77471]
2012-03-22 10:29:30 +00:00
John Maddock
24cff33935 Update Miller Rabin test to use small prime filtering.
Add some new integer type operations.
Update performance tests to match.

[SVN r77451]
2012-03-21 09:19:57 +00:00
John Maddock
2349943cdb Fix some GMP int errors, and simplify modulus code.
Fix some cpp_int errors.
Improve cpp_int tests.

[SVN r77362]
2012-03-17 19:43:26 +00:00
John Maddock
45a08da90e Add simple version of the Miller Rabin test
[SVN r77353]
2012-03-17 09:18:20 +00:00
John Maddock
d82fa61c81 Mostly remove references to fixed_int.
Update docs.

[SVN r77335]
2012-03-14 18:23:44 +00:00
John Maddock
e1b23af8f5 Add files missing from last commit, and add new examples to tests.
[SVN r77324]
2012-03-13 18:40:52 +00:00
John Maddock
7bed8d02f9 Add support for disabling expression templates via a second template parameter to mp_number.
Begin to update docs to reflect new cpp_int code.

[SVN r77323]
2012-03-13 18:30:18 +00:00
John Maddock
5caa15f798 Reorganisation: rename methods "eval_foo" rather than "foo" to avoid conflict with classes of the same name (GCC bug).
Move backends into sub-namespaces to avoid namespace pollution.

[SVN r77312]
2012-03-12 09:18:44 +00:00
John Maddock
b42208c5df Fix several division algorithm bugs.
Add cpp_rational to performance tests.
Add modular arithmetic test to test cases.

[SVN r77303]
2012-03-11 16:43:31 +00:00
John Maddock
5500ad3ea8 Add support for fixed precision and unsigned cpp_int's.
[SVN r77260]
2012-03-08 10:34:37 +00:00
John Maddock
bea3707326 Add initial version of an arbitrary precision integer type.
Hook up some more fixed_int tests.

[SVN r77141]
2012-02-29 13:05:51 +00:00