Compare commits

...

5 Commits

Author SHA1 Message Date
Beman Dawes
4f16bdb364 Branch for development of boost.system related changes
[SVN r40931]
2007-11-08 14:20:16 +00:00
Beman Dawes
0d058f42cc Add missing copyright and license
[SVN r40835]
2007-11-06 13:41:19 +00:00
Daryle Walker
7d8e93a6ac Fixed comments listed in #766 that didn't match their described code
[SVN r39062]
2007-08-29 19:54:14 +00:00
Daryle Walker
a1cc143de7 Added license to a person profile; updated license on Boost.Integer and Boost.IO doc files; changed 'BOOST_TEST' to 'BOOST_CHECK' on Boost.Integer testing *.cpp files
[SVN r35844]
2006-11-04 22:58:43 +00:00
John Maddock
cd99f24a87 Changed test to reflect changes made to C99 in the TC.
[SVN r35333]
2006-09-26 09:04:05 +00:00
11 changed files with 88 additions and 64 deletions

View File

@@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0"> <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document"> <meta name="ProgId" content="FrontPage.Editor.Document">
<title>Header boost/cstdint.hpp</title> <title>Header boost/cstdint.hpp</title>
</head> </head>
@@ -69,9 +69,12 @@ representing any value of any signed integer type.</p>
capable of representing any value of any unsigned integer type.</p> capable of representing any value of any unsigned integer type.</p>
<p>These types are required.</p> <p>These types are required.</p>
<hr> <hr>
<p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan -->19 Aug 2001<!--webbot bot="Timestamp" endspan i-checksum="14767" --> <p>Revised <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan -->06 Nov 2007<!--webbot bot="Timestamp" endspan i-checksum="15272" -->
</p> </p>
<p>&nbsp;</p> <p><EFBFBD> Copyright Beman Dawes 2000</p>
<p>Distributed under the Boost Software License, Version 1.0. See
<a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a></p>
</body> </body>

View File

@@ -113,10 +113,24 @@ void integral_constant_type_check(T1, T2)
assert(sizeof(T1) == sizeof(T2)); assert(sizeof(T1) == sizeof(T2));
assert(t1 == t2); assert(t1 == t2);
#endif #endif
#if defined(BOOST_HAS_STDINT_H)
// native headers are permitted to promote small
// unsigned types to type int:
if(sizeof(T1) >= sizeof(int))
{
if(t1 > 0)
assert(t2 > 0);
else
assert(!(t2 > 0));
}
else if(t1 < 0)
assert(!(t2 > 0));
#else
if(t1 > 0) if(t1 > 0)
assert(t2 > 0); assert(t2 > 0);
else else
assert(!(t2 > 0)); assert(!(t2 > 0));
#endif
} }

View File

@@ -202,10 +202,9 @@ href="../../../people/daryle_walker.html">Daryle Walker</a>.</p>
<p>Revised September 23, 2001</p> <p>Revised September 23, 2001</p>
<p>&copy; Copyright Daryle Walker 2001. Permission to copy, use, <p>&copy; Copyright Daryle Walker 2001. Use, modification, and distribution are
modify, sell and distribute this document is granted provided this subject to the Boost Software License, Version 1.0. (See accompanying file <a
copyright notice appears in all copies. This document is provided href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or a copy at &lt;<a
&quot;as is&quot; without express or implied warranty, and with no claim href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>&gt;.)</p>
as to its suitability for any purpose.</p>
</body> </body>
</html> </html>

View File

@@ -112,10 +112,9 @@ href="../../../people/daryle_walker.html">Daryle Walker</a>.</p>
<p>Revised October 12, 2001</p> <p>Revised October 12, 2001</p>
<p>&copy; Copyright Daryle Walker 2001. Permission to copy, use, <p>&copy; Copyright Daryle Walker 2001. Use, modification, and distribution are
modify, sell and distribute this document is granted provided this subject to the Boost Software License, Version 1.0. (See accompanying file <a
copyright notice appears in all copies. This document is provided href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or a copy at &lt;<a
&quot;as is&quot; without express or implied warranty, and with no claim href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>&gt;.)</p>
as to its suitability for any purpose.</p>
</body> </body>
</html> </html>

View File

