Commit Graph

30 Commits

Author SHA1 Message Date
John McFarlane
c77b1c73c0 fixes operator precedence error 2016-08-27 13:01:08 -07:00
Robert Ramey
18ecefb095 Tests pass with gcc !!! 2016-01-12 22:30:16 -08:00
Robert Ramey
29cf7f3d12 progress on example 93 to demonstrate trapping all potential exceptions at compile time
removed constexpr from exception policies.
  this eliminates obstacle to gcc compilation which doesn't support constexpr throw
  unfortunately, all versions of gcc trip compiler fault so gcc not supported for now
safe_literal - make this an unsafe type since it doesn't have policies - this might change in the future
2016-01-11 11:01:15 -08:00
Robert Ramey
a98fdd1edb corrected bitwise & operator
backed out some previous changes
2016-01-09 15:23:48 -08:00
Robert Ramey
01a3af5cc3 progress on case study on motor.c
added intersection to interval
improved
2016-01-04 10:06:43 -08:00
Robert Ramey
ced5ce83f4 implemented op= versions of binary operands
first cut of cpp example
fixed misc bugs
2015-12-31 15:14:29 -08:00
Robert Ramey
de48936d0e fixed problems with bitwise and shift operations
diminished dependence on mpl::if and others
made progress on getting trap policy working better
2015-12-28 09:45:20 -08:00
Robert Ramey
1bc0b94e65 changes to implement the following:
a) made trap_exception work
b) updated manual and examples to show how to use library to eliminate runtime penalty
c) added in safe_literal
d) made corrections of various types
2015-12-21 23:14:06 -08:00
Robert Ramey
bce3a5536e intermediate version
passes all tests
adds documentation of library internals
implements trap_exception for compile time guarantee for program correctness
still needs update to support the above for operations in addition to + and -
2015-12-15 10:21:08 -08:00
Robert Ramey
e03097dfa4 changed SAFECONSTEXPR to constexpr 2015-12-07 22:04:32 -08:00
Robert Ramey
004149ee1d corrected implementation of safe shift operations in left/right native/automatic variations
added and updated tests for these operations
2015-12-04 15:15:28 -08:00
Robert Ramey
8c7884ba57 implemented compile time arithmetic for module
updated checked
added tests
passes all current tests
2015-12-02 15:58:19 -08:00
Robert Ramey
82cb6e4b60 working on modulus 2015-11-15 20:24:17 -08:00
Robert Ramey
7af42f2765 resolved division 2015-11-04 21:26:07 -08:00
Robert Ramey
5ed3f3a945 attempt to get division with automatic type promotion working 2015-09-05 17:16:19 -07:00
Robert Ramey
194d76a42e added tests for subtract and multiply automatic 2015-08-02 11:30:14 -07:00
Robert Ramey
79d480790a timplemented test for subtract automatic 2015-08-01 14:41:48 -07:00
Robert Ramey
d60bdf1de7 Fleshing out documentation - still in progress
This lead to numerous small changes - which of course weren't so small
Added static asserts for some range construction / assignments.
Passing all tests.
2015-07-23 16:52:22 -07:00
Robert Ramey
9bd6684c23 progress on automatic promotion policy 2015-07-18 15:38:05 -07:00
Robert Ramey
2bf3699082 corrected errors in comparison
implemented compile time checking to eliminate redundant run time error checking
first cut with automatic promotion
2015-07-07 14:51:33 -07:00
Robert Ramey
5ccff22568 first test of automatic promotion policy 2015-07-05 14:10:00 -07:00
Robert Ramey
54617a8cca implemented and tested shift operators 2015-07-03 13:48:26 -07:00
Robert Ramey
97d2b6cf12 made transition from derived classes to usage of type alias
pending cast from safe type to primitive integer type
2015-06-27 09:58:53 -07:00
Robert Ramey
2a5c0e373c test0 not working
example6 not working
2015-06-25 08:44:38 -07:00
Robert Ramey
8df7e3bf2e fixed multiply 2015-06-24 09:35:25 -07:00
Robert Ramey
2ebf9538d1 broke multiply and conversion 2015-06-23 15:16:04 -07:00
Robert Ramey
69d681727c re-factored compare
updated test_compare
updated safe_compare.hp
2015-06-19 08:29:53 -07:00
Robert Ramey
ba0040d512 Added in modulus operation and verified with tests.
This is a minor variation on divide
2015-06-17 09:31:29 -07:00
Robert Ramey
9ba1617c4e Implemented divide operations
updated test_add
2015-06-15 16:18:30 -07:00
Robert Ramey
6c0365461b Implemented multiply
test_multiply passes
2015-06-15 10:23:13 -07:00