1 1.1 mrg /* tswap -- Test file for mpc_swap. 2 1.1 mrg 3 1.1 mrg Copyright (C) 2011 INRIA 4 1.1 mrg 5 1.1 mrg This file is part of GNU MPC. 6 1.1 mrg 7 1.1 mrg GNU MPC is free software; you can redistribute it and/or modify it under 8 1.1 mrg the terms of the GNU Lesser General Public License as published by the 9 1.1 mrg Free Software Foundation; either version 3 of the License, or (at your 10 1.1 mrg option) any later version. 11 1.1 mrg 12 1.1 mrg GNU MPC is distributed in the hope that it will be useful, but WITHOUT ANY 13 1.1 mrg WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 14 1.1 mrg FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for 15 1.1 mrg more details. 16 1.1 mrg 17 1.1 mrg You should have received a copy of the GNU Lesser General Public License 18 1.1 mrg along with this program. If not, see http://www.gnu.org/licenses/ . 19 1.1 mrg */ 20 1.1 mrg 21 1.1 mrg #include "mpc-tests.h" 22 1.1 mrg 23 1.1 mrg int 24 1.1 mrg main (void) 25 1.1 mrg { 26 1.1 mrg mpc_t x, y, x2, y2; 27 1.1 mrg 28 1.1 mrg mpc_init2 (x, 50); 29 1.1 mrg mpc_init2 (x2, 50); 30 1.1 mrg mpc_init2 (y, 100); 31 1.1 mrg mpc_init2 (y2, 100); 32 1.1 mrg 33 1.1 mrg mpc_set_ui_ui (x, 1ul, 2ul, MPC_RNDNN); 34 1.1 mrg mpc_set_ui_ui (x2, 1ul, 2ul, MPC_RNDNN); 35 1.1 mrg mpc_set_ui_ui (y, 3ul, 4ul, MPC_RNDNN); 36 1.1 mrg mpc_set_ui_ui (y2, 3ul, 4ul, MPC_RNDNN); 37 1.1 mrg 38 1.1 mrg mpc_swap (x, y); 39 1.1 mrg 40 1.1 mrg if ( mpfr_get_prec (mpc_realref (x)) != mpfr_get_prec (mpc_realref (y2)) 41 1.1 mrg || mpfr_get_prec (mpc_imagref (x)) != mpfr_get_prec (mpc_imagref (y2)) 42 1.1 mrg || mpfr_get_prec (mpc_realref (y)) != mpfr_get_prec (mpc_realref (x2)) 43 1.1 mrg || mpfr_get_prec (mpc_imagref (y)) != mpfr_get_prec (mpc_imagref (x2)) 44 1.1 mrg || mpc_cmp (x, y2) != 0 45 1.1 mrg || mpc_cmp (y, x2) != 0) 46 1.1 mrg exit (1); 47 1.1 mrg 48 1.1 mrg mpc_clear (x); 49 1.1 mrg mpc_clear (x2); 50 1.1 mrg mpc_clear (y); 51 1.1 mrg mpc_clear (y2); 52 1.1 mrg 53 1.1 mrg return 0; 54 1.1 mrg } 55