diff options
author | zimmerma <zimmerma@211d60ee-9f03-0410-a15a-8952a2c7a4e4> | 2005-05-30 13:37:50 +0000 |
---|---|---|
committer | zimmerma <zimmerma@211d60ee-9f03-0410-a15a-8952a2c7a4e4> | 2005-05-30 13:37:50 +0000 |
commit | 29d7c6b5e89c043e1b2226bd422425039936a51a (patch) | |
tree | 973b5e75a480787f699b6514d14077a936c94c3b | |
parent | 0478a7e772aa071643c236edb93288de5bd745ec (diff) | |
download | mpc-29d7c6b5e89c043e1b2226bd422425039936a51a.tar.gz |
ui_sub is now a macro
git-svn-id: svn://scm.gforge.inria.fr/svn/mpc/trunk@39 211d60ee-9f03-0410-a15a-8952a2c7a4e4
-rw-r--r-- | makefile | 4 | ||||
-rw-r--r-- | mpc.h | 2 | ||||
-rw-r--r-- | mpc.texi | 10 | ||||
-rw-r--r-- | ui_sub.c | 35 |
4 files changed, 8 insertions, 43 deletions
@@ -41,8 +41,8 @@ VERSION=0.4.5 INCLUDES=-I. -I$(MPFR)/include -I$(GMP)/include LIBS=$(MPFR)/lib/libmpfr.a $(GMP)/lib/libgmp.a -OBJECTS= abs.o add.o add_fr.o add_ui.o clear.o cmp.o cmp_si_si.o conj.o div.o div_2exp.o div_fr.o div_ui.o exp.o init.o init2.o init3.o inp_str.o mul.o mul_2exp.o mul_fr.o mul_ui.o mul_si.o mul_i.o neg.o norm.o out_str.o random.o random2.o set.o set_d_d.o set_dfl_prec.o set_prec.o set_ui_fr.o set_si_si.o set_ui_ui.o sqr.o sqrt.o sub.o sub_ui.o ui_div.o uceil_log2.o ui_sub.o ui_ui_sub.o -SOURCES= abs.c add.c add_fr.c add_ui.c clear.c cmp.c cmp_si_si.c conj.c div.c div_2exp.c div_fr.c div_ui.c exp.c init.c init2.c init3.c inp_str.c mul.c mul_2exp.c mul_fr.c mul_ui.c mul_si.c mul_i.c neg.c norm.c out_str.c random.c random2.c set.c set_d_d.c set_dfl_prec.c set_prec.c set_ui_fr.c set_si_si.c set_ui_ui.c sqr.c sqrt.c sub.c sub_ui.c ui_div.c uceil_log2.c ui_sub.c ui_ui_sub.c +OBJECTS= abs.o add.o add_fr.o add_ui.o clear.o cmp.o cmp_si_si.o conj.o div.o div_2exp.o div_fr.o div_ui.o exp.o init.o init2.o init3.o inp_str.o mul.o mul_2exp.o mul_fr.o mul_ui.o mul_si.o mul_i.o neg.o norm.o out_str.o random.o random2.o set.o set_d_d.o set_dfl_prec.o set_prec.o set_ui_fr.o set_si_si.o set_ui_ui.o sqr.o sqrt.o sub.o sub_ui.o ui_div.o uceil_log2.o ui_ui_sub.o +SOURCES= abs.c add.c add_fr.c add_ui.c clear.c cmp.c cmp_si_si.c conj.c div.c div_2exp.c div_fr.c div_ui.c exp.c init.c init2.c init3.c inp_str.c mul.c mul_2exp.c mul_fr.c mul_ui.c mul_si.c mul_i.c neg.c norm.c out_str.c random.c random2.c set.c set_d_d.c set_dfl_prec.c set_prec.c set_ui_fr.c set_si_si.c set_ui_ui.c sqr.c sqrt.c sub.c sub_ui.c ui_div.c uceil_log2.c ui_ui_sub.c TESTS= test.c tmul.c tsqr.c tdiv.c texp.c DIST= $(SOURCES) $(TESTS) makefile mpc.h mpc-impl.h COPYING.LIB mpc.texi INSTALL @@ -105,7 +105,6 @@ int mpc_add_fr __MPC_PROTO ((mpc_ptr, mpc_srcptr, mpfr_srcptr, mpc_rnd_t)); int mpc_add_ui __MPC_PROTO ((mpc_ptr, mpc_srcptr, unsigned long int, mpc_rnd_t)); int mpc_sub __MPC_PROTO ((mpc_ptr, mpc_srcptr, mpc_srcptr, mpc_rnd_t)); int mpc_sub_ui __MPC_PROTO ((mpc_ptr, mpc_srcptr, unsigned long int, mpc_rnd_t)); -int mpc_ui_sub __MPC_PROTO ((mpc_ptr, unsigned long int, mpc_srcptr, mpc_rnd_t)); int mpc_ui_ui_sub __MPC_PROTO ((mpc_ptr, unsigned long int, unsigned long int, mpc_srcptr, mpc_rnd_t)); int mpc_mul __MPC_PROTO ((mpc_ptr, mpc_srcptr, mpc_srcptr, mpc_rnd_t)); int mpc_mul_fr __MPC_PROTO ((mpc_ptr, mpc_srcptr, mpfr_srcptr, mpc_rnd_t)); @@ -165,4 +164,5 @@ size_t mpc_out_str __MPC_PROTO ((FILE *, int, size_t, mpc_srcptr, mpc_rnd_t)); ( (z) >= 0 ? mpc_add_ui ((x), (y), (z), (rnd)) : mpc_sub_ui ((x), (y), -(z), (rnd)) ) #define mpc_cmp_si(x, y) \ ( mpc_cmp_si_si ((x), (y), 0) ) +#define mpc_ui_sub(x, y, z, r) mpc_ui_ui_sub (x, y, 0, z, r) #endif /* ifndef __MPC_H */ @@ -589,13 +589,13 @@ overhead due to the MPC layer. Set @var{rop} to @var{op1} @math{+} @var{op2} rounded according to @var{rnd}. @end deftypefun -@deftypefun int mpc_sub (mpc_t @var{rop}, mpc_t @var{op1}, mpc_t @var{op2}, mpc_rnd_t @var{rnd}) -@deftypefunx int mpc_sub_ui (mpc_t @var{rop}, mpc_t @var{op1}, unsigned long int @var{op2}, mpc_rnd_t @var{rnd}) -@deftypefunx int mpc_ui_sub (mpc_t @var{rop}, unsigned long int @var{op1}, mpc_t @var{op2}, mpc_rnd_t @var{rnd}) -@deftypefunx int mpc_ui_ui_sub (mpc_t @var{rop}, unsigned long int @var{re1}, unsigned long int @var{im1}, mpc_t @var{op2}, mpc_rnd_t @var{rnd}) +@deftypefn Function int mpc_sub (mpc_t @var{rop}, mpc_t @var{op1}, mpc_t @var{op2}, mpc_rnd_t @var{rnd}) +@deftypefnx Function int mpc_sub_ui (mpc_t @var{rop}, mpc_t @var{op1}, unsigned long int @var{op2}, mpc_rnd_t @var{rnd}) +@deftypefnx Macro int mpc_ui_sub (mpc_t @var{rop}, unsigned long int @var{op1}, mpc_t @var{op2}, mpc_rnd_t @var{rnd}) +@deftypefnx Function int mpc_ui_ui_sub (mpc_t @var{rop}, unsigned long int @var{re1}, unsigned long int @var{im1}, mpc_t @var{op2}, mpc_rnd_t @var{rnd}) Set @var{rop} to @var{op1} @minus{} @var{op2} rounded according to @var{rnd}. For @code{mpc_ui_ui_sub}, @var{op1} is @var{re1} + @var{im1}. -@end deftypefun +@end deftypefn @deftypefun int mpc_mul (mpc_t @var{rop}, mpc_t @var{op1}, mpc_t @var{op2}, mpc_rnd_t @var{rnd}) @deftypefunx int mpc_mul_ui (mpc_t @var{rop}, mpc_t @var{op1}, unsigned long int @var{op2}, mpc_rnd_t @var{rnd}) diff --git a/ui_sub.c b/ui_sub.c deleted file mode 100644 index a4effc4..0000000 --- a/ui_sub.c +++ /dev/null @@ -1,35 +0,0 @@ -/* mpc_ui_sub -- Subtract a complex number from an unsigned long int. - -Copyright (C) 2005 Marc Helbling, Paul Zimmermann. - -This file is part of the MPC Library. - -The MPC 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 2.1 of the License, or (at your -option) any later version. - -The MPC 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 MPC Library; see the file COPYING.LIB. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -MA 02111-1307, USA. */ - -#include "gmp.h" -#include "mpfr.h" -#include "mpc.h" - -int -mpc_ui_sub (mpc_ptr a, unsigned long int b, mpc_srcptr c, mpc_rnd_t rnd) -{ - int inex_re, inex_im; - - inex_re = mpfr_ui_sub (MPC_RE (a), b, MPC_RE (c), MPC_RND_RE (rnd)); - inex_im = mpfr_neg (MPC_IM (a), MPC_IM (c), MPC_RND_IM (rnd)); - - return MPC_INEX (inex_re, inex_im); -} |