• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //  speed_test_functions.cpp  ----------------------------------------------------------//
2 
3 //  Copyright Beman Dawes 2013
4 
5 //  Distributed under the Boost Software License, Version 1.0.
6 //  http://www.boost.org/LICENSE_1_0.txt
7 
8 //--------------------------------------------------------------------------------------//
9 
10 //  These functions are in a separate compilation unit partially to defeat optimizers
11 //  and partially to create a worst case scenario. They are in a user namespace for
12 //  realism.
13 
14 //--------------------------------------------------------------------------------------//
15 
16 #ifndef _SCL_SECURE_NO_WARNINGS
17 # define _SCL_SECURE_NO_WARNINGS
18 #endif
19 
20 #ifndef _CRT_SECURE_NO_WARNINGS
21 # define _CRT_SECURE_NO_WARNINGS
22 #endif
23 
24 #include "speed_test_functions.hpp"
25 
26 namespace user
27 {
28 
return_x_big_int16(int16_t x,big_int16_t)29   int16_t return_x_big_int16(int16_t x, big_int16_t) BOOST_NOEXCEPT { return x; }
return_x_little_int16(int16_t x,little_int16_t)30   int16_t return_x_little_int16(int16_t x, little_int16_t) BOOST_NOEXCEPT { return x; }
return_x_value_big_int16(int16_t x,big_int16_t)31   int16_t return_x_value_big_int16(int16_t x, big_int16_t) BOOST_NOEXCEPT
32   {
33     return conditional_reverse<order::native, order::big>(x);
34   }
return_x_value_little_int16(int16_t x,little_int16_t)35   int16_t return_x_value_little_int16(int16_t x, little_int16_t) BOOST_NOEXCEPT
36   {
37     return conditional_reverse<order::native, order::little>(x);
38   }
return_x_inplace_big_int16(int16_t x,big_int16_t)39   int16_t return_x_inplace_big_int16(int16_t x, big_int16_t) BOOST_NOEXCEPT
40   {
41     conditional_reverse_inplace<order::native, order::big>(x); return x;
42   }
return_x_inplace_little_int16(int16_t x,little_int16_t)43   int16_t return_x_inplace_little_int16(int16_t x, little_int16_t) BOOST_NOEXCEPT
44   {
45     conditional_reverse_inplace<order::native, order::little>(x); return x;
46   }
return_y_big_int16(int16_t x,big_int16_t y)47   int16_t return_y_big_int16(int16_t x, big_int16_t y) BOOST_NOEXCEPT { return y; }
return_y_little_int16(int16_t x,little_int16_t y)48   int16_t return_y_little_int16(int16_t x, little_int16_t y) BOOST_NOEXCEPT { return y; }
49 
50   //------------------------------------------------------------------------------------//
51 
return_x_big_int32(int32_t x,big_int32_t)52   int32_t return_x_big_int32(int32_t x, big_int32_t) BOOST_NOEXCEPT { return x; }
return_x_little_int32(int32_t x,little_int32_t)53   int32_t return_x_little_int32(int32_t x, little_int32_t) BOOST_NOEXCEPT { return x; }
return_x_value_big_int32(int32_t x,big_int32_t)54   int32_t return_x_value_big_int32(int32_t x, big_int32_t) BOOST_NOEXCEPT
55   {
56     return conditional_reverse<order::native, order::big>(x);
57   }
return_x_value_little_int32(int32_t x,little_int32_t)58   int32_t return_x_value_little_int32(int32_t x, little_int32_t) BOOST_NOEXCEPT
59   {
60     return conditional_reverse<order::native, order::little>(x);
61   }
return_x_inplace_big_int32(int32_t x,big_int32_t)62   int32_t return_x_inplace_big_int32(int32_t x, big_int32_t) BOOST_NOEXCEPT
63   {
64     conditional_reverse_inplace<order::native, order::big>(x); return x;
65   }
return_x_inplace_little_int32(int32_t x,little_int32_t)66   int32_t return_x_inplace_little_int32(int32_t x, little_int32_t) BOOST_NOEXCEPT
67   {
68     conditional_reverse_inplace<order::native, order::little>(x); return x;
69   }
return_y_big_int32(int32_t x,big_int32_t y)70   int32_t return_y_big_int32(int32_t x, big_int32_t y) BOOST_NOEXCEPT { return y; }
return_y_little_int32(int32_t x,little_int32_t y)71   int32_t return_y_little_int32(int32_t x, little_int32_t y) BOOST_NOEXCEPT { return y; }
72 
73   //------------------------------------------------------------------------------------//
74 
return_x_big_int64(int64_t x,big_int64_t)75   int64_t return_x_big_int64(int64_t x, big_int64_t) BOOST_NOEXCEPT { return x; }
return_x_little_int64(int64_t x,little_int64_t)76   int64_t return_x_little_int64(int64_t x, little_int64_t) BOOST_NOEXCEPT { return x; }
return_x_value_big_int64(int64_t x,big_int64_t)77   int64_t return_x_value_big_int64(int64_t x, big_int64_t) BOOST_NOEXCEPT
78   {
79     return conditional_reverse<order::native, order::big>(x);
80   }
return_x_value_little_int64(int64_t x,little_int64_t)81   int64_t return_x_value_little_int64(int64_t x, little_int64_t) BOOST_NOEXCEPT
82   {
83     return conditional_reverse<order::native, order::little>(x);
84   }
return_x_inplace_big_int64(int64_t x,big_int64_t)85   int64_t return_x_inplace_big_int64(int64_t x, big_int64_t) BOOST_NOEXCEPT
86   {
87     conditional_reverse_inplace<order::native, order::big>(x); return x;
88   }
return_x_inplace_little_int64(int64_t x,little_int64_t)89   int64_t return_x_inplace_little_int64(int64_t x, little_int64_t) BOOST_NOEXCEPT
90   {
91     conditional_reverse_inplace<order::native, order::little>(x); return x;
92   }
return_y_big_int64(int64_t x,big_int64_t y)93   int64_t return_y_big_int64(int64_t x, big_int64_t y) BOOST_NOEXCEPT { return y; }
return_y_little_int64(int64_t x,little_int64_t y)94   int64_t return_y_little_int64(int64_t x, little_int64_t y) BOOST_NOEXCEPT { return y; }
95 
96 }
97