summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorenge <enge@211d60ee-9f03-0410-a15a-8952a2c7a4e4>2009-06-04 10:33:42 +0000
committerenge <enge@211d60ee-9f03-0410-a15a-8952a2c7a4e4>2009-06-04 10:33:42 +0000
commitf88a7aaae737d73e2d7d630fd82cf2de5478d4b2 (patch)
treeb089a55c508d9a4ff5edc01ac3692a0f86b41e29
parentf61ec402b5871cb8e745ef2d070f5fb65c8cf7a0 (diff)
downloadmpc-f88a7aaae737d73e2d7d630fd82cf2de5478d4b2.tar.gz
removed need for underscore in types plugged into MPC_SET_X_Y
git-svn-id: svn://scm.gforge.inria.fr/svn/mpc/trunk@549 211d60ee-9f03-0410-a15a-8952a2c7a4e4
-rw-r--r--NEWS1
-rw-r--r--doc/mpc.texi11
-rw-r--r--src/mpc.h4
-rw-r--r--src/set_x_x.c24
-rw-r--r--tests/tset.c6
5 files changed, 22 insertions, 24 deletions
diff --git a/NEWS b/NEWS
index 6b5024d..e21f918 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,7 @@ Recent Changes:
- log (along branch cut)
- Makefile.vc updated (thanks to Mickael Gastineau)
- Minimal gmp version is 4.2
+ - Changed MPC_SET_X_Y macro
Changes in version 0.6:
- New functions: mpc_get_str, mpc_set_str, mpc_strtoc, mpc_set_uj,
diff --git a/doc/mpc.texi b/doc/mpc.texi
index 04e105c..9e53903 100644
--- a/doc/mpc.texi
+++ b/doc/mpc.texi
@@ -1041,14 +1041,13 @@ Here is an example of how to check the MPC version at compile time:
@comment node-name, next, previous, up
@section Advanced Functions
-@defmac MPC_SET_X_Y (@var{real_suffix}, @var{imag_suffix}, @var{real}, @var{imag}, @var{rnd})
+@defmac MPC_SET_X_Y (@var{real_suffix}, @var{imag_suffix}, @var{rop}, @var{real}, @var{imag}, @var{rnd})
The macro MPC_SET_X_Y is designed to serve as the body of an assignment
function and cannot be used by itself.
The @var{real_suffix} and @var{imag_suffix} parameters are the
types of the real and imaginary part, that is, the @code{x} in the
-@code{mpfr_set_x} function one would use to set the part, preceded
-by an underscore @code{_};
-for the mpfr type, use @code{_fr}.
+@code{mpfr_set_x} function one would use to set the part;
+for the mpfr type, use @code{fr}.
@var{real} (respectively @var{imag}) is the value you want to assign to the
real (resp. imaginary) part, its type must conform to @var{real_suffix}
(resp. @var{imag_suffix}).
@@ -1059,10 +1058,8 @@ Value}).
For instance, you can define mpc_set_ui_fr as follows:
@example
int mpc_set_ui_d (mpc_t rop, long int re, double im, mpc_rnd_t rnd)
- MPC_SET_X_Y (_ui, _fr, rop, re, im, rnd);
+ MPC_SET_X_Y (ui, fr, rop, re, im, rnd);
@end example
-
-This macro might be removed in future versions.
@end defmac
diff --git a/src/mpc.h b/src/mpc.h
index 948d206..a6271b7 100644
--- a/src/mpc.h
+++ b/src/mpc.h
@@ -231,8 +231,8 @@ __MPC_DECLSPEC size_t mpc_out_str __MPC_PROTO ((FILE *, int, size_t, mpc_srcptr,
#define MPC_SET_X_Y(real_t, imag_t, z, real_value, imag_value, rnd) \
{ \
int _inex_re, _inex_im; \
- _inex_re = (mpfr_set ## real_t) (mpc_realref (z), (real_value), MPC_RND_RE (rnd)); \
- _inex_im = (mpfr_set ## imag_t) (mpc_imagref (z), (imag_value), MPC_RND_IM (rnd)); \
+ _inex_re = (mpfr_set_ ## real_t) (mpc_realref (z), (real_value), MPC_RND_RE (rnd)); \
+ _inex_im = (mpfr_set_ ## imag_t) (mpc_imagref (z), (imag_value), MPC_RND_IM (rnd)); \
return MPC_INEX (_inex_re, _inex_im); \
}
diff --git a/src/set_x_x.c b/src/set_x_x.c
index 3c3f2f7..30cd478 100644
--- a/src/set_x_x.c
+++ b/src/set_x_x.c
@@ -1,7 +1,7 @@
/* mpc_set_x_x -- Set complex number real and imaginary parts from parameters
whose type is known by mpfr.
-Copyright (C) 2009 Philippe Th\'eveny, Paul Zimmermann
+Copyright (C) 2009 Philippe Th\'eveny, Paul Zimmermann, Andreas Enge
This file is part of the MPC Library.
@@ -37,43 +37,43 @@ MA 02111-1307, USA. */
int
mpc_set_d_d (mpc_ptr z, double a, double b, mpc_rnd_t rnd)
- MPC_SET_X_X (_d, z, a, b, rnd)
+ MPC_SET_X_X (d, z, a, b, rnd)
int
mpc_set_f_f (mpc_ptr z, mpf_srcptr a, mpf_srcptr b, mpc_rnd_t rnd)
- MPC_SET_X_X (_f, z, a, b, rnd)
+ MPC_SET_X_X (f, z, a, b, rnd)
int
mpc_set_fr_fr (mpc_ptr z, mpfr_srcptr a, mpfr_srcptr b, mpc_rnd_t rnd)
- MPC_SET_X_X (_fr, z, a, b, rnd)
+ MPC_SET_X_X (fr, z, a, b, rnd)
int
mpc_set_ld_ld (mpc_ptr z, long double a, long double b, mpc_rnd_t rnd)
- MPC_SET_X_X (_ld, z, a, b, rnd)
+ MPC_SET_X_X (ld, z, a, b, rnd)
int
mpc_set_q_q (mpc_ptr z, mpq_srcptr a, mpq_srcptr b, mpc_rnd_t rnd)
- MPC_SET_X_X (_q, z, a, b, rnd)
-
+ MPC_SET_X_X (q, z, a, b, rnd)
+
int
mpc_set_si_si (mpc_ptr z, long int a, long int b, mpc_rnd_t rnd)
- MPC_SET_X_X (_si, z, a, b, rnd)
+ MPC_SET_X_X (si, z, a, b, rnd)
int
mpc_set_ui_ui (mpc_ptr z, unsigned long int a, unsigned long int b,
mpc_rnd_t rnd)
- MPC_SET_X_X (_ui, z, a, b, rnd)
+ MPC_SET_X_X (ui, z, a, b, rnd)
int
mpc_set_z_z (mpc_ptr z, mpz_srcptr a, mpz_srcptr b, mpc_rnd_t rnd)
- MPC_SET_X_X (_z, z, a, b, rnd)
+ MPC_SET_X_X (z, z, a, b, rnd)
#ifdef _MPC_H_HAVE_INTMAX_T
int
mpc_set_uj_uj (mpc_ptr z, uintmax_t a, uintmax_t b, mpc_rnd_t rnd)
- MPC_SET_X_X (_uj, z, a, b, rnd)
+ MPC_SET_X_X (uj, z, a, b, rnd)
int
mpc_set_sj_sj (mpc_ptr z, intmax_t a, intmax_t b, mpc_rnd_t rnd)
- MPC_SET_X_X (_sj, z, a, b, rnd)
+ MPC_SET_X_X (sj, z, a, b, rnd)
#endif
diff --git a/tests/tset.c b/tests/tset.c
index 72a9feb..ed5030c 100644
--- a/tests/tset.c
+++ b/tests/tset.c
@@ -47,15 +47,15 @@ MA 02111-1307, USA. */
/* test MPC_SET_X_Y though some functions */
static int
mpc_set_ui_fr (mpc_ptr z, unsigned long int a, mpfr_srcptr b, mpc_rnd_t rnd)
- MPC_SET_X_Y (_ui, _fr, z, a, b, rnd)
+ MPC_SET_X_Y (ui, fr, z, a, b, rnd)
static int
mpc_set_fr_ui (mpc_ptr z, mpfr_srcptr a, unsigned long int b, mpc_rnd_t rnd)
- MPC_SET_X_Y (_fr, _ui, z, a, b, rnd)
+ MPC_SET_X_Y (fr, ui, z, a, b, rnd)
static int
mpc_set_f_si (mpc_ptr z, mpf_t a, long int b, mpc_rnd_t rnd)
- MPC_SET_X_Y (_f, _si, z, a, b, rnd)
+ MPC_SET_X_Y (f, si, z, a, b, rnd)
static void