Commit Graph

343 Commits

Author SHA1 Message Date
Robert Ramey
71eedbdf6f Merge branch 'develop' of https://github.com/boostorg/safe_numerics into develop 2018-10-16 09:41:30 -07:00
Robert Ramey
1edc47eeff earlier versions of the clang compiler (e.g. 3.8) have been failing.
It looks like this might be due the the unary - operator in checked_result operations isn't being "found".
I've modified the code so that this operator is defined before it is used.
Maybe this will make a difference.
2018-10-16 09:16:15 -07:00
Peter Dimov
aabc7ef9b9 Merge branch 'feature/fix-travis' into develop 2018-10-16 19:07:17 +03:00
Peter Dimov
6da3c981f2 Remove clang 3.8 as well 2018-10-16 18:35:28 +03:00
Peter Dimov
bcf5e5f275 Remove clang 3.5/3.6; use libstdc++-5 for 3.8 2018-10-16 07:38:39 +03:00
Robert Ramey
fc38d49245 fix extraneous semi-colons
fix test_trap in Jamfile - should fail compile only
2018-10-15 19:59:04 -07:00
Peter Dimov
f24570bb01 Fix clang 3.5-3.8 'default initialization of an object of const type without a user-provided default constructor' 2018-10-16 03:38:36 +03:00
Peter Dimov
6e08da96f2 Remove g++ 5 from Travis; install newer libstdc++ versions for the Clangs 2018-10-15 22:14:38 +03:00
Robert Ramey
87d441f99c adjust to accomodated issue for Clang versions precious to clang7 2018-10-05 08:56:13 -07:00
Robert Ramey
1bdf30e2b2 clean up exception catching to suppress warnings.
sync up class and struct
2018-09-30 17:39:33 -07:00
Robert Ramey
b75ea6243f correct error so that we match lazy enable if interface. 2018-09-29 17:25:55 -07:00
Robert Ramey
3f7414b180 add missing files for boost test matrix 2018-09-24 19:50:11 -07:00
Robert Ramey
1ab8b710f4 renamed travis.yml to .travis.yml to enable travis CI 2018-09-24 14:40:30 -07:00
Robert Ramey
605feb4596 updated CI scripts according to latest suggestions 2018-09-24 11:53:37 -07:00
Robert Ramey
b9b394fe43 tribool has been updated so as not to implicitly convert tribool to bool 2018-09-23 14:26:36 -07:00
Robert Ramey
992bd7b311 Changes generated by preparation for CPPCon 2018 2018-09-15 10:48:41 -07:00
Robert Ramey
e26fb7fcee generated html and pdf documentation 2018-09-05 09:56:32 -07:00
Robert Ramey
52e0a2fe03 correction to exception expected
add example8 for difference between two unsigned ints
update documentation - pending issues
2018-09-04 13:37:21 -07:00
Robert Ramey
37457049a3 upgrades in documentation 2018-09-02 11:05:08 -07:00
Robert Ramey
0e25e2095b alter directory structure to comply with boost requirements 2018-08-16 11:03:38 -07:00
Robert Ramey
4ed363972e moved include files to boost approved location 2018-08-14 21:27:37 -07:00
Robert Ramey
e68037cb32 Update documentation to address PRs
update appveyor/travis xml hoping they'll work
2018-08-14 16:46:19 -07:00
Robert Ramey
4e63548736 Refine embedded case study after running code on MPLab simulator 2018-08-10 13:07:38 -07:00
Robert Ramey
00f51146ef fixing up apveyor yml
Now it should use whichever version of msvc is specified by the "build" section.
2018-08-02 08:38:36 -07:00
Robert Ramey
ffe8c9eaa2 add missing html files for case study
fix issue with CMakeLists.txt
2018-08-02 08:05:23 -07:00
Robert Ramey
5f2cdf26c5 backed out change which generates complaint about missing VS 2017 2018-07-22 09:03:01 -07:00
Robert Ramey
13015d9c62 Appveyor still failing, return to previous script 2018-07-22 08:45:52 -07:00
Robert Ramey
1537d022d0 ad image and mp11 2018-07-21 15:56:44 -07:00
Robert Ramey
88519fbcdc forgot to include new files motor_test1.c, motor_test2.c, motor_test3.c 2018-07-21 09:59:33 -07:00
Robert Ramey
b62ef86e28 Added case study for embedded system
corrections in cpp promotion
added make_safe_literal
separated integers from other types
dropped example91
updated CMakeLists.txt and Jamfile.v2 accordingly
2018-07-21 09:57:35 -07:00
Robert Ramey
861d209b2e changed to msvc-14.1 to see if appveyor likes it. 2018-05-20 17:15:46 -07:00
Robert Ramey
a7e43e7a59 missing imported library for integer.hpp 2018-05-19 20:54:41 -07:00
Robert Ramey
024e250b3e Attempt to make appveyor run tests on safe numerics 2018-05-19 17:36:57 -07:00
Robert Ramey
53bd56c597 improved support for constexpr
improved support for safe_literals
corrected errors in less_than and equal which were failing to detect possible runtime failures.
simplified pseudo partial specialization for checked_result_operations
2018-05-19 15:59:28 -07:00
Robert Ramey
d8e3a5e0a8 build documentation 2018-04-24 21:48:33 -07:00
Robert Ramey
ff130138ca update Jamfile to address CI problem 2018-04-24 14:33:17 -07:00
Robert Ramey
0d443e3a6f alterations to accomodate VS 2017
currently passes all tests and examples on Clang, gcc and mdvc with C++14
2018-04-23 10:22:34 -07:00
Robert Ramey
b534437b76 correct issues in example93 and misc gcc issues.
correct Jamfile to skip performance test in debug mode
implement compile only test in CMakeLists.txt
2018-04-07 15:30:02 -07:00
Robert Ramey
d053997cfd Made alterations to accommodate GCC compilers. Now passes all tests on both Clang and GCC 2018-04-06 09:02:21 -07:00
Robert Ramey
325de8e171 corrected bugs detected after rebasing to devlop 2018-03-26 12:16:25 -07:00
Robert Ramey
99ee93d94d refactored checked operations, added corresponding tests and documentation
meant to improve correctness and extendability.
2018-03-24 18:22:48 -07:00
Robert Ramey
0ff8bb9ceb Passing all tests.
checked integer arithmetic type working.
2018-03-22 10:12:39 -07:00
Robert Ramey
1490e9fe57 refactored to implement checked_result arithmetic - still some tests to fix 2018-03-13 15:04:16 -07:00
Robert Ramey
924ec15070 updated documentation to reflect newer implementation 2017-11-07 14:42:54 -08:00
Robert Ramey
67a7eaa2ad Make checked<...> an arithmetic type
adjust rest of program accordingly
this should
a) factor casts out of checked operations and put them in safe_base_operations
b) simplify interval which will not explicitly check for overflows etc.

First milestone - make test_add_native pass all addition tests.
2017-11-07 09:57:09 -08:00
Robert Ramey
4153b7f58a Numerous changes to better handle floating point.
Turns out that these changes should also better position us to handle other underlying types - but we're not there yet.
Added example for composition with other types - example boost rational and boost multi precision
Added performance test using boost multi precision
Many other small corrections
2017-07-16 13:36:09 -07:00
Robert Ramey
86910466a8 Intermediate working version
Making way for checked_float, checked_money, etc

a) factoring checked into checked_integer etc.
b) moved some tests from test_z to official tests
c) added test_rational which tests interoperability with boost::rational
d) moved safe_range to safe_integer_range
2017-07-08 12:48:37 -07:00
Robert Ramey
67bc38ac62 added example based on rational.hpp
used enable_if on checked functions to pave the way for other checked implementations
2017-06-27 22:56:11 -07:00
Robert Ramey
6854782928 reversed decision to make casting explicit. It's implicit again. Making it explicit didn't solve any issues but caused a number of examples to fail requiring an explanation. Now It's back to the way it was. 2017-06-25 21:19:58 -07:00
Robert Ramey
26372d4862 hardened up enable_if usage to diminish or eliminate un expected instantiations 2017-06-25 18:33:25 -07:00