diff options
| author | Howard Hinnant <hhinnant@apple.com> | 2010-08-22 00:59:46 +0000 |
|---|---|---|
| committer | Howard Hinnant <hhinnant@apple.com> | 2010-08-22 00:59:46 +0000 |
| commit | 94b2dd0998230c758abd92c99d3700c971f7a31a (patch) | |
| tree | 1b9f66ba0b4f8fd99fc02a112d4b7a30c4afe0f6 /libcxx/test/utilities/ratio | |
| parent | d9c6c0b583ac1f1efeec3db571a1028a3c9b7a99 (diff) | |
| download | bcm5719-llvm-94b2dd0998230c758abd92c99d3700c971f7a31a.tar.gz bcm5719-llvm-94b2dd0998230c758abd92c99d3700c971f7a31a.zip | |
Fixing whitespace problems
llvm-svn: 111767
Diffstat (limited to 'libcxx/test/utilities/ratio')
21 files changed, 838 insertions, 21 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 index 4b88d7ca1af..17d7a900d66 100644 --- a/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_add.fail.cpp +++ b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_add.fail.cpp @@ -1 +1,19 @@ -//===----------------------------------------------------------------------===//
//
// 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 +//===----------------------------------------------------------------------===// +// +// 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; +} diff --git a/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_add.pass.cpp b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_add.pass.cpp index 8ab8ad98527..e69f11f43cd 100644 --- a/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_add.pass.cpp +++ b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_add.pass.cpp @@ -1 +1,58 @@ -//===----------------------------------------------------------------------===//
//
// 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 +//===----------------------------------------------------------------------===// +// +// 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, ""); + } +} diff --git a/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_divide.fail.cpp b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_divide.fail.cpp index 6058f7cdb9e..69acec1f889 100644 --- a/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_divide.fail.cpp +++ b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_divide.fail.cpp @@ -1 +1,19 @@ -//===----------------------------------------------------------------------===//
//
// 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 +//===----------------------------------------------------------------------===// +// +// 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; +} diff --git a/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_divide.pass.cpp b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_divide.pass.cpp index 79623e67498..2e7b312570e 100644 --- a/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_divide.pass.cpp +++ b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_divide.pass.cpp @@ -1 +1,58 @@ -//===----------------------------------------------------------------------===//
//
// 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 +//===----------------------------------------------------------------------===// +// +// 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, ""); + } +} diff --git a/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_multiply.fail.cpp b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_multiply.fail.cpp index 04e7683d18d..98031002ca4 100644 --- a/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_multiply.fail.cpp +++ b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_multiply.fail.cpp @@ -1 +1,19 @@ -//===----------------------------------------------------------------------===//
//
// 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 +//===----------------------------------------------------------------------===// +// +// 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; +} diff --git a/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_multiply.pass.cpp b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_multiply.pass.cpp index b4b3f6a725e..24d980a117e 100644 --- a/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_multiply.pass.cpp +++ b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_multiply.pass.cpp @@ -1 +1,58 @@ -//===----------------------------------------------------------------------===//
//
// 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 +//===----------------------------------------------------------------------===// +// +// 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, ""); + } +} diff --git a/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_subtract.fail.cpp b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_subtract.fail.cpp index 7d03fb7a694..8b5ea5d2d32 100644 --- a/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_subtract.fail.cpp +++ b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_subtract.fail.cpp @@ -1 +1,19 @@ -//===----------------------------------------------------------------------===//
//
// 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 +//===----------------------------------------------------------------------===// +// +// 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; +} diff --git a/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_subtract.pass.cpp b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_subtract.pass.cpp index 3068ecaf997..11e53d1f84f 100644 --- a/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_subtract.pass.cpp +++ b/libcxx/test/utilities/ratio/ratio.arithmetic/ratio_subtract.pass.cpp @@ -1 +1,58 @@ -//===----------------------------------------------------------------------===//
//
// 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 +//===----------------------------------------------------------------------===// +// +// 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, ""); + } +} diff --git a/libcxx/test/utilities/ratio/ratio.comparison/ratio_equal.pass.cpp b/libcxx/test/utilities/ratio/ratio.comparison/ratio_equal.pass.cpp index 7f77c02b4cf..8a78294bc2a 100644 --- a/libcxx/test/utilities/ratio/ratio.comparison/ratio_equal.pass.cpp +++ b/libcxx/test/utilities/ratio/ratio.comparison/ratio_equal.pass.cpp @@ -1 +1,56 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// test ratio_equal
#include <ratio>
int main()
{
{
typedef std::ratio<1, 1> R1;
typedef std::ratio<1, 1> R2;
static_assert((std::ratio_equal<R1, R2>::value), "");
}
{
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1;
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R2;
static_assert((std::ratio_equal<R1, R2>::value), "");
}
{
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1;
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R2;
static_assert((std::ratio_equal<R1, R2>::value), "");
}
{
typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R1;
typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R2;
static_assert((std::ratio_equal<R1, R2>::value), "");
}
{
typedef std::ratio<1, 1> R1;
typedef std::ratio<1, -1> R2;
static_assert((!std::ratio_equal<R1, R2>::value), "");
}
{
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1;
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R2;
static_assert((!std::ratio_equal<R1, R2>::value), "");
}
{
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1;
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R2;
static_assert((!std::ratio_equal<R1, R2>::value), "");
}
{
typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R1;
typedef std::ratio<1, -0x7FFFFFFFFFFFFFFFLL> R2;
static_assert((!std::ratio_equal<R1, R2>::value), "");
}
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// test ratio_equal + +#include <ratio> + +int main() +{ + { + typedef std::ratio<1, 1> R1; + typedef std::ratio<1, 1> R2; + static_assert((std::ratio_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1; + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R2; + static_assert((std::ratio_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1; + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R2; + static_assert((std::ratio_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R1; + typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R2; + static_assert((std::ratio_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<1, 1> R1; + typedef std::ratio<1, -1> R2; + static_assert((!std::ratio_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1; + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R2; + static_assert((!std::ratio_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1; + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R2; + static_assert((!std::ratio_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R1; + typedef std::ratio<1, -0x7FFFFFFFFFFFFFFFLL> R2; + static_assert((!std::ratio_equal<R1, R2>::value), ""); + } +} diff --git a/libcxx/test/utilities/ratio/ratio.comparison/ratio_greater.pass.cpp b/libcxx/test/utilities/ratio/ratio.comparison/ratio_greater.pass.cpp index 5f75f19dc5d..662f38444b2 100644 --- a/libcxx/test/utilities/ratio/ratio.comparison/ratio_greater.pass.cpp +++ b/libcxx/test/utilities/ratio/ratio.comparison/ratio_greater.pass.cpp @@ -1 +1,56 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// test ratio_greater
#include <ratio>
int main()
{
{
typedef std::ratio<1, 1> R1;
typedef std::ratio<1, 1> R2;
static_assert((!std::ratio_greater<R1, R2>::value), "");
}
{
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1;
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R2;
static_assert((!std::ratio_greater<R1, R2>::value), "");
}
{
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1;
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R2;
static_assert((!std::ratio_greater<R1, R2>::value), "");
}
{
typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R1;
typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R2;
static_assert((!std::ratio_greater<R1, R2>::value), "");
}
{
typedef std::ratio<1, 1> R1;
typedef std::ratio<1, -1> R2;
static_assert((std::ratio_greater<R1, R2>::value), "");
}
{
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1;
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R2;
static_assert((std::ratio_greater<R1, R2>::value), "");
}
{
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1;
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R2;
static_assert((!std::ratio_greater<R1, R2>::value), "");
}
{
typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R1;
typedef std::ratio<1, -0x7FFFFFFFFFFFFFFFLL> R2;
static_assert((std::ratio_greater<R1, R2>::value), "");
}
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// test ratio_greater + +#include <ratio> + +int main() +{ + { + typedef std::ratio<1, 1> R1; + typedef std::ratio<1, 1> R2; + static_assert((!std::ratio_greater<R1, R2>::value), ""); + } + { + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1; + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R2; + static_assert((!std::ratio_greater<R1, R2>::value), ""); + } + { + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1; + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R2; + static_assert((!std::ratio_greater<R1, R2>::value), ""); + } + { + typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R1; + typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R2; + static_assert((!std::ratio_greater<R1, R2>::value), ""); + } + { + typedef std::ratio<1, 1> R1; + typedef std::ratio<1, -1> R2; + static_assert((std::ratio_greater<R1, R2>::value), ""); + } + { + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1; + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R2; + static_assert((std::ratio_greater<R1, R2>::value), ""); + } + { + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1; + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R2; + static_assert((!std::ratio_greater<R1, R2>::value), ""); + } + { + typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R1; + typedef std::ratio<1, -0x7FFFFFFFFFFFFFFFLL> R2; + static_assert((std::ratio_greater<R1, R2>::value), ""); + } +} diff --git a/libcxx/test/utilities/ratio/ratio.comparison/ratio_greater_equal.pass.cpp b/libcxx/test/utilities/ratio/ratio.comparison/ratio_greater_equal.pass.cpp index 05533cfa7ac..1720294bb71 100644 --- a/libcxx/test/utilities/ratio/ratio.comparison/ratio_greater_equal.pass.cpp +++ b/libcxx/test/utilities/ratio/ratio.comparison/ratio_greater_equal.pass.cpp @@ -1 +1,56 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// test ratio_greater_equal
#include <ratio>
int main()
{
{
typedef std::ratio<1, 1> R1;
typedef std::ratio<1, 1> R2;
static_assert((std::ratio_greater_equal<R1, R2>::value), "");
}
{
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1;
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R2;
static_assert((std::ratio_greater_equal<R1, R2>::value), "");
}
{
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1;
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R2;
static_assert((std::ratio_greater_equal<R1, R2>::value), "");
}
{
typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R1;
typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R2;
static_assert((std::ratio_greater_equal<R1, R2>::value), "");
}
{
typedef std::ratio<1, 1> R1;
typedef std::ratio<1, -1> R2;
static_assert((std::ratio_greater_equal<R1, R2>::value), "");
}
{
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1;
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R2;
static_assert((std::ratio_greater_equal<R1, R2>::value), "");
}
{
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1;
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R2;
static_assert((!std::ratio_greater_equal<R1, R2>::value), "");
}
{
typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R1;
typedef std::ratio<1, -0x7FFFFFFFFFFFFFFFLL> R2;
static_assert((std::ratio_greater_equal<R1, R2>::value), "");
}
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// test ratio_greater_equal + +#include <ratio> + +int main() +{ + { + typedef std::ratio<1, 1> R1; + typedef std::ratio<1, 1> R2; + static_assert((std::ratio_greater_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1; + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R2; + static_assert((std::ratio_greater_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1; + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R2; + static_assert((std::ratio_greater_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R1; + typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R2; + static_assert((std::ratio_greater_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<1, 1> R1; + typedef std::ratio<1, -1> R2; + static_assert((std::ratio_greater_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1; + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R2; + static_assert((std::ratio_greater_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1; + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R2; + static_assert((!std::ratio_greater_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R1; + typedef std::ratio<1, -0x7FFFFFFFFFFFFFFFLL> R2; + static_assert((std::ratio_greater_equal<R1, R2>::value), ""); + } +} diff --git a/libcxx/test/utilities/ratio/ratio.comparison/ratio_less.pass.cpp b/libcxx/test/utilities/ratio/ratio.comparison/ratio_less.pass.cpp index 0b264d840df..2cc8b960ea3 100644 --- a/libcxx/test/utilities/ratio/ratio.comparison/ratio_less.pass.cpp +++ b/libcxx/test/utilities/ratio/ratio.comparison/ratio_less.pass.cpp @@ -1 +1,86 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// test ratio_less
#include <ratio>
int main()
{
{
typedef std::ratio<1, 1> R1;
typedef std::ratio<1, 1> R2;
static_assert((!std::ratio_less<R1, R2>::value), "");
}
{
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1;
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R2;
static_assert((!std::ratio_less<R1, R2>::value), "");
}
{
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1;
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R2;
static_assert((!std::ratio_less<R1, R2>::value), "");
}
{
typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R1;
typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R2;
static_assert((!std::ratio_less<R1, R2>::value), "");
}
{
typedef std::ratio<1, 1> R1;
typedef std::ratio<1, -1> R2;
static_assert((!std::ratio_less<R1, R2>::value), "");
}
{
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1;
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R2;
static_assert((!std::ratio_less<R1, R2>::value), "");
}
{
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1;
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R2;
static_assert((std::ratio_less<R1, R2>::value), "");
}
{
typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R1;
typedef std::ratio<1, -0x7FFFFFFFFFFFFFFFLL> R2;
static_assert((!std::ratio_less<R1, R2>::value), "");
}
{
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 0x7FFFFFFFFFFFFFFELL> R1;
typedef std::ratio<0x7FFFFFFFFFFFFFFDLL, 0x7FFFFFFFFFFFFFFCLL> R2;
static_assert((std::ratio_less<R1, R2>::value), "");
}
{
typedef std::ratio<0x7FFFFFFFFFFFFFFDLL, 0x7FFFFFFFFFFFFFFCLL> R1;
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 0x7FFFFFFFFFFFFFFELL> R2;
static_assert((!std::ratio_less<R1, R2>::value), "");
}
{
typedef std::ratio<-0x7FFFFFFFFFFFFFFDLL, 0x7FFFFFFFFFFFFFFCLL> R1;
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 0x7FFFFFFFFFFFFFFELL> R2;
static_assert((std::ratio_less<R1, R2>::value), "");
}
{
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 0x7FFFFFFFFFFFFFFELL> R1;
typedef std::ratio<0x7FFFFFFFFFFFFFFELL, 0x7FFFFFFFFFFFFFFDLL> R2;
static_assert((std::ratio_less<R1, R2>::value), "");
}
{
typedef std::ratio<641981, 1339063> R1;
typedef std::ratio<1291640, 2694141LL> R2;
static_assert((!std::ratio_less<R1, R2>::value), "");
}
{
typedef std::ratio<1291640, 2694141LL> R1;
typedef std::ratio<641981, 1339063> R2;
static_assert((std::ratio_less<R1, R2>::value), "");
}
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// test ratio_less + +#include <ratio> + +int main() +{ + { + typedef std::ratio<1, 1> R1; + typedef std::ratio<1, 1> R2; + static_assert((!std::ratio_less<R1, R2>::value), ""); + } + { + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1; + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R2; + static_assert((!std::ratio_less<R1, R2>::value), ""); + } + { + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1; + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R2; + static_assert((!std::ratio_less<R1, R2>::value), ""); + } + { + typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R1; + typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R2; + static_assert((!std::ratio_less<R1, R2>::value), ""); + } + { + typedef std::ratio<1, 1> R1; + typedef std::ratio<1, -1> R2; + static_assert((!std::ratio_less<R1, R2>::value), ""); + } + { + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1; + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R2; + static_assert((!std::ratio_less<R1, R2>::value), ""); + } + { + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1; + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R2; + static_assert((std::ratio_less<R1, R2>::value), ""); + } + { + typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R1; + typedef std::ratio<1, -0x7FFFFFFFFFFFFFFFLL> R2; + static_assert((!std::ratio_less<R1, R2>::value), ""); + } + { + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 0x7FFFFFFFFFFFFFFELL> R1; + typedef std::ratio<0x7FFFFFFFFFFFFFFDLL, 0x7FFFFFFFFFFFFFFCLL> R2; + static_assert((std::ratio_less<R1, R2>::value), ""); + } + { + typedef std::ratio<0x7FFFFFFFFFFFFFFDLL, 0x7FFFFFFFFFFFFFFCLL> R1; + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 0x7FFFFFFFFFFFFFFELL> R2; + static_assert((!std::ratio_less<R1, R2>::value), ""); + } + { + typedef std::ratio<-0x7FFFFFFFFFFFFFFDLL, 0x7FFFFFFFFFFFFFFCLL> R1; + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 0x7FFFFFFFFFFFFFFELL> R2; + static_assert((std::ratio_less<R1, R2>::value), ""); + } + { + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 0x7FFFFFFFFFFFFFFELL> R1; + typedef std::ratio<0x7FFFFFFFFFFFFFFELL, 0x7FFFFFFFFFFFFFFDLL> R2; + static_assert((std::ratio_less<R1, R2>::value), ""); + } + { + typedef std::ratio<641981, 1339063> R1; + typedef std::ratio<1291640, 2694141LL> R2; + static_assert((!std::ratio_less<R1, R2>::value), ""); + } + { + typedef std::ratio<1291640, 2694141LL> R1; + typedef std::ratio<641981, 1339063> R2; + static_assert((std::ratio_less<R1, R2>::value), ""); + } +} diff --git a/libcxx/test/utilities/ratio/ratio.comparison/ratio_less_equal.pass.cpp b/libcxx/test/utilities/ratio/ratio.comparison/ratio_less_equal.pass.cpp index 3db02068ab3..d84a4065667 100644 --- a/libcxx/test/utilities/ratio/ratio.comparison/ratio_less_equal.pass.cpp +++ b/libcxx/test/utilities/ratio/ratio.comparison/ratio_less_equal.pass.cpp @@ -1 +1,56 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// test ratio_less_equal
#include <ratio>
int main()
{
{
typedef std::ratio<1, 1> R1;
typedef std::ratio<1, 1> R2;
static_assert((std::ratio_less_equal<R1, R2>::value), "");
}
{
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1;
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R2;
static_assert((std::ratio_less_equal<R1, R2>::value), "");
}
{
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1;
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R2;
static_assert((std::ratio_less_equal<R1, R2>::value), "");
}
{
typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R1;
typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R2;
static_assert((std::ratio_less_equal<R1, R2>::value), "");
}
{
typedef std::ratio<1, 1> R1;
typedef std::ratio<1, -1> R2;
static_assert((!std::ratio_less_equal<R1, R2>::value), "");
}
{
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1;
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R2;
static_assert((!std::ratio_less_equal<R1, R2>::value), "");
}
{
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1;
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R2;
static_assert((std::ratio_less_equal<R1, R2>::value), "");
}
{
typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R1;
typedef std::ratio<1, -0x7FFFFFFFFFFFFFFFLL> R2;
static_assert((!std::ratio_less_equal<R1, R2>::value), "");
}
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// test ratio_less_equal + +#include <ratio> + +int main() +{ + { + typedef std::ratio<1, 1> R1; + typedef std::ratio<1, 1> R2; + static_assert((std::ratio_less_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1; + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R2; + static_assert((std::ratio_less_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1; + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R2; + static_assert((std::ratio_less_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R1; + typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R2; + static_assert((std::ratio_less_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<1, 1> R1; + typedef std::ratio<1, -1> R2; + static_assert((!std::ratio_less_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1; + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R2; + static_assert((!std::ratio_less_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1; + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R2; + static_assert((std::ratio_less_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R1; + typedef std::ratio<1, -0x7FFFFFFFFFFFFFFFLL> R2; + static_assert((!std::ratio_less_equal<R1, R2>::value), ""); + } +} diff --git a/libcxx/test/utilities/ratio/ratio.comparison/ratio_not_equal.pass.cpp b/libcxx/test/utilities/ratio/ratio.comparison/ratio_not_equal.pass.cpp index fa35cef7046..0bf77dac1bc 100644 --- a/libcxx/test/utilities/ratio/ratio.comparison/ratio_not_equal.pass.cpp +++ b/libcxx/test/utilities/ratio/ratio.comparison/ratio_not_equal.pass.cpp @@ -1 +1,56 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// test ratio_not_equal
#include <ratio>
int main()
{
{
typedef std::ratio<1, 1> R1;
typedef std::ratio<1, 1> R2;
static_assert((!std::ratio_not_equal<R1, R2>::value), "");
}
{
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1;
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R2;
static_assert((!std::ratio_not_equal<R1, R2>::value), "");
}
{
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1;
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R2;
static_assert((!std::ratio_not_equal<R1, R2>::value), "");
}
{
typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R1;
typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R2;
static_assert((!std::ratio_not_equal<R1, R2>::value), "");
}
{
typedef std::ratio<1, 1> R1;
typedef std::ratio<1, -1> R2;
static_assert((std::ratio_not_equal<R1, R2>::value), "");
}
{
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1;
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R2;
static_assert((std::ratio_not_equal<R1, R2>::value), "");
}
{
typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1;
typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R2;
static_assert((std::ratio_not_equal<R1, R2>::value), "");
}
{
typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R1;
typedef std::ratio<1, -0x7FFFFFFFFFFFFFFFLL> R2;
static_assert((std::ratio_not_equal<R1, R2>::value), "");
}
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// test ratio_not_equal + +#include <ratio> + +int main() +{ + { + typedef std::ratio<1, 1> R1; + typedef std::ratio<1, 1> R2; + static_assert((!std::ratio_not_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1; + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R2; + static_assert((!std::ratio_not_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1; + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R2; + static_assert((!std::ratio_not_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R1; + typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R2; + static_assert((!std::ratio_not_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<1, 1> R1; + typedef std::ratio<1, -1> R2; + static_assert((std::ratio_not_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R1; + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R2; + static_assert((std::ratio_not_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<-0x7FFFFFFFFFFFFFFFLL, 1> R1; + typedef std::ratio<0x7FFFFFFFFFFFFFFFLL, 1> R2; + static_assert((std::ratio_not_equal<R1, R2>::value), ""); + } + { + typedef std::ratio<1, 0x7FFFFFFFFFFFFFFFLL> R1; + typedef std::ratio<1, -0x7FFFFFFFFFFFFFFFLL> R2; + static_assert((std::ratio_not_equal<R1, R2>::value), ""); + } +} diff --git a/libcxx/test/utilities/ratio/ratio.ratio/ratio.pass.cpp b/libcxx/test/utilities/ratio/ratio.ratio/ratio.pass.cpp index c2c8166fbe8..36d7965edfe 100644 --- a/libcxx/test/utilities/ratio/ratio.ratio/ratio.pass.cpp +++ b/libcxx/test/utilities/ratio/ratio.ratio/ratio.pass.cpp @@ -1 +1,44 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// test ratio: The static data members num and den shall have thcommon
// divisor of the absolute values of N and D:
#include <ratio>
template <long long N, long long D, long long eN, long long eD>
void test()
{
static_assert((std::ratio<N, D>::num == eN), "");
static_assert((std::ratio<N, D>::den == eD), "");
}
int main()
{
test<1, 1, 1, 1>();
test<1, 10, 1, 10>();
test<10, 10, 1, 1>();
test<10, 1, 10, 1>();
test<12, 4, 3, 1>();
test<12, -4, -3, 1>();
test<-12, 4, -3, 1>();
test<-12, -4, 3, 1>();
test<4, 12, 1, 3>();
test<4, -12, -1, 3>();
test<-4, 12, -1, 3>();
test<-4, -12, 1, 3>();
test<222, 333, 2, 3>();
test<222, -333, -2, 3>();
test<-222, 333, -2, 3>();
test<-222, -333, 2, 3>();
test<0x7FFFFFFFFFFFFFFFLL, 127, 72624976668147841LL, 1>();
test<-0x7FFFFFFFFFFFFFFFLL, 127, -72624976668147841LL, 1>();
test<0x7FFFFFFFFFFFFFFFLL, -127, -72624976668147841LL, 1>();
test<-0x7FFFFFFFFFFFFFFFLL, -127, 72624976668147841LL, 1>();
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// test ratio: The static data members num and den shall have thcommon +// divisor of the absolute values of N and D: + +#include <ratio> + +template <long long N, long long D, long long eN, long long eD> +void test() +{ + static_assert((std::ratio<N, D>::num == eN), ""); + static_assert((std::ratio<N, D>::den == eD), ""); +} + +int main() +{ + test<1, 1, 1, 1>(); + test<1, 10, 1, 10>(); + test<10, 10, 1, 1>(); + test<10, 1, 10, 1>(); + test<12, 4, 3, 1>(); + test<12, -4, -3, 1>(); + test<-12, 4, -3, 1>(); + test<-12, -4, 3, 1>(); + test<4, 12, 1, 3>(); + test<4, -12, -1, 3>(); + test<-4, 12, -1, 3>(); + test<-4, -12, 1, 3>(); + test<222, 333, 2, 3>(); + test<222, -333, -2, 3>(); + test<-222, 333, -2, 3>(); + test<-222, -333, 2, 3>(); + test<0x7FFFFFFFFFFFFFFFLL, 127, 72624976668147841LL, 1>(); + test<-0x7FFFFFFFFFFFFFFFLL, 127, -72624976668147841LL, 1>(); + test<0x7FFFFFFFFFFFFFFFLL, -127, -72624976668147841LL, 1>(); + test<-0x7FFFFFFFFFFFFFFFLL, -127, 72624976668147841LL, 1>(); +} diff --git a/libcxx/test/utilities/ratio/ratio.ratio/ratio1.fail.cpp b/libcxx/test/utilities/ratio/ratio.ratio/ratio1.fail.cpp index f3d12d2a0e7..4860ce9d72a 100644 --- a/libcxx/test/utilities/ratio/ratio.ratio/ratio1.fail.cpp +++ b/libcxx/test/utilities/ratio/ratio.ratio/ratio1.fail.cpp @@ -1 +1,18 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// test ratio: The template argument D shall not be zero
#include <ratio>
#include <cstdint>
int main()
{
const std::intmax_t t1 = std::ratio<1, 0>::num;
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// test ratio: The template argument D shall not be zero + +#include <ratio> +#include <cstdint> + +int main() +{ + const std::intmax_t t1 = std::ratio<1, 0>::num; +} diff --git a/libcxx/test/utilities/ratio/ratio.ratio/ratio2.fail.cpp b/libcxx/test/utilities/ratio/ratio.ratio/ratio2.fail.cpp index e371ed9d064..e854aca4aab 100644 --- a/libcxx/test/utilities/ratio/ratio.ratio/ratio2.fail.cpp +++ b/libcxx/test/utilities/ratio/ratio.ratio/ratio2.fail.cpp @@ -1 +1,19 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// test ratio: the absolute values of the template arguments N and D
// shall be representable by type intmax_t.
#include <ratio>
#include <cstdint>
int main()
{
const std::intmax_t t1 = std::ratio<0x8000000000000000ULL, 1>::num;
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// test ratio: the absolute values of the template arguments N and D +// shall be representable by type intmax_t. + +#include <ratio> +#include <cstdint> + +int main() +{ + const std::intmax_t t1 = std::ratio<0x8000000000000000ULL, 1>::num; +} diff --git a/libcxx/test/utilities/ratio/ratio.ratio/ratio3.fail.cpp b/libcxx/test/utilities/ratio/ratio.ratio/ratio3.fail.cpp index 36097d023b2..56616cf951c 100644 --- a/libcxx/test/utilities/ratio/ratio.ratio/ratio3.fail.cpp +++ b/libcxx/test/utilities/ratio/ratio.ratio/ratio3.fail.cpp @@ -1 +1,19 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// test ratio: the absolute values of the template arguments N and D
// shall be representable by type intmax_t.
#include <ratio>
#include <cstdint>
int main()
{
const std::intmax_t t1 = std::ratio<1, 0x8000000000000000ULL>::num;
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// test ratio: the absolute values of the template arguments N and D +// shall be representable by type intmax_t. + +#include <ratio> +#include <cstdint> + +int main() +{ + const std::intmax_t t1 = std::ratio<1, 0x8000000000000000ULL>::num; +} diff --git a/libcxx/test/utilities/ratio/ratio.si/nothing_to_do.pass.cpp b/libcxx/test/utilities/ratio/ratio.si/nothing_to_do.pass.cpp index e8db90cbee0..b89f168e9c4 100644 --- a/libcxx/test/utilities/ratio/ratio.si/nothing_to_do.pass.cpp +++ b/libcxx/test/utilities/ratio/ratio.si/nothing_to_do.pass.cpp @@ -1 +1,12 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
int main()
{
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +int main() +{ +} diff --git a/libcxx/test/utilities/ratio/typedefs.pass.cpp b/libcxx/test/utilities/ratio/typedefs.pass.cpp index 83ef47ec2e2..adbe0afd937 100644 --- a/libcxx/test/utilities/ratio/typedefs.pass.cpp +++ b/libcxx/test/utilities/ratio/typedefs.pass.cpp @@ -1 +1,32 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// test ratio typedef's
#include <ratio>
int main()
{
static_assert(std::atto::num == 1 && std::atto::den == 1000000000000000000ULL, "");
static_assert(std::femto::num == 1 && std::femto::den == 1000000000000000ULL, "");
static_assert(std::pico::num == 1 && std::pico::den == 1000000000000ULL, "");
static_assert(std::nano::num == 1 && std::nano::den == 1000000000ULL, "");
static_assert(std::micro::num == 1 && std::micro::den == 1000000ULL, "");
static_assert(std::milli::num == 1 && std::milli::den == 1000ULL, "");
static_assert(std::centi::num == 1 && std::centi::den == 100ULL, "");
static_assert(std::deci::num == 1 && std::deci::den == 10ULL, "");
static_assert(std::deca::num == 10ULL && std::deca::den == 1, "");
static_assert(std::hecto::num == 100ULL && std::hecto::den == 1, "");
static_assert(std::kilo::num == 1000ULL && std::kilo::den == 1, "");
static_assert(std::mega::num == 1000000ULL && std::mega::den == 1, "");
static_assert(std::giga::num == 1000000000ULL && std::giga::den == 1, "");
static_assert(std::tera::num == 1000000000000ULL && std::tera::den == 1, "");
static_assert(std::peta::num == 1000000000000000ULL && std::peta::den == 1, "");
static_assert(std::exa::num == 1000000000000000000ULL && std::exa::den == 1, "");
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// test ratio typedef's + +#include <ratio> + +int main() +{ + static_assert(std::atto::num == 1 && std::atto::den == 1000000000000000000ULL, ""); + static_assert(std::femto::num == 1 && std::femto::den == 1000000000000000ULL, ""); + static_assert(std::pico::num == 1 && std::pico::den == 1000000000000ULL, ""); + static_assert(std::nano::num == 1 && std::nano::den == 1000000000ULL, ""); + static_assert(std::micro::num == 1 && std::micro::den == 1000000ULL, ""); + static_assert(std::milli::num == 1 && std::milli::den == 1000ULL, ""); + static_assert(std::centi::num == 1 && std::centi::den == 100ULL, ""); + static_assert(std::deci::num == 1 && std::deci::den == 10ULL, ""); + static_assert(std::deca::num == 10ULL && std::deca::den == 1, ""); + static_assert(std::hecto::num == 100ULL && std::hecto::den == 1, ""); + static_assert(std::kilo::num == 1000ULL && std::kilo::den == 1, ""); + static_assert(std::mega::num == 1000000ULL && std::mega::den == 1, ""); + static_assert(std::giga::num == 1000000000ULL && std::giga::den == 1, ""); + static_assert(std::tera::num == 1000000000000ULL && std::tera::den == 1, ""); + static_assert(std::peta::num == 1000000000000000ULL && std::peta::den == 1, ""); + static_assert(std::exa::num == 1000000000000000000ULL && std::exa::den == 1, ""); +} diff --git a/libcxx/test/utilities/ratio/version.pass.cpp b/libcxx/test/utilities/ratio/version.pass.cpp index 1d6b9e4c938..48d3133bfab 100644 --- a/libcxx/test/utilities/ratio/version.pass.cpp +++ b/libcxx/test/utilities/ratio/version.pass.cpp @@ -1 +1,20 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <ratio>
#include <ratio>
#ifndef _LIBCPP_VERSION
#error _LIBCPP_VERSION not defined
#endif
int main()
{
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <ratio> + +#include <ratio> + +#ifndef _LIBCPP_VERSION +#error _LIBCPP_VERSION not defined +#endif + +int main() +{ +} |

