Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Unified Diff: gcc/gmp/tests/cxx/t-ops.cc

Issue 3050029: [gcc] GCC 4.5.0=>4.5.1 (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/nacl-toolchain.git
Patch Set: Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gcc/gmp/tests/cxx/t-constr.cc ('k') | gcc/gmp/tests/cxx/t-unary.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gcc/gmp/tests/cxx/t-ops.cc
diff --git a/gcc/gmp/tests/cxx/t-ops.cc b/gcc/gmp/tests/cxx/t-ops.cc
deleted file mode 100644
index 01fe3b0fbc79da3eddc8658e8457b94369617b04..0000000000000000000000000000000000000000
--- a/gcc/gmp/tests/cxx/t-ops.cc
+++ /dev/null
@@ -1,720 +0,0 @@
-/* Test mp*_class operators and functions.
-
-Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
-
-This file is part of the GNU MP Library.
-
-The GNU MP Library is free software; you can redistribute it and/or modify
-it under the terms of the GNU Lesser General Public License as published by
-the Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The GNU MP Library is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
-License for more details.
-
-You should have received a copy of the GNU Lesser General Public License
-along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
-
-#include "config.h"
-
-#include <iostream>
-
-#include "gmp.h"
-#include "gmpxx.h"
-#include "gmp-impl.h"
-#include "tests.h"
-
-using namespace std;
-
-
-void
-check_mpz (void)
-{
- // unary operators and functions
-
- // operator+
- {
- mpz_class a(1);
- mpz_class b;
- b = +a; ASSERT_ALWAYS(b == 1);
- }
-
- // operator-
- {
- mpz_class a(2);
- mpz_class b;
- b = -a; ASSERT_ALWAYS(b == -2);
- }
-
- // operator~
- {
- mpz_class a(3);
- mpz_class b;
- b = ~a; ASSERT_ALWAYS(b == -4);
- }
-
- // abs
- {
- mpz_class a(-123);
- mpz_class b;
- b = abs(a); ASSERT_ALWAYS(b == 123);
- }
-
- // sqrt
- {
- mpz_class a(25);
- mpz_class b;
- b = sqrt(a); ASSERT_ALWAYS(b == 5);
- }
- {
- mpz_class a(125);
- mpz_class b;
- b = sqrt(a); ASSERT_ALWAYS(b == 11); // round toward zero
- }
-
- // sgn
- {
- mpz_class a(123);
- int b = sgn(a); ASSERT_ALWAYS(b == 1);
- }
- {
- mpz_class a(0);
- int b = sgn(a); ASSERT_ALWAYS(b == 0);
- }
- {
- mpz_class a(-123);
- int b = sgn(a); ASSERT_ALWAYS(b == -1);
- }
-
-
- // binary operators and functions
-
- // operator+
- {
- mpz_class a(1), b(2);
- mpz_class c;
- c = a + b; ASSERT_ALWAYS(c == 3);
- }
- {
- mpz_class a(3);
- signed int b = 4;
- mpz_class c;
- c = a + b; ASSERT_ALWAYS(c == 7);
- }
- {
- mpz_class a(5);
- double b = 6.0;
- mpz_class c;
- c = b + a; ASSERT_ALWAYS(c == 11);
- }
-
- // operator-
- {
- mpz_class a(3), b(6);
- mpz_class c;
- c = a - b; ASSERT_ALWAYS(c == -3);
- }
-
- // operator*
- {
- mpz_class a(-2), b(4);
- mpz_class c;
- c = a * b; ASSERT_ALWAYS(c == -8);
- }
- {
- mpz_class a(2);
- long b = -4;
- mpz_class c;
- c = a * b; ASSERT_ALWAYS(c == -8);
- c = b * a; ASSERT_ALWAYS(c == -8);
- }
- {
- mpz_class a(-2);
- unsigned long b = 4;
- mpz_class c;
- c = a * b; ASSERT_ALWAYS(c == -8);
- c = b * a; ASSERT_ALWAYS(c == -8);
- }
-
- // operator/ and operator%
- {
- mpz_class a(12), b(4);
- mpz_class c;
- c = a / b; ASSERT_ALWAYS(c == 3);
- c = a % b; ASSERT_ALWAYS(c == 0);
- }
- {
- mpz_class a(7), b(5);
- mpz_class c;
- c = a / b; ASSERT_ALWAYS(c == 1);
- c = a % b; ASSERT_ALWAYS(c == 2);
- }
- {
- mpz_class a(-10);
- signed int ai = -10;
- mpz_class b(3);
- signed int bi = 3;
- mpz_class c;
- c = a / b; ASSERT_ALWAYS(c == -3);
- c = a % b; ASSERT_ALWAYS(c == -1);
- c = a / bi; ASSERT_ALWAYS(c == -3);
- c = a % bi; ASSERT_ALWAYS(c == -1);
- c = ai / b; ASSERT_ALWAYS(c == -3);
- c = ai % b; ASSERT_ALWAYS(c == -1);
- }
- {
- mpz_class a(-10);
- signed int ai = -10;
- mpz_class b(-3);
- signed int bi = -3;
- mpz_class c;
- c = a / b; ASSERT_ALWAYS(c == 3);
- c = a % b; ASSERT_ALWAYS(c == -1);
- c = a / bi; ASSERT_ALWAYS(c == 3);
- c = a % bi; ASSERT_ALWAYS(c == -1);
- c = ai / b; ASSERT_ALWAYS(c == 3);
- c = ai % b; ASSERT_ALWAYS(c == -1);
- }
- {
- mpz_class a (LONG_MIN);
- signed long ai = LONG_MIN;
- mpz_class b = - mpz_class (LONG_MIN);
- mpz_class c;
- c = a / b; ASSERT_ALWAYS(c == -1);
- c = a % b; ASSERT_ALWAYS(c == 0);
- c = ai / b; ASSERT_ALWAYS(c == -1);
- c = ai % b; ASSERT_ALWAYS(c == 0);
- }
-
- // operator&
- // operator|
- // operator^
-
- // operator<<
- {
- mpz_class a(3);
- unsigned int b = 4;
- mpz_class c;
- c = a << b; ASSERT_ALWAYS(c == 48);
- }
-
- // operator>>
- {
- mpz_class a(127);
- unsigned int b = 4;
- mpz_class c;
- c = a >> b; ASSERT_ALWAYS(c == 7);
- }
-
- // operator==
- // operator!=
- // operator<
- // operator<=
- // operator>
- // operator>=
-
- // cmp
- {
- mpz_class a(123), b(45);
- int c;
- c = cmp(a, b); ASSERT_ALWAYS(c > 0);
- c = cmp(b, a); ASSERT_ALWAYS(c < 0);
- }
- {
- mpz_class a(123);
- unsigned long b = 45;
- int c;
- c = cmp(a, b); ASSERT_ALWAYS(c > 0);
- c = cmp(b, a); ASSERT_ALWAYS(c < 0);
- }
- {
- mpz_class a(123);
- long b = 45;
- int c;
- c = cmp(a, b); ASSERT_ALWAYS(c > 0);
- c = cmp(b, a); ASSERT_ALWAYS(c < 0);
- }
- {
- mpz_class a(123);
- double b = 45;
- int c;
- c = cmp(a, b); ASSERT_ALWAYS(c > 0);
- c = cmp(b, a); ASSERT_ALWAYS(c < 0);
- }
-
-
- // ternary operators
-
- // mpz_addmul
- {
- mpz_class a(1), b(2), c(3);
- mpz_class d;
- d = a + b * c; ASSERT_ALWAYS(d == 7);
- }
- {
- mpz_class a(1), b(2);
- unsigned int c = 3;
- mpz_class d;
- d = a + b * c; ASSERT_ALWAYS(d == 7);
- }
- {
- mpz_class a(1), b(3);
- unsigned int c = 2;
- mpz_class d;
- d = a + c * b; ASSERT_ALWAYS(d == 7);
- }
- {
- mpz_class a(1), b(2);
- signed int c = 3;
- mpz_class d;
- d = a + b * c; ASSERT_ALWAYS(d == 7);
- }
- {
- mpz_class a(1), b(3);
- signed int c = 2;
- mpz_class d;
- d = a + c * b; ASSERT_ALWAYS(d == 7);
- }
- {
- mpz_class a(1), b(2);
- double c = 3.0;
- mpz_class d;
- d = a + b * c; ASSERT_ALWAYS(d == 7);
- }
- {
- mpz_class a(1), b(3);
- double c = 2.0;
- mpz_class d;
- d = a + c * b; ASSERT_ALWAYS(d == 7);
- }
-
- {
- mpz_class a(2), b(3), c(4);
- mpz_class d;
- d = a * b + c; ASSERT_ALWAYS(d == 10);
- }
- {
- mpz_class a(2), b(4);
- unsigned int c = 3;
- mpz_class d;
- d = a * c + b; ASSERT_ALWAYS(d == 10);
- }
- {
- mpz_class a(3), b(4);
- unsigned int c = 2;
- mpz_class d;
- d = c * a + b; ASSERT_ALWAYS(d == 10);
- }
- {
- mpz_class a(2), b(4);
- signed int c = 3;
- mpz_class d;
- d = a * c + b; ASSERT_ALWAYS(d == 10);
- }
- {
- mpz_class a(3), b(4);
- signed int c = 2;
- mpz_class d;
- d = c * a + b; ASSERT_ALWAYS(d == 10);
- }
- {
- mpz_class a(2), b(4);
- double c = 3.0;
- mpz_class d;
- d = a * c + b; ASSERT_ALWAYS(d == 10);
- }
- {
- mpz_class a(3), b(4);
- double c = 2.0;
- mpz_class d;
- d = c * a + b; ASSERT_ALWAYS(d == 10);
- }
-
- // mpz_submul
- {
- mpz_class a(1), b(2), c(3);
- mpz_class d;
- d = a - b * c; ASSERT_ALWAYS(d == -5);
- }
- {
- mpz_class a(1), b(2);
- unsigned int c = 3;
- mpz_class d;
- d = a - b * c; ASSERT_ALWAYS(d == -5);
- }
- {
- mpz_class a(1), b(3);
- unsigned int c = 2;
- mpz_class d;
- d = a - c * b; ASSERT_ALWAYS(d == -5);
- }
- {
- mpz_class a(1), b(2);
- signed int c = 3;
- mpz_class d;
- d = a - b * c; ASSERT_ALWAYS(d == -5);
- }
- {
- mpz_class a(1), b(3);
- signed int c = 2;
- mpz_class d;
- d = a - c * b; ASSERT_ALWAYS(d == -5);
- }
- {
- mpz_class a(1), b(2);
- double c = 3.0;
- mpz_class d;
- d = a - b * c; ASSERT_ALWAYS(d == -5);
- }
- {
- mpz_class a(1), b(3);
- double c = 2.0;
- mpz_class d;
- d = a - c * b; ASSERT_ALWAYS(d == -5);
- }
-
- {
- mpz_class a(2), b(3), c(4);
- mpz_class d;
- d = a * b - c; ASSERT_ALWAYS(d == 2);
- }
- {
- mpz_class a(2), b(4);
- unsigned int c = 3;
- mpz_class d;
- d = a * c - b; ASSERT_ALWAYS(d == 2);
- }
- {
- mpz_class a(3), b(4);
- unsigned int c = 2;
- mpz_class d;
- d = c * a - b; ASSERT_ALWAYS(d == 2);
- }
- {
- mpz_class a(2), b(4);
- signed int c = 3;
- mpz_class d;
- d = a * c - b; ASSERT_ALWAYS(d == 2);
- }
- {
- mpz_class a(3), b(4);
- signed int c = 2;
- mpz_class d;
- d = c * a - b; ASSERT_ALWAYS(d == 2);
- }
- {
- mpz_class a(2), b(4);
- double c = 3.0;
- mpz_class d;
- d = a * c - b; ASSERT_ALWAYS(d == 2);
- }
- {
- mpz_class a(3), b(4);
- double c = 2.0;
- mpz_class d;
- d = c * a - b; ASSERT_ALWAYS(d == 2);
- }
-}
-
-void
-check_mpq (void)
-{
- // unary operators and functions
-
- // operator+
- {
- mpq_class a(1, 2);
- mpq_class b;
- b = +a; ASSERT_ALWAYS(b == 0.5);
- }
-
- // operator-
- {
- mpq_class a(3, 4);
- mpq_class b;
- b = -a; ASSERT_ALWAYS(b == -0.75);
- }
-
- // abs
- {
- mpq_class a(-123);
- mpq_class b;
- b = abs(a); ASSERT_ALWAYS(b == 123);
- }
-
- // sgn
- {
- mpq_class a(123);
- int b = sgn(a); ASSERT_ALWAYS(b == 1);
- }
- {
- mpq_class a(0);
- int b = sgn(a); ASSERT_ALWAYS(b == 0);
- }
- {
- mpq_class a(-123);
- int b = sgn(a); ASSERT_ALWAYS(b == -1);
- }
-
-
- // binary operators and functions
-
- // operator+
- {
- mpq_class a(1, 2), b(3, 4);
- mpq_class c;
- c = a + b; ASSERT_ALWAYS(c == 1.25);
- }
- {
- mpq_class a(1, 2);
- signed int b = 2;
- mpq_class c;
- c = a + b; ASSERT_ALWAYS(c == 2.5);
- }
- {
- mpq_class a(1, 2);
- double b = 1.5;
- mpq_class c;
- c = b + a; ASSERT_ALWAYS(c == 2);
- }
-
- // operator-
- {
- mpq_class a(1, 2), b(3, 4);
- mpq_class c;
- c = a - b; ASSERT_ALWAYS(c == -0.25);
- }
-
- // operator*
- {
- mpq_class a(1, 3), b(3, 4);
- mpq_class c;
- c = a * b; ASSERT_ALWAYS(c == 0.25);
- }
-
- // operator/
- {
- mpq_class a(1, 2), b(2, 3);
- mpq_class c;
- c = a / b; ASSERT_ALWAYS(c == 0.75);
- }
-
- // operator<<
- // operator>>
- // operator==
- // operator!=
- // operator<
- // operator<=
- // operator>
- // operator>=
-
- // cmp
- {
- mpq_class a(123), b(45);
- int c;
- c = cmp(a, b); ASSERT_ALWAYS(c > 0);
- c = cmp(b, a); ASSERT_ALWAYS(c < 0);
- }
- {
- mpq_class a(123);
- unsigned long b = 45;
- int c;
- c = cmp(a, b); ASSERT_ALWAYS(c > 0);
- c = cmp(b, a); ASSERT_ALWAYS(c < 0);
- }
- {
- mpq_class a(123);
- long b = 45;
- int c;
- c = cmp(a, b); ASSERT_ALWAYS(c > 0);
- c = cmp(b, a); ASSERT_ALWAYS(c < 0);
- }
- {
- mpq_class a(123);
- double b = 45;
- int c;
- c = cmp(a, b); ASSERT_ALWAYS(c > 0);
- c = cmp(b, a); ASSERT_ALWAYS(c < 0);
- }
-}
-
-void
-check_mpf (void)
-{
- // unary operators and functions
-
- // operator+
- {
- mpf_class a(1);
- mpf_class b;
- b = +a; ASSERT_ALWAYS(b == 1);
- }
-
- // operator-
- {
- mpf_class a(2);
- mpf_class b;
- b = -a; ASSERT_ALWAYS(b == -2);
- }
-
- // abs
- {
- mpf_class a(-123);
- mpf_class b;
- b = abs(a); ASSERT_ALWAYS(b == 123);
- }
-
- // trunc
- {
- mpf_class a(1.5);
- mpf_class b;
- b = trunc(a); ASSERT_ALWAYS(b == 1);
- }
- {
- mpf_class a(-1.5);
- mpf_class b;
- b = trunc(a); ASSERT_ALWAYS(b == -1);
- }
-
- // floor
- {
- mpf_class a(1.9);
- mpf_class b;
- b = floor(a); ASSERT_ALWAYS(b == 1);
- }
- {
- mpf_class a(-1.1);
- mpf_class b;
- b = floor(a); ASSERT_ALWAYS(b == -2);
- }
-
- // ceil
- {
- mpf_class a(1.1);
- mpf_class b;
- b = ceil(a); ASSERT_ALWAYS(b == 2);
- }
- {
- mpf_class a(-1.9);
- mpf_class b;
- b = ceil(a); ASSERT_ALWAYS(b == -1);
- }
-
- // sqrt
- {
- mpf_class a(25);
- mpf_class b;
- b = sqrt(a); ASSERT_ALWAYS(b == 5);
- }
- {
- mpf_class a(2.25);
- mpf_class b;
- b = sqrt(a); ASSERT_ALWAYS(b == 1.5);
- }
-
- // sgn
- {
- mpf_class a(123);
- int b = sgn(a); ASSERT_ALWAYS(b == 1);
- }
- {
- mpf_class a(0);
- int b = sgn(a); ASSERT_ALWAYS(b == 0);
- }
- {
- mpf_class a(-123);
- int b = sgn(a); ASSERT_ALWAYS(b == -1);
- }
-
-
- // binary operators and functions
-
- // operator+
- {
- mpf_class a(1), b(2);
- mpf_class c;
- c = a + b; ASSERT_ALWAYS(c == 3);
- }
-
- // operator-
- {
- mpf_class a(3), b(4);
- mpf_class c;
- c = a - b; ASSERT_ALWAYS(c == -1);
- }
-
- // operator*
- {
- mpf_class a(2), b(5);
- mpf_class c;
- c = a * b; ASSERT_ALWAYS(c == 10);
- }
-
- // operator/
- {
- mpf_class a(7), b(4);
- mpf_class c;
- c = a / b; ASSERT_ALWAYS(c == 1.75);
- }
-
- // operator<<
- // operator>>
- // operator==
- // operator!=
- // operator<
- // operator<=
- // operator>
- // operator>=
-
- // hypot
- {
- mpf_class a(3), b(4);
- mpf_class c;
- c = hypot(a, b); ASSERT_ALWAYS(c == 5);
- }
-
- // cmp
- {
- mpf_class a(123), b(45);
- int c;
- c = cmp(a, b); ASSERT_ALWAYS(c > 0);
- c = cmp(b, a); ASSERT_ALWAYS(c < 0);
- }
- {
- mpf_class a(123);
- unsigned long b = 45;
- int c;
- c = cmp(a, b); ASSERT_ALWAYS(c > 0);
- c = cmp(b, a); ASSERT_ALWAYS(c < 0);
- }
- {
- mpf_class a(123);
- long b = 45;
- int c;
- c = cmp(a, b); ASSERT_ALWAYS(c > 0);
- c = cmp(b, a); ASSERT_ALWAYS(c < 0);
- }
- {
- mpf_class a(123);
- double b = 45;
- int c;
- c = cmp(a, b); ASSERT_ALWAYS(c > 0);
- c = cmp(b, a); ASSERT_ALWAYS(c < 0);
- }
-}
-
-
-int
-main (void)
-{
- tests_start();
-
- check_mpz();
- check_mpq();
- check_mpf();
-
- tests_end();
- return 0;
-}
« no previous file with comments | « gcc/gmp/tests/cxx/t-constr.cc ('k') | gcc/gmp/tests/cxx/t-unary.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698