diff options
author | enge <enge@211d60ee-9f03-0410-a15a-8952a2c7a4e4> | 2005-02-04 16:52:31 +0000 |
---|---|---|
committer | enge <enge@211d60ee-9f03-0410-a15a-8952a2c7a4e4> | 2005-02-04 16:52:31 +0000 |
commit | 45a1f4726a33ea6bc41ddc88fd41dbb8c9176933 (patch) | |
tree | e2de9274fef36eac4eb1def3b7728289db1b75ee | |
parent | 218671b239c6a8a922c0bcb7fb8b335eadef6287 (diff) | |
download | mpc-45a1f4726a33ea6bc41ddc88fd41dbb8c9176933.tar.gz |
Removed cmp_ui, added cmp_si_si and the macro cmp_si
git-svn-id: svn://scm.gforge.inria.fr/svn/mpc/trunk@30 211d60ee-9f03-0410-a15a-8952a2c7a4e4
-rw-r--r-- | cmp_si_si.c (renamed from cmp_ui.c) | 9 | ||||
-rw-r--r-- | makefile | 4 | ||||
-rw-r--r-- | mpc.h | 5 | ||||
-rw-r--r-- | mpc.texi | 12 |
4 files changed, 18 insertions, 12 deletions
@@ -1,4 +1,5 @@ -/* mpc_cmp -- Compare a complex number to a non-negative integer. +/* mpc_cmp_si_si -- Compare a complex number to a number of the form + b+c*i with b and c signed integers. Copyright (C) 2005 Andreas Enge @@ -25,12 +26,12 @@ MA 02111-1307, USA. */ /* return 0 iff a = b */ int -mpc_cmp_ui (mpc_srcptr a, unsigned long int b) +mpc_cmp_si_si (mpc_srcptr a, long int b, long int c) { int cmp_re, cmp_im; - cmp_re = mpfr_cmp_ui (MPC_RE(a), b); - cmp_im = mpfr_cmp_ui (MPC_IM(a), 0); + cmp_re = mpfr_cmp_si (MPC_RE(a), b); + cmp_im = mpfr_cmp_si (MPC_IM(a), c); return MPC_INEX(cmp_re, cmp_im); } @@ -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_ui.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 -SOURCES= abs.c add.c add_fr.c add_ui.c clear.c cmp.c cmp_ui.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 +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 +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 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 @@ -128,7 +128,7 @@ int mpc_set_ui_fr __MPC_PROTO ((mpc_ptr, unsigned long int, mpfr_srcptr, mpc_rn int mpc_set_ui_ui __MPC_PROTO ((mpc_ptr, unsigned long int, unsigned long int, mpc_rnd_t)); int mpc_set_si_si __MPC_PROTO ((mpc_ptr, long int, long int, mpc_rnd_t)); int mpc_cmp __MPC_PROTO ((mpc_srcptr, mpc_srcptr)); -int mpc_cmp_ui __MPC_PROTO ((mpc_srcptr, unsigned long int)); +int mpc_cmp_si_si __MPC_PROTO ((mpc_srcptr, long int, long int)); void mpc_exp __MPC_PROTO ((mpc_ptr, mpc_srcptr, mpc_rnd_t)); void mpc_clear __MPC_PROTO ((mpc_ptr)); void mpc_init __MPC_PROTO ((mpc_ptr)); @@ -161,5 +161,6 @@ size_t mpc_out_str __MPC_PROTO ((FILE *, int, size_t, mpc_srcptr, mpc_rnd_t)); ( mpc_init(x), mpc_set_si_si((x), (y), (z), (rnd)) ) #define mpc_add_si(x, y, z, rnd) \ ( (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) ) #endif /* ifndef __MPC_H */ @@ -672,9 +672,12 @@ when @var{rop} and @var{op1} are identical. @cindex Complex comparisons functions @cindex Comparison functions -@deftypefun int mpc_cmp (mpc_t @var{op1}, mpc_t @var{op2}) -@deftypefunx int mpc_cmp_ui (mpc_t @var{op1}, unsigned long int @var{op2}) -Compare @var{op1} and @var{op2}. +@deftypefn Function int mpc_cmp (mpc_t @var{op1}, mpc_t @var{op2}) +@deftypefnx Function int mpc_cmp_si_si (mpc_t @var{op1}, long int @var{op2r}, long int @var{op2i}) +@deftypefnx Macro int mpc_cmp_si (mpc_t @var{op1}, long int @var{op2}) + +Compare @var{op1} and @var{op2}, where in the case of @code{mpc_cmp_si_si}, +@var{op2} is taken to be @var{op2r} + i @var{op2i}. The return value @var{c} can be decomposed into @code{x = MPC_INEX_RE(c)} and @code{y = MPC_INEX_IM(c)}, such that @var{x} is positive if the real part of @var{op1} is greater than that of @var{op2}, @@ -686,7 +689,8 @@ It is not allowed that one of the operands has a NaN (Not-a-Number) part. The storage of the return value is such that equality can be simply checked with @code{mpc_cmp (op1, op2) == 0}. -@end deftypefun +@end deftypefn + @node Special Complex Functions, I/O of Complex Numbers, Complex Comparison, Complex Functions @comment node-name, next, previous, up |