• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef BOOST_SAFE_NUMERICS_TEST_CHECKED_LEFT_SHIFT_HPP
2 #define BOOST_SAFE_NUMERICS_TEST_CHECKED_LEFT_SHIFT_HPP
3 
4 //  Copyright (c) 2018 Robert Ramey
5 //
6 // Distributed under the Boost Software License, Version 1.0. (See
7 // accompanying file LICENSE_1_0.txt or copy at
8 // http://www.boost.org/LICENSE_1_0.txt)
9 
10 #include "test_checked_values.hpp"
11 
12 // test result matrices
13 
14 // key
15 // . success
16 // - negative_overflow_error
17 // + positive_overflow_error
18 // ! range_error
19 // n negative_shift,             // negative value in shift operator
20 // s negative_value_shift,       // shift a negative value
21 // l shift_too_large,            // l/r shift exceeds variable size
22 
23 constexpr char const * const signed_left_shift_results[] = {
24 //      012345678
25 /* 0*/ "!!!!!!!!!",
26 /* 1*/ "!!!!!!!!!",
27 /* 2*/ "!!++++++!",
28 /* 3*/ "!!+++....",
29 /* 4*/ "!!++.....",
30 /* 5*/ ".........",
31 /* 6*/ "!!--.....",
32 /* 7*/ "!!---....",
33 /* 8*/ "!!------!",
34 };
35 
36 constexpr char const * const unsigned_left_shift_results[] = {
37 //      0123456
38 /* 0*/ "!!!!!!!",
39 /* 1*/ "!!!!!!!",
40 /* 2*/ "!!++++!",
41 /* 3*/ "!!+++..",
42 /* 4*/ "!!++...",
43 /* 5*/ ".......",
44 /* 6*/ "!!----!",
45 };
46 
47 #endif // BOOST_SAFE_NUMERICS_TEST_CHECKED_LEFT_SHIFT_HPP
48 
49