@@ -34,7 +34,7 @@ namespace boost
template< int Category > struct int_least_helper {}; // default is empty template< int Category > struct int_least_helper {}; // default is empty
// specializatons: 1=long, 2=int, 3=short, 4=signed char, // specializatons: 1=long, 2=int, 3=short, 4=signed char,
// 6=unsigned long, 7=unsigned int, 8=unsigned short, 9=unsigned long // 6=unsigned long, 7=unsigned int, 8=unsigned short, 9=unsigned char
// no specializations for 0 and 5: requests for a type > long are in error // no specializations for 0 and 5: requests for a type > long are in error
template<> struct int_least_helper<1> { typedef long least; }; template<> struct int_least_helper<1> { typedef long least; };
template<> struct int_least_helper<2> { typedef int least; }; template<> struct int_least_helper<2> { typedef int least; };

View File

@@ -121,8 +121,13 @@ instead.</p>
<hr> <hr>
<p>Revised: <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %b %Y" startspan -->03 Oct 2001<!--webbot bot="Timestamp" endspan i-checksum="14373" --> <p>Revised: <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %b %Y" startspan -->06 Nov 2007<!--webbot bot="Timestamp" endspan i-checksum="15272" -->
</p> </p>
<p><EFBFBD> Copyright Beman Dawes 2003</p>
<p>Distributed under the Boost Software License, Version 1.0. See
<a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a></p>
</body> </body>
</html> </html>

View File

@@ -204,10 +204,9 @@ value-based sized templates.</p>
<p>Revised May 20, 2001</p> <p>Revised May 20, 2001</p>
<p>&copy; Copyright Beman Dawes 1999. Permission to copy, use, modify, <p>&copy; Copyright Beman Dawes 1999. Use, modification, and distribution are
sell and distribute this document is granted provided this copyright subject to the Boost Software License, Version 1.0. (See accompanying file <a
notice appears in all copies. This document is provided &quot;as href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or a copy at &lt;<a
is&quot; without express or implied warranty, and with no claim as to href="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>&gt;.)</p>
its suitability for any purpose.</p>
</body> </body>
</html> </html>

View File

@@ -85,5 +85,10 @@ exercises the <code>integer_traits</code> class.
Beman Dawes, Ed Brey, Steve Cleary, and Nathan Myers discussed the integer Beman Dawes, Ed Brey, Steve Cleary, and Nathan Myers discussed the integer
traits idea on the boost mailing list in August 1999. traits idea on the boost mailing list in August 1999.
<hr> <hr>
<a href="../../people/jens_maurer.htm"> <p>Revised
Jens Maurer</a>, 2000-02-20 <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B %Y" startspan -->06 November 2007<!--webbot bot="Timestamp" endspan i-checksum="40336" --></p>
<p><EFBFBD> Copyright Beman Dawes 2000</p>
<p>Distributed under the Boost Software License, Version 1.0. See
<a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a></p>

View File

@@ -19,16 +19,16 @@
#include <iostream> // for std::cout (std::endl indirectly) #include <iostream> // for std::cout (std::endl indirectly)
#define PRIVATE_HIGH_BIT_SLOW_TEST(v) BOOST_TEST( ::boost::high_bit_mask_t< \ #define PRIVATE_HIGH_BIT_SLOW_TEST(v) BOOST_CHECK( ::boost::high_bit_mask_t< \
(v) >::high_bit == (1ul << (v)) ); (v) >::high_bit == (1ul << (v)) );
#define PRIVATE_HIGH_BIT_FAST_TEST(v) BOOST_TEST( ::boost::high_bit_mask_t< \ #define PRIVATE_HIGH_BIT_FAST_TEST(v) BOOST_CHECK( ::boost::high_bit_mask_t< \
(v) >::high_bit_fast == (1ul << (v)) ); (v) >::high_bit_fast == (1ul << (v)) );
#define PRIVATE_HIGH_BIT_TEST(v) do { PRIVATE_HIGH_BIT_SLOW_TEST(v); \ #define PRIVATE_HIGH_BIT_TEST(v) do { PRIVATE_HIGH_BIT_SLOW_TEST(v); \
PRIVATE_HIGH_BIT_FAST_TEST(v); } while (false) PRIVATE_HIGH_BIT_FAST_TEST(v); } while (false)
#define PRIVATE_LOW_BITS_SLOW_TEST(v) BOOST_TEST( ::boost::low_bits_mask_t< \ #define PRIVATE_LOW_BITS_SLOW_TEST(v) BOOST_CHECK( ::boost::low_bits_mask_t< \
(v) >::sig_bits == ((1ul << (v)) - 1) ); (v) >::sig_bits == ((1ul << (v)) - 1) );
#define PRIVATE_LOW_BITS_FAST_TEST(v) BOOST_TEST( ::boost::low_bits_mask_t< \ #define PRIVATE_LOW_BITS_FAST_TEST(v) BOOST_CHECK( ::boost::low_bits_mask_t< \
(v) >::sig_bits_fast == ((1ul << (v)) - 1) ); (v) >::sig_bits_fast == ((1ul << (v)) - 1) );
#define PRIVATE_LOW_BITS_TEST(v) do { PRIVATE_LOW_BITS_SLOW_TEST(v); \ #define PRIVATE_LOW_BITS_TEST(v) do { PRIVATE_LOW_BITS_SLOW_TEST(v); \
PRIVATE_LOW_BITS_FAST_TEST(v); } while (false) PRIVATE_LOW_BITS_FAST_TEST(v); } while (false)

