1/* mpc_set_x_x -- Set complex number real and imaginary parts from parameters 2 whose type is known by mpfr. 3 4Copyright (C) INRIA, 2009 5 6This file is part of the MPC Library. 7 8The MPC Library is free software; you can redistribute it and/or modify 9it under the terms of the GNU Lesser General Public License as published by 10the Free Software Foundation; either version 2.1 of the License, or (at your 11option) any later version. 12 13The MPC Library is distributed in the hope that it will be useful, but 14WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 15or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 16License for more details. 17 18You should have received a copy of the GNU Lesser General Public License 19along with the MPC Library; see the file COPYING.LIB. If not, write to 20the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 21MA 02111-1307, USA. */ 22 23#include "config.h" 24 25#if HAVE_INTTYPES_H 26# include <inttypes.h> /* for intmax_t */ 27#else 28# if HAVE_STDINT_H 29# include <stdint.h> 30# endif 31#endif 32 33#include "mpc-impl.h" 34 35#define MPC_SET_X_X(type, z, real_value, imag_value, rnd) \ 36 MPC_SET_X_Y (type, type, z, real_value, imag_value, rnd) 37 38int 39mpc_set_d_d (mpc_ptr z, double a, double b, mpc_rnd_t rnd) 40 MPC_SET_X_X (d, z, a, b, rnd) 41 42int 43mpc_set_f_f (mpc_ptr z, mpf_srcptr a, mpf_srcptr b, mpc_rnd_t rnd) 44 MPC_SET_X_X (f, z, a, b, rnd) 45 46int 47mpc_set_fr_fr (mpc_ptr z, mpfr_srcptr a, mpfr_srcptr b, mpc_rnd_t rnd) 48 MPC_SET_X_X (fr, z, a, b, rnd) 49 50int 51mpc_set_ld_ld (mpc_ptr z, long double a, long double b, mpc_rnd_t rnd) 52 MPC_SET_X_X (ld, z, a, b, rnd) 53 54int 55mpc_set_q_q (mpc_ptr z, mpq_srcptr a, mpq_srcptr b, mpc_rnd_t rnd) 56 MPC_SET_X_X (q, z, a, b, rnd) 57 58int 59mpc_set_si_si (mpc_ptr z, long int a, long int b, mpc_rnd_t rnd) 60 MPC_SET_X_X (si, z, a, b, rnd) 61 62int 63mpc_set_ui_ui (mpc_ptr z, unsigned long int a, unsigned long int b, 64 mpc_rnd_t rnd) 65 MPC_SET_X_X (ui, z, a, b, rnd) 66 67int 68mpc_set_z_z (mpc_ptr z, mpz_srcptr a, mpz_srcptr b, mpc_rnd_t rnd) 69 MPC_SET_X_X (z, z, a, b, rnd) 70 71#ifdef _MPC_H_HAVE_INTMAX_T 72int 73mpc_set_uj_uj (mpc_ptr z, uintmax_t a, uintmax_t b, mpc_rnd_t rnd) 74 MPC_SET_X_X (uj, z, a, b, rnd) 75 76int 77mpc_set_sj_sj (mpc_ptr z, intmax_t a, intmax_t b, mpc_rnd_t rnd) 78 MPC_SET_X_X (sj, z, a, b, rnd) 79#endif 80