Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r63820 - in sandbox/SOC/2010/bits_and_ints: boost/integer libs/integer/test
From: muriloufg_at_[hidden]
Date: 2010-07-10 12:50:34


Author: murilov
Date: 2010-07-10 12:50:32 EDT (Sat, 10 Jul 2010)
New Revision: 63820
URL: http://svn.boost.org/trac/boost/changeset/63820

Log:
Now all tests compile without warnings on darwin compiler
Added:
   sandbox/SOC/2010/bits_and_ints/libs/integer/test/isign_test.cpp (contents, props changed)
Text files modified:
   sandbox/SOC/2010/bits_and_ints/boost/integer/bit_utils.hpp | 3 ++-
   sandbox/SOC/2010/bits_and_ints/boost/integer/clear_least_bit_set.hpp | 2 +-
   sandbox/SOC/2010/bits_and_ints/boost/integer/is_integral_constant.hpp | 21 +++++++++++++++------
   sandbox/SOC/2010/bits_and_ints/libs/integer/test/Jamfile.v2 | 35 ++++++++++++++++++-----------------
   sandbox/SOC/2010/bits_and_ints/libs/integer/test/clear_least_bit_set_test.cpp | 6 +++---
   sandbox/SOC/2010/bits_and_ints/libs/integer/test/sign_extend_test.cpp | 6 +++---
   sandbox/SOC/2010/bits_and_ints/libs/integer/test/sign_test.cpp | 12 ++++++------
   7 files changed, 48 insertions(+), 37 deletions(-)

Modified: sandbox/SOC/2010/bits_and_ints/boost/integer/bit_utils.hpp
==============================================================================
--- sandbox/SOC/2010/bits_and_ints/boost/integer/bit_utils.hpp (original)
+++ sandbox/SOC/2010/bits_and_ints/boost/integer/bit_utils.hpp 2010-07-10 12:50:32 EDT (Sat, 10 Jul 2010)
@@ -16,7 +16,8 @@
 /*
  * Some utilities to handle integers.
  */
-namespace boost {
+namespace boost
+{
         
 template <typename T>
 inline T set_bit(T data, unsigned char pos)

Modified: sandbox/SOC/2010/bits_and_ints/boost/integer/clear_least_bit_set.hpp
==============================================================================
--- sandbox/SOC/2010/bits_and_ints/boost/integer/clear_least_bit_set.hpp (original)
+++ sandbox/SOC/2010/bits_and_ints/boost/integer/clear_least_bit_set.hpp 2010-07-10 12:50:32 EDT (Sat, 10 Jul 2010)
@@ -26,7 +26,7 @@
 {
         return (value & (value - 1));
 } //clear_least_bit_set
-
+
 } //boost
 
 #endif

Modified: sandbox/SOC/2010/bits_and_ints/boost/integer/is_integral_constant.hpp
==============================================================================
--- sandbox/SOC/2010/bits_and_ints/boost/integer/is_integral_constant.hpp (original)
+++ sandbox/SOC/2010/bits_and_ints/boost/integer/is_integral_constant.hpp 2010-07-10 12:50:32 EDT (Sat, 10 Jul 2010)
@@ -26,24 +26,33 @@
 
 namespace mpl {
 
+//~ template <typename IC>
+//~ struct is_integral_constant : false_ {};
+
+
+//~ namespace detail {
 BOOST_MPL_HAS_XXX_TRAIT_DEF(tag)
 BOOST_MPL_HAS_XXX_TRAIT_DEF(value_type)
-BOOST_MPL_HAS_XXX_TRAIT_DEF(value)
+//~ BOOST_MPL_HAS_XXX_TRAIT_DEF(value)
 BOOST_MPL_HAS_XXX_TRAIT_DEF(type)
-
+//~ }
 template <typename IC>
 struct is_integral_constant : and_<
                 and_< has_tag<IC>, is_same<typename IC::tag, integral_c_tag> >,
                 and_< has_value_type<IC>, is_integral<typename IC::value_type> >,
- //has_value<IC>,
- has_type<IC>,
- true_
+ //detail_has_value<IC>,
+ has_type<IC>
>
 {};
 
+
+
+template <typename T, T value>
+struct is_integral_constant<integral_c<T,value> > : true_ {};
+
 }
 
 
 } // boost
 
-#endif
\ No newline at end of file
+#endif

Modified: sandbox/SOC/2010/bits_and_ints/libs/integer/test/Jamfile.v2
==============================================================================
--- sandbox/SOC/2010/bits_and_ints/libs/integer/test/Jamfile.v2 (original)
+++ sandbox/SOC/2010/bits_and_ints/libs/integer/test/Jamfile.v2 2010-07-10 12:50:32 EDT (Sat, 10 Jul 2010)
@@ -4,17 +4,17 @@
 
 import testing ;
 
-project : requirements <warnings>all <toolset>gcc:<cxxflags>-Wextra ;
+project : requirements <warnings>all <toolset>darwin:<cxxflags>-Wextra <toolset>darwin:<cxxflags>-Wno-long-long <toolset>gcc:<cxxflags>-Wextra <toolset>gcc:<cxxflags>-Wno-long-long ;
 
 test-suite integer
