summaryrefslogtreecommitdiff
path: root/test/std/utilities/function.objects/arithmetic.operations
diff options
context:
space:
mode:
Diffstat (limited to 'test/std/utilities/function.objects/arithmetic.operations')
-rw-r--r--test/std/utilities/function.objects/arithmetic.operations/divides.pass.cpp8
-rw-r--r--test/std/utilities/function.objects/arithmetic.operations/minus.pass.cpp8
-rw-r--r--test/std/utilities/function.objects/arithmetic.operations/modulus.pass.cpp4
-rw-r--r--test/std/utilities/function.objects/arithmetic.operations/multiplies.pass.cpp8
-rw-r--r--test/std/utilities/function.objects/arithmetic.operations/negate.pass.cpp8
-rw-r--r--test/std/utilities/function.objects/arithmetic.operations/plus.pass.cpp8
6 files changed, 28 insertions, 16 deletions
diff --git a/test/std/utilities/function.objects/arithmetic.operations/divides.pass.cpp b/test/std/utilities/function.objects/arithmetic.operations/divides.pass.cpp
index 490dc16b60e21..7419b70e0b8f6 100644
--- a/test/std/utilities/function.objects/arithmetic.operations/divides.pass.cpp
+++ b/test/std/utilities/function.objects/arithmetic.operations/divides.pass.cpp
@@ -15,6 +15,8 @@
#include <type_traits>
#include <cassert>
+#include "test_macros.h"
+
int main()
{
typedef std::divides<int> F;
@@ -23,7 +25,7 @@ int main()
static_assert((std::is_same<int, F::second_argument_type>::value), "" );
static_assert((std::is_same<int, F::result_type>::value), "" );
assert(f(36, 4) == 9);
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
typedef std::divides<> F2;
const F2 f2 = F2();
assert(f2(36, 4) == 9);
@@ -33,7 +35,7 @@ int main()
constexpr int foo = std::divides<int> () (3, 2);
static_assert ( foo == 1, "" );
- constexpr int bar = std::divides<> () (3.0, 2);
- static_assert ( bar == 1, "" );
+ constexpr double bar = std::divides<> () (3.0, 2);
+ static_assert ( bar == 1.5, "" ); // exact in binary
#endif
}
diff --git a/test/std/utilities/function.objects/arithmetic.operations/minus.pass.cpp b/test/std/utilities/function.objects/arithmetic.operations/minus.pass.cpp
index 9bda541f896a8..25df69d60e964 100644
--- a/test/std/utilities/function.objects/arithmetic.operations/minus.pass.cpp
+++ b/test/std/utilities/function.objects/arithmetic.operations/minus.pass.cpp
@@ -15,6 +15,8 @@
#include <type_traits>
#include <cassert>
+#include "test_macros.h"
+
int main()
{
typedef std::minus<int> F;
@@ -23,7 +25,7 @@ int main()
static_assert((std::is_same<int, F::second_argument_type>::value), "" );
static_assert((std::is_same<int, F::result_type>::value), "" );
assert(f(3, 2) == 1);
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
typedef std::minus<> F2;
const F2 f2 = F2();
assert(f2(3,2) == 1);
@@ -33,7 +35,7 @@ int main()
constexpr int foo = std::minus<int> () (3, 2);
static_assert ( foo == 1, "" );
- constexpr int bar = std::minus<> () (3.0, 2);
- static_assert ( bar == 1, "" );
+ constexpr double bar = std::minus<> () (3.0, 2);
+ static_assert ( bar == 1.0, "" );
#endif
}
diff --git a/test/std/utilities/function.objects/arithmetic.operations/modulus.pass.cpp b/test/std/utilities/function.objects/arithmetic.operations/modulus.pass.cpp
index ca5bba6d5b8ea..6f39792e925ff 100644
--- a/test/std/utilities/function.objects/arithmetic.operations/modulus.pass.cpp
+++ b/test/std/utilities/function.objects/arithmetic.operations/modulus.pass.cpp
@@ -15,6 +15,8 @@
#include <type_traits>
#include <cassert>
+#include "test_macros.h"
+
int main()
{
typedef std::modulus<int> F;
@@ -23,7 +25,7 @@ int main()
static_assert((std::is_same<int, F::second_argument_type>::value), "" );
static_assert((std::is_same<int, F::result_type>::value), "" );
assert(f(36, 8) == 4);
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
typedef std::modulus<> F2;
const F2 f2 = F2();
assert(f2(36, 8) == 4);
diff --git a/test/std/utilities/function.objects/arithmetic.operations/multiplies.pass.cpp b/test/std/utilities/function.objects/arithmetic.operations/multiplies.pass.cpp
index f132c8d4bd9b2..2b354826960eb 100644
--- a/test/std/utilities/function.objects/arithmetic.operations/multiplies.pass.cpp
+++ b/test/std/utilities/function.objects/arithmetic.operations/multiplies.pass.cpp
@@ -15,6 +15,8 @@
#include <type_traits>
#include <cassert>
+#include "test_macros.h"
+
int main()
{
typedef std::multiplies<int> F;
@@ -23,7 +25,7 @@ int main()
static_assert((std::is_same<int, F::second_argument_type>::value), "" );
static_assert((std::is_same<int, F::result_type>::value), "" );
assert(f(3, 2) == 6);
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
typedef std::multiplies<> F2;
const F2 f2 = F2();
assert(f2(3,2) == 6);
@@ -33,7 +35,7 @@ int main()
constexpr int foo = std::multiplies<int> () (3, 2);
static_assert ( foo == 6, "" );
- constexpr int bar = std::multiplies<> () (3.0, 2);
- static_assert ( bar == 6, "" );
+ constexpr double bar = std::multiplies<> () (3.0, 2);
+ static_assert ( bar == 6.0, "" );
#endif
}
diff --git a/test/std/utilities/function.objects/arithmetic.operations/negate.pass.cpp b/test/std/utilities/function.objects/arithmetic.operations/negate.pass.cpp
index 0adac659123b4..198894023cd79 100644
--- a/test/std/utilities/function.objects/arithmetic.operations/negate.pass.cpp
+++ b/test/std/utilities/function.objects/arithmetic.operations/negate.pass.cpp
@@ -15,6 +15,8 @@
#include <type_traits>
#include <cassert>
+#include "test_macros.h"
+
int main()
{
typedef std::negate<int> F;
@@ -22,7 +24,7 @@ int main()
static_assert((std::is_same<F::argument_type, int>::value), "" );
static_assert((std::is_same<F::result_type, int>::value), "" );
assert(f(36) == -36);
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
typedef std::negate<> F2;
const F2 f2 = F2();
assert(f2(36) == -36);
@@ -32,7 +34,7 @@ int main()
constexpr int foo = std::negate<int> () (3);
static_assert ( foo == -3, "" );
- constexpr int bar = std::negate<> () (3.0);
- static_assert ( bar == -3, "" );
+ constexpr double bar = std::negate<> () (3.0);
+ static_assert ( bar == -3.0, "" );
#endif
}
diff --git a/test/std/utilities/function.objects/arithmetic.operations/plus.pass.cpp b/test/std/utilities/function.objects/arithmetic.operations/plus.pass.cpp
index ce544c78b6768..b56d3ef2b346a 100644
--- a/test/std/utilities/function.objects/arithmetic.operations/plus.pass.cpp
+++ b/test/std/utilities/function.objects/arithmetic.operations/plus.pass.cpp
@@ -15,6 +15,8 @@
#include <type_traits>
#include <cassert>
+#include "test_macros.h"
+
int main()
{
typedef std::plus<int> F;
@@ -23,7 +25,7 @@ int main()
static_assert((std::is_same<int, F::second_argument_type>::value), "" );
static_assert((std::is_same<int, F::result_type>::value), "" );
assert(f(3, 2) == 5);
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
typedef std::plus<> F2;
const F2 f2 = F2();
assert(f2(3,2) == 5);
@@ -33,7 +35,7 @@ int main()
constexpr int foo = std::plus<int> () (3, 2);
static_assert ( foo == 5, "" );
- constexpr int bar = std::plus<> () (3.0, 2);
- static_assert ( bar == 5, "" );
+ constexpr double bar = std::plus<> () (3.0, 2);
+ static_assert ( bar == 5.0, "" );
#endif
}