diff --git a/test/common_factor_test.cpp b/test/common_factor_test.cpp index d1c53a3..e068efd 100644 --- a/test/common_factor_test.cpp +++ b/test/common_factor_test.cpp @@ -48,6 +48,7 @@ test_main #endif typedef CONTROL_INT_TYPE int_type; + typedef unsigned CONTROL_INT_TYPE uint_type; // GCD tests cout << "Doing tests on gcd." << endl; @@ -69,6 +70,18 @@ test_main BOOST_TEST( gcd( 8, 9) == 1 ); BOOST_TEST( gcd( 7, 49) == 7 ); + // GCD tests + cout << "Doing tests on unsigned-gcd." << endl; + + BOOST_TEST( gcd( 1u, 1u) == 1u ); + BOOST_TEST( gcd( 0u, 0u) == 0u ); + BOOST_TEST( gcd( 7u, 0u) == 7u ); + BOOST_TEST( gcd( 0u, 9u) == 9u ); + BOOST_TEST( gcd( 42u, 30u) == 6u ); + BOOST_TEST( gcd( 3u, 7u) == 1u ); + BOOST_TEST( gcd( 8u, 9u) == 1u ); + BOOST_TEST( gcd( 7u, 49u) == 7u ); + cout << "Doing tests on static_gcd." << endl; BOOST_TEST( (static_gcd< 1, 1>::value) == 1 ); @@ -100,6 +113,17 @@ test_main BOOST_TEST( lcm( 8, 9) == 72 ); BOOST_TEST( lcm( 7, 49) == 49 ); + cout << "Doing tests on unsigned-lcm." << endl; + + BOOST_TEST( lcm( 1u, 1u) == 1u ); + BOOST_TEST( lcm( 0u, 0u) == 0u ); + BOOST_TEST( lcm( 6u, 0u) == 0u ); + BOOST_TEST( lcm( 0u, 7u) == 0u ); + BOOST_TEST( lcm( 18u, 30u) == 90u ); + BOOST_TEST( lcm( 3u, 7u) == 21u ); + BOOST_TEST( lcm( 8u, 9u) == 72u ); + BOOST_TEST( lcm( 7u, 49u) == 49u ); + cout << "Doing tests on static_lcm." << endl; BOOST_TEST( (static_lcm< 1, 1>::value) == 1 );