- :
- [ run cstdint_test.cpp : : : <toolset>gcc:<cxxflags>-Wno-long-long <toolset>darwin:<cxxflags>-Wno-long-long ]
- [ run cstdint_test2.cpp : : : <toolset>gcc:<cxxflags>-Wno-long-long <toolset>darwin:<cxxflags>-Wno-long-long ]
- [ run integer_traits_test.cpp ]
- [ run integer_test.cpp : : : <toolset>gcc:<cxxflags>-Wno-long-long <toolset>darwin:<cxxflags>-Wno-long-long <toolset>sun:<cxxflags>"-Qoption ccfe -tmpldepth=128" ]
- [ run integer_mask_test.cpp ]
- [ run static_log2_test.cpp ]
- [ run static_min_max_test.cpp ]
+ :
+ [ run cstdint_test.cpp : : : <toolset>gcc:<cxxflags>-Wno-long-long <toolset>darwin:<cxxflags>-Wno-long-long ]
+ [ run cstdint_test2.cpp : : : <toolset>gcc:<cxxflags>-Wno-long-long <toolset>darwin:<cxxflags>-Wno-long-long ]
+ [ run integer_traits_test.cpp ]
+ [ run integer_test.cpp : : : <toolset>gcc:<cxxflags>-Wno-long-long <toolset>darwin:<cxxflags>-Wno-long-long <toolset>sun:<cxxflags>"-Qoption ccfe -tmpldepth=128" ]
+ [ run integer_mask_test.cpp ]
+ [ run static_log2_test.cpp ]
+ [ run static_min_max_test.cpp ]
                 [ run sign_extend_test.cpp ]
                 [ run bit_reversal_test.cpp ]
                 [ run sign_test.cpp ]
@@ -25,11 +25,12 @@
                 [ run count_trailing_zeros_test.cpp ]
                 [ run clear_least_bit_set_test.cpp ]
                 [ run safe_avg_test.cpp ]
- [ compile cstdint_include_test.cpp ]
- [ compile integer_traits_include_test.cpp ]
- [ compile integer_include_test.cpp ]
- [ compile integer_mask_include_test.cpp ]
- [ compile static_log2_include_test.cpp ]
- [ compile static_min_max_include_test.cpp ]
- [ compile integer_fwd_include_test.cpp ]
- ;
+ [ run isign_test.cpp ]
+ [ compile cstdint_include_test.cpp ]
+ [ compile integer_traits_include_test.cpp ]
+ [ compile integer_include_test.cpp ]
+ [ compile integer_mask_include_test.cpp ]
+ [ compile static_log2_include_test.cpp ]
+ [ compile static_min_max_include_test.cpp ]
+ [ compile integer_fwd_include_test.cpp ]
+ ;

Modified: sandbox/SOC/2010/bits_and_ints/libs/integer/test/clear_least_bit_set_test.cpp
==============================================================================
--- sandbox/SOC/2010/bits_and_ints/libs/integer/test/clear_least_bit_set_test.cpp (original)
+++ sandbox/SOC/2010/bits_and_ints/libs/integer/test/clear_least_bit_set_test.cpp 2010-07-10 12:50:32 EDT (Sat, 10 Jul 2010)
@@ -34,14 +34,14 @@
         CLEAR_LEAST_BIT_SET_TEST(0xAA, 0xA8);
         CLEAR_LEAST_BIT_SET_TEST(0xFFFF, 0xFFFE);
         CLEAR_LEAST_BIT_SET_TEST(0xF0A0, 0xF080);
- CLEAR_LEAST_BIT_SET_TEST(0xFFFFFFFF, 0xFFFFFFFE);
+ CLEAR_LEAST_BIT_SET_TEST(0xFFFFFFF, 0xFFFFFFE);
         CLEAR_LEAST_BIT_SET_TEST(0x55555555, 0x55555554);
- CLEAR_LEAST_BIT_SET_TEST(0xBABEBEEF, 0xBABEBEEE);
+ CLEAR_LEAST_BIT_SET_TEST(0x1ABEBEEF, 0x1ABEBEEE);
         CLEAR_LEAST_BIT_SET_TEST(0xFF800, 0xFF000);
         CLEAR_LEAST_BIT_SET_TEST(0x800, 0);
         CLEAR_LEAST_BIT_SET_TEST(0x123800, 0x123000);
         CLEAR_LEAST_BIT_SET_TEST(0x33800, 0x33000);
- CLEAR_LEAST_BIT_SET_TEST(0x82000000, 0x80000000);
+ CLEAR_LEAST_BIT_SET_TEST(0x42000000, 0x40000000);
         
         return boost::report_errors();
 }
\ No newline at end of file