View File

@@ -20,7 +20,7 @@
// Macros to compact code // Macros to compact code
#define PRIVATE_LB_TEST( v, e ) BOOST_TEST( ::boost::static_log2<v>::value == e ) #define PRIVATE_LB_TEST( v, e ) BOOST_CHECK( ::boost::static_log2<v>::value == e )
#define PRIVATE_PRINT_LB( v ) ::std::cout << "boost::static_log2<" << (v) \ #define PRIVATE_PRINT_LB( v ) ::std::cout << "boost::static_log2<" << (v) \
<< "> = " << ::boost::static_log2< (v) >::value << '.' << ::std::endl << "> = " << ::boost::static_log2< (v) >::value << '.' << ::std::endl

View File

@@ -11,7 +11,7 @@
// 23 Sep 2001 Initial version (Daryle Walker) // 23 Sep 2001 Initial version (Daryle Walker)
#define BOOST_INCLUDE_MAIN #define BOOST_INCLUDE_MAIN
#include <boost/test/test_tools.hpp> // for main, BOOST_TEST #include <boost/test/test_tools.hpp> // for main, BOOST_CHECK
#include <boost/cstdlib.hpp> // for boost::exit_success #include <boost/cstdlib.hpp> // for boost::exit_success
#include <boost/integer/static_min_max.hpp> // for boost::static_signed_min, etc. #include <boost/integer/static_min_max.hpp> // for boost::static_signed_min, etc.
@@ -37,57 +37,57 @@ test_main
// Two positives // Two positives
cout << "Doing tests with two positive values." << endl; cout << "Doing tests with two positive values." << endl;
BOOST_TEST( (static_signed_min< 9, 14>::value) == 9 ); BOOST_CHECK( (static_signed_min< 9, 14>::value) == 9 );
BOOST_TEST( (static_signed_max< 9, 14>::value) == 14 ); BOOST_CHECK( (static_signed_max< 9, 14>::value) == 14 );
BOOST_TEST( (static_signed_min<14, 9>::value) == 9 ); BOOST_CHECK( (static_signed_min<14, 9>::value) == 9 );
BOOST_TEST( (static_signed_max<14, 9>::value) == 14 ); BOOST_CHECK( (static_signed_max<14, 9>::value) == 14 );
BOOST_TEST( (static_unsigned_min< 9, 14>::value) == 9 ); BOOST_CHECK( (static_unsigned_min< 9, 14>::value) == 9 );
BOOST_TEST( (static_unsigned_max< 9, 14>::value) == 14 ); BOOST_CHECK( (static_unsigned_max< 9, 14>::value) == 14 );
BOOST_TEST( (static_unsigned_min<14, 9>::value) == 9 ); BOOST_CHECK( (static_unsigned_min<14, 9>::value) == 9 );
BOOST_TEST( (static_unsigned_max<14, 9>::value) == 14 ); BOOST_CHECK( (static_unsigned_max<14, 9>::value) == 14 );
// Two negatives // Two negatives
cout << "Doing tests with two negative values." << endl; cout << "Doing tests with two negative values." << endl;
BOOST_TEST( (static_signed_min< -8, -101>::value) == -101 ); BOOST_CHECK( (static_signed_min< -8, -101>::value) == -101 );
BOOST_TEST( (static_signed_max< -8, -101>::value) == -8 ); BOOST_CHECK( (static_signed_max< -8, -101>::value) == -8 );
BOOST_TEST( (static_signed_min<-101, -8>::value) == -101 ); BOOST_CHECK( (static_signed_min<-101, -8>::value) == -101 );
BOOST_TEST( (static_signed_max<-101, -8>::value) == -8 ); BOOST_CHECK( (static_signed_max<-101, -8>::value) == -8 );
// With zero // With zero
cout << "Doing tests with zero and a positive or negative value." << endl; cout << "Doing tests with zero and a positive or negative value." << endl;
BOOST_TEST( (static_signed_min< 0, 14>::value) == 0 ); BOOST_CHECK( (static_signed_min< 0, 14>::value) == 0 );
BOOST_TEST( (static_signed_max< 0, 14>::value) == 14 ); BOOST_CHECK( (static_signed_max< 0, 14>::value) == 14 );
BOOST_TEST( (static_signed_min<14, 0>::value) == 0 ); BOOST_CHECK( (static_signed_min<14, 0>::value) == 0 );
BOOST_TEST( (static_signed_max<14, 0>::value) == 14 ); BOOST_CHECK( (static_signed_max<14, 0>::value) == 14 );
BOOST_TEST( (static_unsigned_min< 0, 14>::value) == 0 ); BOOST_CHECK( (static_unsigned_min< 0, 14>::value) == 0 );
BOOST_TEST( (static_unsigned_max< 0, 14>::value) == 14 ); BOOST_CHECK( (static_unsigned_max< 0, 14>::value) == 14 );
BOOST_TEST( (static_unsigned_min<14, 0>::value) == 0 ); BOOST_CHECK( (static_unsigned_min<14, 0>::value) == 0 );
BOOST_TEST( (static_unsigned_max<14, 0>::value) == 14 ); BOOST_CHECK( (static_unsigned_max<14, 0>::value) == 14 );
BOOST_TEST( (static_signed_min< 0, -101>::value) == -101 ); BOOST_CHECK( (static_signed_min< 0, -101>::value) == -101 );
BOOST_TEST( (static_signed_max< 0, -101>::value) == 0 ); BOOST_CHECK( (static_signed_max< 0, -101>::value) == 0 );
BOOST_TEST( (static_signed_min<-101, 0>::value) == -101 ); BOOST_CHECK( (static_signed_min<-101, 0>::value) == -101 );
BOOST_TEST( (static_signed_max<-101, 0>::value) == 0 ); BOOST_CHECK( (static_signed_max<-101, 0>::value) == 0 );
// With identical // With identical
cout << "Doing tests with two identical values." << endl; cout << "Doing tests with two identical values." << endl;
BOOST_TEST( (static_signed_min<0, 0>::value) == 0 ); BOOST_CHECK( (static_signed_min<0, 0>::value) == 0 );
BOOST_TEST( (static_signed_max<0, 0>::value) == 0 ); BOOST_CHECK( (static_signed_max<0, 0>::value) == 0 );
BOOST_TEST( (static_unsigned_min<0, 0>::value) == 0 ); BOOST_CHECK( (static_unsigned_min<0, 0>::value) == 0 );
BOOST_TEST( (static_unsigned_max<0, 0>::value) == 0 ); BOOST_CHECK( (static_unsigned_max<0, 0>::value) == 0 );
BOOST_TEST( (static_signed_min<14, 14>::value) == 14 ); BOOST_CHECK( (static_signed_min<14, 14>::value) == 14 );
BOOST_TEST( (static_signed_max<14, 14>::value) == 14 ); BOOST_CHECK( (static_signed_max<14, 14>::value) == 14 );
BOOST_TEST( (static_unsigned_min<14, 14>::value) == 14 ); BOOST_CHECK( (static_unsigned_min<14, 14>::value) == 14 );
BOOST_TEST( (static_unsigned_max<14, 14>::value) == 14 ); BOOST_CHECK( (static_unsigned_max<14, 14>::value) == 14 );
BOOST_TEST( (static_signed_min< -101, -101>::value) == -101 ); BOOST_CHECK( (static_signed_min< -101, -101>::value) == -101 );
BOOST_TEST( (static_signed_max< -101, -101>::value) == -101 ); BOOST_CHECK( (static_signed_max< -101, -101>::value) == -101 );
return boost::exit_success; return boost::exit_success;
} }