Andrey Semashev
9b4408a5ac
Fix ends of lines, remove executable permission ( #72 )
...
* Converted Windows ends of line to UNIX.
Text files in git must have UNIX ends of lines, to be converted to Windows
EOLs on checkout, as required by git settings on the user's system.
* Removed executable permission from header.
2019-06-23 12:12:57 -07:00
Robert Ramey
accdb4062b
build documentation from latest boost book in preparation for checkin
2019-05-09 11:13:32 -07:00
Robert Ramey
58db776217
ixed issue related to lack of constexpr in exception with an “inline”
...
miscellaneous improvements in documentation
improved CMake implementation
2019-05-03 14:03:51 -07:00
Robert Ramey
82bf4359c7
minor changes for warnings
...
simplify passing of constant strings.
2019-03-01 13:30:18 -08:00
Robert Ramey
369a8dc280
small corrections to address issues in the boost test matrix
2019-02-26 21:11:09 -08:00
Robert Ramey
dec518c4a9
Fixed Exception Policies for trap and ignore.
2019-02-24 09:54:13 -08:00
Robert Ramey
f49e434238
Add tests for constexpr
...
improved CMake implementation for testing and development
2019-01-10 11:54:18 -08:00
Robert Ramey
e26f76e107
automatic - change variable name in order avoid spurious warnings
...
exception - comment out unused inline function in order to avoid duplicate symbols during linkage
test_add_native - remove workaround code for MSVC/mp11 issue with too many elements in tuple. This should be fixed now in develop branch
put workaround code in notepad - just in case
test_range - remove unused variables to avoid spurious warning
2018-12-17 11:55:54 -08:00
Robert Ramey
be981a0628
addressing limit on MSVC template depth
2018-12-16 13:26:42 -08:00
Robert Ramey
34c5645bf1
revert changes made to isolate problem with clang with C++17 set
2018-12-13 20:21:36 -08:00
Robert Ramey
5a4cfdf418
adjustment to try to address clang test failures
2018-12-13 14:51:01 -08:00
Robert Ramey
f7f37ab5d0
adjustment to try to address clang test failures
2018-12-13 12:30:30 -08:00
Robert Ramey
9c88222141
adjustment to try to address clang test failures
2018-12-13 08:56:13 -08:00
Robert Ramey
fe03bde34c
adjustment to try to address clang test failures
2018-12-12 15:34:26 -08:00
Robert Ramey
b1273bd84d
test change to avoid issue with Clang constexpr detection in test_checked_add_constexpr.cpp
...
adjust Jamfile to extend depth of template instantiation to 1024
2018-12-12 09:48:10 -08:00
Robert Ramey
56e08ca37d
address misc errors which are only showing with clang
...
specify template stack depth
2018-12-11 15:48:55 -08:00
Robert Ramey
7f8add08b5
add constexpr to test signed in all constexpr tests
2018-12-11 12:32:43 -08:00
Robert Ramey
c03a279bdd
Made changes to constexpr tests hoping to reveal more information on constexpr failures in Clang compilers which support C++17.
...
Also included a couple of pragmas to suppress bogus warnings on earlier Clang platforms.
2018-12-11 09:17:18 -08:00
Robert Ramey
a06d9f7a69
added constexpr tests to checked result operations
...
added tests for check result < and == operations
correct implementation of some checked result types
added constexpr example
2018-12-10 14:12:47 -08:00
Robert Ramey
899e5c1b48
removed dependency on boost preprocessor
...
removed last dependency on boost mpl
2018-11-23 15:40:44 -08: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
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
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
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
0e25e2095b
alter directory structure to comply with boost requirements
2018-08-16 11:03:38 -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
1537d022d0
ad image and mp11
2018-07-21 15:56:44 -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
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
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
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
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
Robert Ramey
39e8c30097
used enable if on constructor so that it only gets instantiated when passed an integer type.
...
before this change, it would get instantiated by is_convertible<T, safe<U>> for any type T which created a syntax error.
This problem appears with using rational<safe<int>> but passes tests now.
Switched casting operators back to implicit. Having it explicit makes it safe types more unwieldy to use and breaks some examples.
2017-06-25 11:46:11 -07:00
Robert Ramey
a1ea2eda24
eliminated implicit conversion from safe type to any other type.
...
updated documentation accordingly
2017-06-23 22:13:44 -07:00
Robert Ramey
3d67f22735
made fixes to pass tests for GCC compilers.
...
made jam files to be compatible with boost
made version of apveyor.yml which might work
2017-06-14 12:25:07 -07:00
Robert Ramey
38e72bd04f
included checked::equal to trap when equal comparison fails due to changes in types
2017-06-12 21:20:38 -07:00
Robert Ramey
02b5bc79f8
update documentation changes for automatic promotion policy.
...
made code easier to read by replacing ! no_exception() with exception and no_exception with ! exception
2017-06-11 13:50:00 -07:00
Robert Ramey
6dd1effd77
implemented policy based checking of less than comparison
2017-06-10 16:22:42 -07:00