Added: sandbox/SOC/2010/bits_and_ints/libs/integer/test/isign_test.cpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2010/bits_and_ints/libs/integer/test/isign_test.cpp 2010-07-10 12:50:32 EDT (Sat, 10 Jul 2010)
@@ -0,0 +1,41 @@
+// Boost safe_avg_test.hpp test program --------------------------------------//
+
+// (C) Copyright Murilo Adriano Vasconcelos 2010.
+// Distributed under the Boost Software License, Version 1.0. (See
+// accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+
+#include <boost/detail/lightweight_test.hpp>
+#include <boost/integer/isign.hpp>
+#include <boost/integer/static_isign.hpp>
+#include <boost/mpl/integral_c.hpp>
+
+#include <iostream>
+
+#define ISIGN_TEST(x, y, z) \
+BOOST_TEST((::boost::isign(x, y) == z)); \
+BOOST_TEST(((::boost::mpl::isign< ::boost::mpl::integral_c<int, x>, ::boost::mpl::integral_c<int, y> >::value) == z))
+
+
+// Main testing function
+int main(int, char* [])
+{
+ std::cout << "Doing tests on safe_avg functions." << std::endl;
+
+ ISIGN_TEST(0, 0, 0);
+ ISIGN_TEST(0, 1, 0);
+ ISIGN_TEST(0, -1, 0);
+ ISIGN_TEST(1, 1, 1);
+ ISIGN_TEST(1, -1, -1);
+ ISIGN_TEST(-1, 1, 1);
+ ISIGN_TEST(-1, -1, -1);
+ ISIGN_TEST(123987, 1000, 123987);
+ ISIGN_TEST(-123987, 1000, 123987);
+ ISIGN_TEST(123987, -1000, -123987);
+ ISIGN_TEST(-123987, -1000, -123987);
+ ISIGN_TEST(9883230, -7632945, -9883230);
+ ISIGN_TEST(-7632945, 9883230, 7632945);
+ ISIGN_TEST(7632945, -9883230, -7632945);
+
+ return boost::report_errors();
+}

Modified: sandbox/SOC/2010/bits_and_ints/libs/integer/test/sign_extend_test.cpp
==============================================================================
--- sandbox/SOC/2010/bits_and_ints/libs/integer/test/sign_extend_test.cpp (original)
+++ sandbox/SOC/2010/bits_and_ints/libs/integer/test/sign_extend_test.cpp 2010-07-10 12:50:32 EDT (Sat, 10 Jul 2010)
@@ -63,9 +63,9 @@
         SIGN_EXTEND_TEST(0x7FFFFFFF, 31, -1);
         
 #ifndef BOOST_NO_INT64_T
- SIGN_EXTEND_TEST(0x7FFFFFFFFF, 39, 0xFFFFFFFFFFFFFFFF);
- SIGN_EXTEND_TEST(0x1000000000000000, 63, 0x1000000000000000);
- SIGN_EXTEND_TEST(0x7FFFFFFFFFFFFFFF, 63, (uint64_t)-0x1);
+ SIGN_EXTEND_TEST(0x7FFFFFFFFFLL, 39, -0x1LL);
+ SIGN_EXTEND_TEST(0x1000000000000000LL, 63, 0x1000000000000000LL);
+ SIGN_EXTEND_TEST(0x7FFFFFFFFFFFFFFFLL, 63, -0x1LL);
 #endif
         
         return boost::report_errors();

Modified: sandbox/SOC/2010/bits_and_ints/libs/integer/test/sign_test.cpp
==============================================================================
--- sandbox/SOC/2010/bits_and_ints/libs/integer/test/sign_test.cpp (original)
+++ sandbox/SOC/2010/bits_and_ints/libs/integer/test/sign_test.cpp 2010-07-10 12:50:32 EDT (Sat, 10 Jul 2010)
@@ -60,20 +60,20 @@
 
 #ifndef BOOST_NO_INT64_T
         
- STATIC_SIGN_TEST(int64_t, -10000000000, -1);
- STATIC_SIGN_TEST(int64_t, -20000000000, -1);
+ STATIC_SIGN_TEST(int64_t, -10000000000LL, -1);
+ STATIC_SIGN_TEST(int64_t, -20000000000LL, -1);
         STATIC_SIGN_TEST(int64_t, -1, -1);
         STATIC_SIGN_TEST(int64_t, 1, 1);
- STATIC_SIGN_TEST(int64_t, 10000000000, 1);
- STATIC_SIGN_TEST(int64_t, 12312300000, 1);
+ STATIC_SIGN_TEST(int64_t, 10000000000LL, 1);
+ STATIC_SIGN_TEST(int64_t, 12312300000LL, 1);
         STATIC_SIGN_TEST(int64_t, 0, 0);
         
         // 64-bit tests
- for (int64_t i = -10000002000; i != -10000000000; ++i) {
+ for (int64_t i = -10000002000LL; i != -10000000000LL; ++i) {
                 SIGN_TEST(i, -1);
         }
         
- for (int64_t i = 11000000000; i != 11000002000; ++i) {
+ for (int64_t i = 11000000000LL; i != 11000002000LL; ++i) {
                 SIGN_TEST(i, 1);
         }
         


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk