Robert Ramey
c59f8b3d2b
minor changes and experiments to attempt to make dispatch on constexpr - failed.
2017-01-01 10:05:19 -08:00
Robert Ramey
0079d39361
created submission for accu
...
factored out xml files into smaller pieces
2016-12-31 18:32:44 -08:00
Robert Ramey
7ee656ecdf
fixed problem which originates in std::numeric_limits<float> and std::numeric_limits<double>
...
turns that std::numeric_limits<float> has the smallest value (nearest to zero) while when
we say min - we want the most negative value. Fixed by specialize interval<R> implementation
for floats and doubles
2016-09-10 11:03:50 -07:00
Robert Ramey
135fe9f1fd
merged in changes from John MacFarlane
...
and documentation improvements from Andre ...
2016-09-08 21:57:15 -07:00
John McFarlane
0230b9695d
changes std::numeric_limits from class to struct
...
- avoids irksome Clang warning, 'mismatched-tags'
2016-08-27 13:01:08 -07:00
John McFarlane
4dd06dc866
removes unused aliases
2016-08-27 13:01:08 -07:00
John McFarlane
c77b1c73c0
fixes operator precedence error
2016-08-27 13:01:08 -07:00
John McFarlane
019c2e90ad
fixes compiler warning
2016-08-27 13:01:08 -07:00
Robert Ramey
e5be7cb20a
adjustments to IDE layout
2016-04-19 21:23:19 -07:00
Robert Ramey
e709c9ead4
added CTestConfig.cmake to library root.
2016-04-19 13:30:44 -07:00
Robert Ramey
83bb543842
distributed CMake implementation
2016-04-19 11:40:20 -07:00
Robert Ramey
5f47f4a418
corrections/improvements in handling interaction with non integer types
2016-03-02 12:26:33 -08:00
Robert Ramey
d78a6ade10
removed commented out code from safe_base
2016-02-26 09:43:15 -08:00
Robert Ramey
c068524b45
added support for integer <-> non-integer conversions - floating and double
2016-02-26 09:38:02 -08:00
Robert Ramey
43a2406cf6
added support for integer <-> non-integer conversions
2016-02-26 09:37:10 -08:00
Robert Ramey
bb54d2bf8f
factored checked::cast to move operations to compile time
2016-01-15 18:30:59 -08:00
Robert Ramey
89ec0c69f8
eliminated dependence upon boost/mpl/or_.hpp
2016-01-15 17:02:51 -08:00
Robert Ramey
5f71b0342a
replaced typedef with using for better code reading consistency
2016-01-15 16:39:11 -08: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
511046c972
fixed bitwise or / and
...
re fixed examples - still some checking to do
2016-01-09 22:37:57 -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
cd620a8ec5
more complete documentation on eliminating runtime penalty
2015-12-17 17:46:05 -08:00
Robert Ramey
bb737b4ead
made changes to support correct handling of trap_exception
...
added accidentally deleted tests for left and right shift
changed print_type to recommendation
2015-12-15 14:19:24 -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
e37b89a969
misc corrections in documentation
...
preparation of proposal for standard library
2015-12-09 21:50:09 -08:00
Robert Ramey
e03097dfa4
changed SAFECONSTEXPR to constexpr
2015-12-07 22:04:32 -08:00
Robert Ramey
96f829bfe4
updates of manual and examples
2015-12-07 21:46:39 -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
1871e498f5
version of checked which works with automatic type promotion. Still more work to do:
...
a) remove min/max checks
b) make promotion policy select checked implementation via a table
2015-09-12 13:26:02 -07:00
Robert Ramey
5ed3f3a945
attempt to get division with automatic type promotion working
2015-09-05 17:16:19 -07:00
Robert Ramey
21178d2ea1
corrected error in multiply
2015-08-02 13:51:34 -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
321c7bbba0
updated tests to be sure that n op safe<?> is covered -
2015-07-30 13:26:48 -07:00
Robert Ramey
0a5822c14d
working version of automatic promotion policy.
...
(right now - only working in addition!)
More examples
More complete documentation
pending issue - compile time trap
2015-07-29 13:55:57 -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
64c3203ae1
Fixed compilation error in native
...
made automatic tests pass for addition
2015-07-20 12:33:29 -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
bb96ebfc14
Moved policies implementation to development
2015-07-03 22:40:22 -07:00
Robert Ramey
f185d014f2
added in binary operations |, &, and ^
2015-07-03 15:30:54 -07:00