summaryrefslogtreecommitdiffstats
path: root/libcxx/test/utilities/ratio/ratio.arithmetic
diff options
context:
space:
mode:
authorHoward Hinnant <hhinnant@apple.com>2010-05-11 19:42:16 +0000
committerHoward Hinnant <hhinnant@apple.com>2010-05-11 19:42:16 +0000
commit3e519524c118651123eecf60c2bbc5d65ad9bac3 (patch)
treeb2dd4168cfe448920a602cd7d2e40f95da187153 /libcxx/test/utilities/ratio/ratio.arithmetic
parent9132c59d43b6c590c9bb33496eebf9f192d6857a (diff)
downloadbcm5719-llvm-3e519524c118651123eecf60c2bbc5d65ad9bac3.tar.gz
bcm5719-llvm-3e519524c118651123eecf60c2bbc5d65ad9bac3.zip
libcxx initial import
llvm-svn: 103490
Diffstat (limited to 'libcxx/test/utilities/ratio/ratio.arithmetic')
-rw-r--r--libcxx/test/utilities/ratio/ratio.arithmetic/ratio_add.fail.cpp1
-rw-r--r--libcxx/test/utilities/ratio/ratio.arithmetic/ratio_add.pass.cpp1
-rw-r--r--libcxx/test/utilities/ratio/ratio.arithmetic/ratio_divide.fail.cpp1
-rw-r--r--libcxx/test/utilities/ratio/ratio.arithmetic/ratio_divide.pass.cpp1
-rw-r--r--libcxx/test/utilities/ratio/ratio.arithmetic/ratio_multiply.fail.cpp1
-rw-r--r--libcxx/test/utilities/ratio/ratio.arithmetic/ratio_multiply.pass.cpp1
-rw-r--r--libcxx/test/utilities/ratio/ratio.arithmetic/ratio_subtract.fail.cpp1
-rw-r--r--libcxx/test/utilities/ratio/ratio.arithmetic/ratio_subtract.pass.cpp1
8 files changed, 8 insertions, 0 deletions
diff --git a/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_add.fail.cpp b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_add.fail.cpp
new file mode 100644
index 00000000000..ca3af4bec2a
--- /dev/null
+++ b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_add.fail.cpp
@@ -0,0 +1 @@
+//===----------------------------------------------------------------------===// // // ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚThe LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // test ratio_add #include <ratio> int main() { typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1; typedef std::ratio<1, 1> R2; typedef std::ratio_add<R1, R2>::type R; } \ No newline at end of file
diff --git a/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_add.pass.cpp b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_add.pass.cpp
new file mode 100644
index 00000000000..596710f216e
--- /dev/null
+++ b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_add.pass.cpp
@@ -0,0 +1 @@
+//===----------------------------------------------------------------------===// // // ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚThe LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // test ratio_add #include <ratio> int main() { { typedef std::ratio<1, 1> R1; typedef std::ratio<1, 1> R2; typedef std::ratio_add<R1, R2>::type R; static_assert(R::num == 2 && R::den == 1, ""); } { typedef std::ratio<1, 2> R1; typedef std::ratio<1, 1> R2; typedef std::ratio_add<R1, R2>::type R; static_assert(R::num == 3 && R::den == 2, ""); } { typedef std::ratio<-1, 2> R1; typedef std::ratio<1, 1> R2; typedef std::ratio_add<R1, R2>::type R; static_assert(R::num == 1 && R::den == 2, ""); } { typedef std::ratio<1, -2> R1; typedef std::ratio<1, 1> R2; typedef std::ratio_add<R1, R2>::type R; static_assert(R::num == 1 && R::den == 2, ""); } { typedef std::ratio<1, 2> R1; typedef std::ratio<-1, 1> R2; typedef std::ratio_add<R1, R2>::type R; static_assert(R::num == -1 && R::den == 2, ""); } { typedef std::ratio<1, 2> R1; typedef std::ratio<1, -1> R2; typedef std::ratio_add<R1, R2>::type R; static_assert(R::num == -1 && R::den == 2, ""); } { typedef std::ratio<56987354, 467584654> R1; typedef std::ratio<544668, 22145> R2; typedef std::ratio_add<R1, R2>::type R; static_assert(R::num == 127970191639601LL && R::den == 5177331081415LL, ""); } } \ No newline at end of file
diff --git a/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_divide.fail.cpp b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_divide.fail.cpp
new file mode 100644
index 00000000000..00724156ab3
--- /dev/null
+++ b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_divide.fail.cpp
@@ -0,0 +1 @@
+//===----------------------------------------------------------------------===// // // ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚThe LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // test ratio_divide #include <ratio> int main() { typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1; typedef std::ratio<1, 2> R2; typedef std::ratio_divide<R1, R2>::type R; } \ No newline at end of file
diff --git a/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_divide.pass.cpp b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_divide.pass.cpp
new file mode 100644
index 00000000000..64fa46a4264
--- /dev/null
+++ b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_divide.pass.cpp
@@ -0,0 +1 @@
+//===----------------------------------------------------------------------===// // // ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚThe LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // test ratio_divide #include <ratio> int main() { { typedef std::ratio<1, 1> R1; typedef std::ratio<1, 1> R2; typedef std::ratio_divide<R1, R2>::type R; static_assert(R::num == 1 && R::den == 1, ""); } { typedef std::ratio<1, 2> R1; typedef std::ratio<1, 1> R2; typedef std::ratio_divide<R1, R2>::type R; static_assert(R::num == 1 && R::den == 2, ""); } { typedef std::ratio<-1, 2> R1; typedef std::ratio<1, 1> R2; typedef std::ratio_divide<R1, R2>::type R; static_assert(R::num == -1 && R::den == 2, ""); } { typedef std::ratio<1, -2> R1; typedef std::ratio<1, 1> R2; typedef std::ratio_divide<R1, R2>::type R; static_assert(R::num == -1 && R::den == 2, ""); } { typedef std::ratio<1, 2> R1; typedef std::ratio<-1, 1> R2; typedef std::ratio_divide<R1, R2>::type R; static_assert(R::num == -1 && R::den == 2, ""); } { typedef std::ratio<1, 2> R1; typedef std::ratio<1, -1> R2; typedef std::ratio_divide<R1, R2>::type R; static_assert(R::num == -1 && R::den == 2, ""); } { typedef std::ratio<56987354, 467584654> R1; typedef std::ratio<544668, 22145> R2; typedef std::ratio_divide<R1, R2>::type R; static_assert(R::num == 630992477165LL && R::den == 127339199162436LL, ""); } } \ No newline at end of file
diff --git a/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_multiply.fail.cpp b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_multiply.fail.cpp
new file mode 100644
index 00000000000..c01538f015b
--- /dev/null
+++ b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_multiply.fail.cpp
@@ -0,0 +1 @@
+//===----------------------------------------------------------------------===// // // ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚThe LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // test ratio_multiply #include <ratio> int main() { typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1; typedef std::ratio<2, 1> R2; typedef std::ratio_multiply<R1, R2>::type R; } \ No newline at end of file
diff --git a/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_multiply.pass.cpp b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_multiply.pass.cpp
new file mode 100644
index 00000000000..ae7d439f1f2
--- /dev/null
+++ b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_multiply.pass.cpp
@@ -0,0 +1 @@
+//===----------------------------------------------------------------------===// // // ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚThe LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // test ratio_multiply #include <ratio> int main() { { typedef std::ratio<1, 1> R1; typedef std::ratio<1, 1> R2; typedef std::ratio_multiply<R1, R2>::type R; static_assert(R::num == 1 && R::den == 1, ""); } { typedef std::ratio<1, 2> R1; typedef std::ratio<1, 1> R2; typedef std::ratio_multiply<R1, R2>::type R; static_assert(R::num == 1 && R::den == 2, ""); } { typedef std::ratio<-1, 2> R1; typedef std::ratio<1, 1> R2; typedef std::ratio_multiply<R1, R2>::type R; static_assert(R::num == -1 && R::den == 2, ""); } { typedef std::ratio<1, -2> R1; typedef std::ratio<1, 1> R2; typedef std::ratio_multiply<R1, R2>::type R; static_assert(R::num == -1 && R::den == 2, ""); } { typedef std::ratio<1, 2> R1; typedef std::ratio<-1, 1> R2; typedef std::ratio_multiply<R1, R2>::type R; static_assert(R::num == -1 && R::den == 2, ""); } { typedef std::ratio<1, 2> R1; typedef std::ratio<1, -1> R2; typedef std::ratio_multiply<R1, R2>::type R; static_assert(R::num == -1 && R::den == 2, ""); } { typedef std::ratio<56987354, 467584654> R1; typedef std::ratio<544668, 22145> R2; typedef std::ratio_multiply<R1, R2>::type R; static_assert(R::num == 15519594064236LL && R::den == 5177331081415LL, ""); } } \ No newline at end of file
diff --git a/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_subtract.fail.cpp b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_subtract.fail.cpp
new file mode 100644
index 00000000000..f5ce71b2daf
--- /dev/null
+++ b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_subtract.fail.cpp
@@ -0,0 +1 @@
+//===----------------------------------------------------------------------===// // // ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚThe LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // test ratio_subtract #include <ratio> int main() { typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1; typedef std::ratio<1, 1> R2; typedef std::ratio_subtract<R1, R2>::type R; } \ No newline at end of file
diff --git a/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_subtract.pass.cpp b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_subtract.pass.cpp
new file mode 100644
index 00000000000..25ea9f781f3
--- /dev/null
+++ b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_subtract.pass.cpp
@@ -0,0 +1 @@
+//===----------------------------------------------------------------------===// // // ΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚΚThe LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // test ratio_subtract #include <ratio> int main() { { typedef std::ratio<1, 1> R1; typedef std::ratio<1, 1> R2; typedef std::ratio_subtract<R1, R2>::type R; static_assert(R::num == 0 && R::den == 1, ""); } { typedef std::ratio<1, 2> R1; typedef std::ratio<1, 1> R2; typedef std::ratio_subtract<R1, R2>::type R; static_assert(R::num == -1 && R::den == 2, ""); } { typedef std::ratio<-1, 2> R1; typedef std::ratio<1, 1> R2; typedef std::ratio_subtract<R1, R2>::type R; static_assert(R::num == -3 && R::den == 2, ""); } { typedef std::ratio<1, -2> R1; typedef std::ratio<1, 1> R2; typedef std::ratio_subtract<R1, R2>::type R; static_assert(R::num == -3 && R::den == 2, ""); } { typedef std::ratio<1, 2> R1; typedef std::ratio<-1, 1> R2; typedef std::ratio_subtract<R1, R2>::type R; static_assert(R::num == 3 && R::den == 2, ""); } { typedef std::ratio<1, 2> R1; typedef std::ratio<1, -1> R2; typedef std::ratio_subtract<R1, R2>::type R; static_assert(R::num == 3 && R::den == 2, ""); } { typedef std::ratio<56987354, 467584654> R1; typedef std::ratio<544668, 22145> R2; typedef std::ratio_subtract<R1, R2>::type R; static_assert(R::num == -126708206685271LL && R::den == 5177331081415LL, ""); } } \ No newline at end of file
OpenPOWER on IntegriCloud