mirror of
https://github.com/boostorg/variant2.git
synced 2025-07-29 11:47:36 +02:00
Cast 3.14f to float because FLT_EVAL_METHOD (see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108742) for discussion
This commit is contained in:
@ -58,7 +58,7 @@ int main()
|
||||
{
|
||||
constexpr variant<int, float> v( 3.14f );
|
||||
|
||||
STATIC_ASSERT( get<1>(v) == 3.14f );
|
||||
STATIC_ASSERT( get<1>(v) == (float)3.14f ); // see FLT_EVAL_METHOD
|
||||
|
||||
STATIC_ASSERT_IF( get_if<0>(&v) == nullptr );
|
||||
STATIC_ASSERT_IF( get_if<1>(&v) == &get<1>(v) );
|
||||
@ -87,7 +87,7 @@ int main()
|
||||
{
|
||||
constexpr variant<int, int, float> v( 3.14f );
|
||||
|
||||
STATIC_ASSERT( get<2>(v) == 3.14f );
|
||||
STATIC_ASSERT( get<2>(v) == (float)3.14f );
|
||||
|
||||
STATIC_ASSERT_IF( get_if<0>(&v) == nullptr );
|
||||
STATIC_ASSERT_IF( get_if<1>(&v) == nullptr );
|
||||
|
@ -58,7 +58,7 @@ int main()
|
||||
{
|
||||
constexpr variant<int, float> v( 3.14f );
|
||||
|
||||
STATIC_ASSERT( get<float>(v) == 3.14f );
|
||||
STATIC_ASSERT( get<float>(v) == (float)3.14f ); // see FLT_EVAL_METHOD
|
||||
|
||||
STATIC_ASSERT_IF( get_if<int>(&v) == nullptr );
|
||||
STATIC_ASSERT_IF( get_if<float>(&v) == &get<float>(v) );
|
||||
@ -83,7 +83,7 @@ int main()
|
||||
{
|
||||
constexpr variant<int, int, float> v( 3.14f );
|
||||
|
||||
STATIC_ASSERT( get<float>(v) == 3.14f );
|
||||
STATIC_ASSERT( get<float>(v) == (float)3.14f );
|
||||
|
||||
STATIC_ASSERT_IF( get_if<float>(&v) == &get<float>(v) );
|
||||
}
|
||||
|
@ -68,7 +68,7 @@ int main()
|
||||
constexpr variant<int, float> v( in_place_index_t<1>{}, 3.14f );
|
||||
|
||||
STATIC_ASSERT( v.index() == 1 );
|
||||
STATIC_ASSERT( get<1>(v) == 3.14f );
|
||||
STATIC_ASSERT( get<1>(v) == (float)3.14f ); // see FLT_EVAL_METHOD
|
||||
}
|
||||
|
||||
{
|
||||
@ -89,14 +89,14 @@ int main()
|
||||
constexpr variant<int, int, float, float, X, X> v( in_place_index_t<2>{}, 3.14f );
|
||||
|
||||
STATIC_ASSERT( v.index() == 2 );
|
||||
STATIC_ASSERT( get<2>(v) == 3.14f );
|
||||
STATIC_ASSERT( get<2>(v) == (float)3.14f );
|
||||
}
|
||||
|
||||
{
|
||||
constexpr variant<int, int, float, float, X, X> v( in_place_index_t<3>{}, 3.14f );
|
||||
|
||||
STATIC_ASSERT( v.index() == 3 );
|
||||
STATIC_ASSERT( get<3>(v) == 3.14f );
|
||||
STATIC_ASSERT( get<3>(v) == (float)3.14f );
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -80,7 +80,7 @@ int main()
|
||||
constexpr variant<int, float> v( in_place_type_t<float>{}, 3.14f );
|
||||
|
||||
STATIC_ASSERT( v.index() == 1 );
|
||||
STATIC_ASSERT( get<1>(v) == 3.14f );
|
||||
STATIC_ASSERT( get<1>(v) == (float)3.14f ); // see FLT_EVAL_METHOD
|
||||
|
||||
STATIC_ASSERT( holds_alternative<float>(v) );
|
||||
}
|
||||
@ -89,7 +89,7 @@ int main()
|
||||
constexpr variant<int, int, float, X> v( in_place_type_t<float>{}, 3.14f );
|
||||
|
||||
STATIC_ASSERT( v.index() == 2 );
|
||||
STATIC_ASSERT( get<2>(v) == 3.14f );
|
||||
STATIC_ASSERT( get<2>(v) == (float)3.14f );
|
||||
|
||||
STATIC_ASSERT( holds_alternative<float>(v) );
|
||||
}
|
||||
|
@ -82,7 +82,7 @@ int main()
|
||||
|
||||
STATIC_ASSERT( v.index() == 1 );
|
||||
STATIC_ASSERT( holds_alternative<float>(v) );
|
||||
STATIC_ASSERT( get<1>(v) == 3.14f );
|
||||
STATIC_ASSERT( get<1>(v) == (float)3.14f ); // see FLT_EVAL_METHOD
|
||||
}
|
||||
|
||||
{
|
||||
@ -97,7 +97,7 @@ int main()
|
||||
|
||||
STATIC_ASSERT( v.index() == 2 );
|
||||
STATIC_ASSERT( holds_alternative<float>(v) );
|
||||
STATIC_ASSERT( get<2>(v) == 3.14f );
|
||||
STATIC_ASSERT( get<2>(v) == (float)3.14f );
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -72,7 +72,7 @@ int main()
|
||||
variant<int, float> const v2( 3.14f );
|
||||
|
||||
BOOST_TEST_EQ( visit<int>( F2(), v1, v2 ), 4 );
|
||||
BOOST_TEST_EQ( visit<float>( F2(), v1, v2 ), 1 + 3.14f );
|
||||
BOOST_TEST_EQ( visit<float>( F2(), v1, v2 ), static_cast<float>( 1 + 3.14f ) ); // see FLT_EVAL_METHOD
|
||||
}
|
||||
|
||||
{
|
||||
|
Reference in New Issue
Block a user