diff options
-rw-r--r-- | Makefile.in | 53 | ||||
-rw-r--r-- | div.c | 2 | ||||
-rw-r--r-- | mpfr-impl.h | 2 | ||||
-rw-r--r-- | mpfr.texi | 6 | ||||
-rw-r--r-- | mul.c | 2 | ||||
-rw-r--r-- | mul_ui.c | 2 | ||||
-rw-r--r-- | round.c | 122 | ||||
-rw-r--r-- | set.c | 4 | ||||
-rw-r--r-- | set_f.c | 2 | ||||
-rw-r--r-- | set_si.c | 4 | ||||
-rw-r--r-- | set_ui.c | 4 | ||||
-rw-r--r-- | sqrt.c | 2 | ||||
-rw-r--r-- | tests/Makefile.in | 62 |
13 files changed, 167 insertions, 100 deletions
diff --git a/Makefile.in b/Makefile.in index 494756c0e..9419e7f4f 100644 --- a/Makefile.in +++ b/Makefile.in @@ -75,7 +75,7 @@ include_HEADERS = mpfr.h mpf2mpfr.h mpfr-test.h lib_LIBRARIES = libmpfr.a -libmpfr_a_SOURCES = cputime.h mpfr.h mpfr-impl.h exceptions.c save_expo.c sin_cos.c extract.c add.c add_ui.c add_ulp.c agm.c clear.c cmp.c cmp_abs.c cmp_ui.c div_2exp.c div.c div_ui.c dump.c eq.c exp2.c exp3.c exp.c get_str.c init.c inp_str.c isnan.c log2.c log.c mul_2exp.c mul.c mul_ui.c neg.c out_str.c pi.c pow.c print_raw.c print_rnd_mode.c random2.c random.c reldiff.c rnd_mode.c round.c set.c set_d.c set_dfl_prec.c set_rnd.c set_f.c set_prc_raw.c set_prec.c set_q.c set_si.c set_str.c set_str_raw.c set_ui.c set_z.c sqrt.c sqrt_ui.c sub.c sub_ui.c trunc.c ui_div.c ui_sub.c urandomb.c sqrtrem.c mpz_set_fr.c swap.c factorial.c cosh.c sinh.c tanh.c acosh.c asinh.c atanh.c atan.c cmp2.c exp_2.c asin.c euler.c +libmpfr_a_SOURCES = cputime.h mpfr.h mpfr-impl.h exceptions.c save_expo.c extract.c add.c add_ui.c add_ulp.c agm.c clear.c cmp.c cmp_abs.c cmp_ui.c div_2exp.c div.c div_ui.c dump.c eq.c exp2.c exp3.c exp.c get_str.c init.c inp_str.c isnan.c log2.c log.c mul_2exp.c mul.c mul_ui.c neg.c out_str.c pi.c pow.c print_raw.c print_rnd_mode.c random2.c random.c reldiff.c rnd_mode.c round.c set.c set_d.c set_dfl_prec.c set_rnd.c set_f.c set_prc_raw.c set_prec.c set_q.c set_si.c set_str.c set_str_raw.c set_ui.c set_z.c sqrt.c sqrt_ui.c sub.c sub_ui.c trunc.c ui_div.c ui_sub.c urandomb.c sqrtrem.c mpz_set_fr.c swap.c factorial.c cosh.c sinh.c tanh.c acosh.c asinh.c atanh.c atan.c cmp2.c exp_2.c asin.c euler.c cos.c sin.c tan.c libmpfr_a_LIBADD = ceil.o floor.o info_TEXINFOS = mpfr.texi @@ -91,17 +91,17 @@ DEFS = @DEFS@ -I. -I$(srcdir) CPPFLAGS = @CPPFLAGS@ LIBS = @LIBS@ libmpfr_a_DEPENDENCIES = ceil.o floor.o -libmpfr_a_OBJECTS = exceptions.o save_expo.o sin_cos.o extract.o add.o \ -add_ui.o add_ulp.o agm.o clear.o cmp.o cmp_abs.o cmp_ui.o div_2exp.o \ -div.o div_ui.o dump.o eq.o exp2.o exp3.o exp.o get_str.o init.o \ -inp_str.o isnan.o log2.o log.o mul_2exp.o mul.o mul_ui.o neg.o \ -out_str.o pi.o pow.o print_raw.o print_rnd_mode.o random2.o random.o \ -reldiff.o rnd_mode.o round.o set.o set_d.o set_dfl_prec.o set_rnd.o \ -set_f.o set_prc_raw.o set_prec.o set_q.o set_si.o set_str.o \ -set_str_raw.o set_ui.o set_z.o sqrt.o sqrt_ui.o sub.o sub_ui.o trunc.o \ -ui_div.o ui_sub.o urandomb.o sqrtrem.o mpz_set_fr.o swap.o factorial.o \ -cosh.o sinh.o tanh.o acosh.o asinh.o atanh.o atan.o cmp2.o exp_2.o \ -asin.o euler.o +libmpfr_a_OBJECTS = exceptions.o save_expo.o extract.o add.o add_ui.o \ +add_ulp.o agm.o clear.o cmp.o cmp_abs.o cmp_ui.o div_2exp.o div.o \ +div_ui.o dump.o eq.o exp2.o exp3.o exp.o get_str.o init.o inp_str.o \ +isnan.o log2.o log.o mul_2exp.o mul.o mul_ui.o neg.o out_str.o pi.o \ +pow.o print_raw.o print_rnd_mode.o random2.o random.o reldiff.o \ +rnd_mode.o round.o set.o set_d.o set_dfl_prec.o set_rnd.o set_f.o \ +set_prc_raw.o set_prec.o set_q.o set_si.o set_str.o set_str_raw.o \ +set_ui.o set_z.o sqrt.o sqrt_ui.o sub.o sub_ui.o trunc.o ui_div.o \ +ui_sub.o urandomb.o sqrtrem.o mpz_set_fr.o swap.o factorial.o cosh.o \ +sinh.o tanh.o acosh.o asinh.o atanh.o atan.o cmp2.o exp_2.o asin.o \ +euler.o cos.o sin.o tan.o AR = ar COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) @@ -124,20 +124,21 @@ GZIP_ENV = --best DEP_FILES = .deps/acosh.P .deps/add.P .deps/add_ui.P .deps/add_ulp.P \ .deps/agm.P .deps/asin.P .deps/asinh.P .deps/atan.P .deps/atanh.P \ .deps/clear.P .deps/cmp.P .deps/cmp2.P .deps/cmp_abs.P .deps/cmp_ui.P \ -.deps/cosh.P .deps/div.P .deps/div_2exp.P .deps/div_ui.P .deps/dump.P \ -.deps/eq.P .deps/euler.P .deps/exceptions.P .deps/exp.P .deps/exp2.P \ -.deps/exp3.P .deps/exp_2.P .deps/extract.P .deps/factorial.P \ -.deps/get_str.P .deps/init.P .deps/inp_str.P .deps/isnan.P .deps/log.P \ -.deps/log2.P .deps/mpz_set_fr.P .deps/mul.P .deps/mul_2exp.P \ -.deps/mul_ui.P .deps/neg.P .deps/out_str.P .deps/pi.P .deps/pow.P \ -.deps/print_raw.P .deps/print_rnd_mode.P .deps/random.P .deps/random2.P \ -.deps/reldiff.P .deps/rnd_mode.P .deps/round.P .deps/save_expo.P \ -.deps/set.P .deps/set_d.P .deps/set_dfl_prec.P .deps/set_f.P \ -.deps/set_prc_raw.P .deps/set_prec.P .deps/set_q.P .deps/set_rnd.P \ -.deps/set_si.P .deps/set_str.P .deps/set_str_raw.P .deps/set_ui.P \ -.deps/set_z.P .deps/sin_cos.P .deps/sinh.P .deps/sqrt.P .deps/sqrt_ui.P \ -.deps/sqrtrem.P .deps/sub.P .deps/sub_ui.P .deps/swap.P .deps/tanh.P \ -.deps/trunc.P .deps/ui_div.P .deps/ui_sub.P .deps/urandomb.P +.deps/cos.P .deps/cosh.P .deps/div.P .deps/div_2exp.P .deps/div_ui.P \ +.deps/dump.P .deps/eq.P .deps/euler.P .deps/exceptions.P .deps/exp.P \ +.deps/exp2.P .deps/exp3.P .deps/exp_2.P .deps/extract.P \ +.deps/factorial.P .deps/get_str.P .deps/init.P .deps/inp_str.P \ +.deps/isnan.P .deps/log.P .deps/log2.P .deps/mpz_set_fr.P .deps/mul.P \ +.deps/mul_2exp.P .deps/mul_ui.P .deps/neg.P .deps/out_str.P .deps/pi.P \ +.deps/pow.P .deps/print_raw.P .deps/print_rnd_mode.P .deps/random.P \ +.deps/random2.P .deps/reldiff.P .deps/rnd_mode.P .deps/round.P \ +.deps/save_expo.P .deps/set.P .deps/set_d.P .deps/set_dfl_prec.P \ +.deps/set_f.P .deps/set_prc_raw.P .deps/set_prec.P .deps/set_q.P \ +.deps/set_rnd.P .deps/set_si.P .deps/set_str.P .deps/set_str_raw.P \ +.deps/set_ui.P .deps/set_z.P .deps/sin.P .deps/sinh.P .deps/sqrt.P \ +.deps/sqrt_ui.P .deps/sqrtrem.P .deps/sub.P .deps/sub_ui.P .deps/swap.P \ +.deps/tan.P .deps/tanh.P .deps/trunc.P .deps/ui_div.P .deps/ui_sub.P \ +.deps/urandomb.P SOURCES = $(libmpfr_a_SOURCES) OBJECTS = $(libmpfr_a_OBJECTS) @@ -244,7 +244,7 @@ mpfr_div (r, u, v, rnd_mode) if (can_round) { cc = mpfr_round_raw(rp, rp, err, (sign_quotient == -1 ? 1 : 0), - MPFR_PREC(r), rnd_mode); + MPFR_PREC(r), rnd_mode, NULL); } else { /* Use the remainder to find out the correct rounding */ diff --git a/mpfr-impl.h b/mpfr-impl.h index 685255cda..43af5154d 100644 --- a/mpfr-impl.h +++ b/mpfr-impl.h @@ -114,7 +114,7 @@ void mpfr_save_emin_emax _PROTO ((void)); void mpfr_restore_emin_emax _PROTO ((void)); int mpfr_round_raw _PROTO ((mp_limb_t *, mp_limb_t *, mp_prec_t, int, - mp_prec_t, mp_rnd_t)); + mp_prec_t, mp_rnd_t, int *)); int mpfr_round_raw2 _PROTO((mp_limb_t *, mp_prec_t, int, mp_rnd_t, mp_prec_t)); int mpfr_can_round_raw _PROTO ((mp_limb_t *, mp_prec_t, int, mp_prec_t, mp_rnd_t, mp_rnd_t, mp_prec_t)); @@ -1220,11 +1220,13 @@ and adds one ulp otherwise. Always return 0 (result is exact). @end deftypefun -@deftypefun int mpfr_round_raw (mp_limb_t* @var{y}, mp_limb_t* @var{x}, mp_prec_t @var{xprec}, int @var{neg}, mp_prec_t @var{yprec}, mp_rnd_t @var{rnd}) +@deftypefun int mpfr_round_raw (mp_limb_t* @var{y}, mp_limb_t* @var{x}, mp_prec_t @var{xprec}, int @var{neg}, mp_prec_t @var{yprec}, mp_rnd_t @var{rnd}, int* @var{inexp}) Puts in mantissa beginning at @var{y} the value of that beginning at @var{x} (with precision @var{xprec} bits and negative iff @var{neg} is not zero) -rounded with mode @var{rnd} to precision @var{yprec}. +rounded with mode @var{rnd} to precision @var{yprec}; @var{inexp} is either +a null pointer or a pointer to an integer that will contain the inexact +ternary value. @end deftypefun @deftypefun int mpfr_round_raw2 (mp_limb_t* @var{x}, mp_prec_t @var{xn}, int @var{neg}, mp_rnd_t @var{rnd}, mp_prec_t @var{prec}) @@ -122,7 +122,7 @@ mpfr_mul (a, b, c, rnd_mode) if (b1 == 0) mpn_lshift (tmp, tmp, tn, 1); cc = mpfr_round_raw (ap, tmp, prec_b + prec_c, sign_product < 0, prec_a, - rnd_mode); + rnd_mode, NULL); if (cc) /* cc = 1 ==> result is a power of two */ ap[an-1] = (mp_limb_t) 1 << (BITS_PER_MP_LIMB-1); @@ -129,7 +129,7 @@ mpfr_mul_ui (y, x, u, rnd_mode) of y may differ */ sh = ysize - (MPFR_PREC(y) + cnt - 1) / BITS_PER_MP_LIMB; c = mpfr_round_raw (my + sh, my + dif, MPFR_PREC(x), (MPFR_SIGN(x) < 0), - MPFR_PREC(y) - BITS_PER_MP_LIMB + cnt, rnd_mode); + MPFR_PREC(y) - BITS_PER_MP_LIMB + cnt, rnd_mode, NULL); /* now the high (BITS_PER_MP_LIMB-cnt) bits of the result are in carry, and the remaining (yprec-BITS_PER_MP_LIMB+cnt) ones in @@ -26,6 +26,10 @@ MA 02111-1307, USA. */ #include "mpfr.h" #include "mpfr-impl.h" +#if (BITS_PER_MP_LIMB & (BITS_PER_MP_LIMB - 1)) +#error "BITS_PER_MP_LIMB must be a power of 2" +#endif + /* returns 0 if round(sign*xp[0..xn-1], prec, rnd) = round(sign*xp[0..xn-1], prec, GMP_RNDZ), 1 otherwise, where sign=1 if neg=0, sign=-1 otherwise. @@ -113,55 +117,96 @@ mpfr_round_raw2 (xp, xn, neg, rnd, prec) */ int #if __STDC__ -mpfr_round_raw (mp_limb_t *y, mp_limb_t *xp, mp_prec_t xprec, int negative, - mp_prec_t yprec, mp_rnd_t rnd_mode) +mpfr_round_raw (mp_limb_t *yp, mp_limb_t *xp, mp_prec_t xprec, int neg, + mp_prec_t yprec, mp_rnd_t rnd_mode, int *inexp) #else -mpfr_round_raw (y, xp, xprec, negative, yprec, rnd_mode) - mp_limb_t *y; - mp_limb_t *xp; - mp_prec_t xprec; - char negative; - mp_prec_t yprec; - mp_rnd_t rnd_mode; +mpfr_round_raw (yp, xp, xprec, neg, yprec, rnd_mode, inexp) + mp_limb_t *yp; + mp_limb_t *xp; + mp_prec_t xprec; + int neg; + mp_prec_t yprec; + mp_rnd_t rnd_mode; + int *inexp; #endif { - mp_prec_t nw, xsize; mp_limb_t mask; - char rw, carry = 0; + mp_size_t xsize, nw; + mp_limb_t himask, lomask; + int rw, carry = 0; xsize = (xprec-1)/BITS_PER_MP_LIMB + 1; - nw = yprec / BITS_PER_MP_LIMB; rw = yprec & (BITS_PER_MP_LIMB - 1); - if (rw) nw++; - /* number of words needed to represent x */ - - if (rw) - mask = ~((((mp_limb_t)1)<<(BITS_PER_MP_LIMB - rw)) - (mp_limb_t)1); + nw = yprec / BITS_PER_MP_LIMB; + rw = yprec & (BITS_PER_MP_LIMB - 1); + if (rw) + { + nw++; + lomask = ((((mp_limb_t)1)<<(BITS_PER_MP_LIMB - rw)) - (mp_limb_t)1); + himask = ~lomask; + } else - mask = ~((mp_limb_t)0); - - /* precision is larger than the size of x. No rounding is necessary. - Just add zeroes at the end */ - if (xsize < nw) { - /* if y=xp, maybe an overlap: MPN_COPY_DECR is ok when src <= dst */ - MPN_COPY_DECR(y + nw - xsize, xp, xsize); - MPN_ZERO(y, nw - xsize); /* PZ 27 May 99 */ - y[0] &= mask; - return 0; + { + lomask = -1; + himask = -1; } + MPFR_ASSERTN(nw >= 1); + + if (xprec <= yprec) + { /* No rounding is necessary. */ + /* if yp=xp, maybe an overlap: MPN_COPY_DECR is ok when src <= dst */ + MPFR_ASSERTN(nw >= xsize); + MPN_COPY_DECR(yp + (nw - xsize), xp, xsize); + MPN_ZERO(yp, nw - xsize); /* PZ 27 May 99 */ + if (inexp) *inexp = 0; + } + else + { + mp_limb_t rb, sb; - if (mpfr_round_raw2(xp, xsize, negative, rnd_mode, yprec)) + if ((rnd_mode == GMP_RNDU && neg) || + (rnd_mode == GMP_RNDD && !neg)) + rnd_mode = GMP_RNDZ; + + if (inexp || rnd_mode != GMP_RNDZ) { - if (rw) - carry = mpn_add_1(y, xp + xsize - nw, nw, - ((mp_limb_t)1) << (BITS_PER_MP_LIMB - rw)); - else - carry = mpn_add_1(y, xp + xsize - nw, nw, 1); + mp_size_t k; + mp_limb_t rbmask; + + k = xsize - nw; + if (!rw) k--; + MPFR_ASSERTN(k >= 0); + sb = xp[k] & lomask; /* First non-significant bits */ + if (rnd_mode == GMP_RNDN) + { + rbmask = ((mp_limb_t)1) << (BITS_PER_MP_LIMB - rw - 1); + rb = sb & rbmask; + sb &= ~rbmask; + } + while (sb == 0 && k > 0) + sb = xp[--k]; + if (rnd_mode == GMP_RNDN && (rb != 0 || sb != 0)) + { + sb = sb == 0 ? xp[xsize - nw] & (himask ^ (himask << 1)) : rb; + if (inexp) + *inexp = ((neg != 0) ^ (sb != 0)) ? 1 : -1; + } + else if (inexp) + *inexp = sb == 0 ? 0 + : (((neg != 0) ^ (rnd_mode != GMP_RNDZ)) ? 1 : -1); } - else /* now xsize >= nw */ - MPN_COPY_INCR(y, xp + xsize - nw, nw); + else + sb = 0; + + if (sb != 0 && rnd_mode != GMP_RNDZ) + carry = mpn_add_1(yp, xp + xsize - nw, nw, + rw ? ((mp_limb_t)1) << (BITS_PER_MP_LIMB - rw) : 1); + else + MPN_COPY_INCR(yp, xp + xsize - nw, nw); + + yp[0] &= himask; + } - y[0] &= mask; - return carry; + return carry; } void @@ -193,7 +238,8 @@ mpfr_round (x, rnd_mode, prec) TMP_MARK(marker); tmp = TMP_ALLOC (nw * BYTES_PER_MP_LIMB); - carry = mpfr_round_raw(tmp, MPFR_MANT(x), MPFR_PREC(x), neg, prec, rnd_mode); + carry = mpfr_round_raw(tmp, MPFR_MANT(x), MPFR_PREC(x), neg, prec, rnd_mode, + NULL); if (carry) { @@ -25,7 +25,7 @@ MA 02111-1307, USA. */ #include "mpfr.h" #include "mpfr-impl.h" -void +void #if __STDC__ mpfr_set4 (mpfr_ptr a, mpfr_srcptr b, mp_rnd_t rnd_mode, int signb) #else @@ -60,7 +60,7 @@ mpfr_set4 (a, b, rnd_mode, signb) aq = MPFR_PREC(a); carry = mpfr_round_raw(ap, MPFR_MANT(b), MPFR_PREC(b), (signb < 0), - aq, rnd_mode); + aq, rnd_mode, NULL); MPFR_EXP(a) = MPFR_EXP(b); if (carry) @@ -60,7 +60,7 @@ mpfr_set_f(y, x, rnd_mode) tmp = (mp_limb_t*) TMP_ALLOC(xprec); if (cnt) mpn_lshift(tmp, mx, sx, cnt); else MPN_COPY(tmp, mx, sx); - mpfr_round_raw(my, tmp, xprec, (SIZ(x)<0), MPFR_PREC(y), rnd_mode); + mpfr_round_raw(my, tmp, xprec, (SIZ(x)<0), MPFR_PREC(y), rnd_mode, NULL); } else { @@ -56,8 +56,8 @@ mpfr_set_si (x, i, rnd_mode) /* round if MPFR_PREC(x) smaller than length of i */ if (MPFR_PREC(x) < BITS_PER_MP_LIMB-cnt) { - cnt = mpfr_round_raw(xp+xn, xp+xn, BITS_PER_MP_LIMB-cnt, (ai<0), MPFR_PREC(x), - rnd_mode); + cnt = mpfr_round_raw(xp+xn, xp+xn, BITS_PER_MP_LIMB-cnt, (ai<0), + MPFR_PREC(x), rnd_mode, NULL); if (cnt) { /* special case 1.000...000 */ MPFR_EXP(x)++; xp[xn] = ((mp_limb_t) 1) << (BITS_PER_MP_LIMB-1); @@ -57,8 +57,8 @@ mpfr_set_ui (x, i, rnd_mode) /* round if MPFR_PREC(x) smaller than length of i */ if (MPFR_PREC(x) < BITS_PER_MP_LIMB-cnt) { - cnt = mpfr_round_raw(xp+xn, xp+xn, BITS_PER_MP_LIMB-cnt, 0, MPFR_PREC(x), - rnd_mode); + cnt = mpfr_round_raw(xp+xn, xp+xn, BITS_PER_MP_LIMB-cnt, 0, + MPFR_PREC(x), rnd_mode, NULL); if (cnt) { /* special case 1.000...000 */ MPFR_EXP(x)++; xp[xn] = ((mp_limb_t) 1) << (BITS_PER_MP_LIMB-1); @@ -203,7 +203,7 @@ mpfr_sqrt (r, u, rnd_mode) if (can_round) { - cc = mpfr_round_raw(rp, rp, err, 0, MPFR_PREC(r), rnd_mode); + cc = mpfr_round_raw(rp, rp, err, 0, MPFR_PREC(r), rnd_mode, NULL); rrsize = (MPFR_PREC(r) - 1)/BITS_PER_MP_LIMB + 1; } else diff --git a/tests/Makefile.in b/tests/Makefile.in index e04e39d5a..89287ac32 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -66,7 +66,7 @@ PACKAGE = @PACKAGE@ RANLIB = @RANLIB@ VERSION = @VERSION@ -check_PROGRAMS = reuse tabs tadd tagm tcan_round tcmp tcmp2 tcmp_ui tdiv tdiv_ui tdump teq texp tget_str tlog tlog2 tmul tmul_2exp tmul_ui tout_str tpi tpow trandom tround tset_d tset_f tset_q tset_si tset_str tset_z tsqrt tsqrt_ui tui_div tui_sub tsin_cos tswap ttrunc tisnan tget_d tatan tcosh tsinh ttanh tacosh tasinh tatanh thyperbolic texp2 tfactorial tsub tasin teuler +check_PROGRAMS = reuse tabs tadd tagm tcan_round tcmp tcmp2 tcmp_ui tdiv tdiv_ui tdump teq texp tget_str tlog tlog2 tmul tmul_2exp tmul_ui tout_str tpi tpow trandom tround tset_d tset_f tset_q tset_si tset_str tset_z tsqrt tsqrt_ui tui_div tui_sub tswap ttrunc tisnan tget_d tatan tcosh tsinh ttanh tacosh tasinh tatanh thyperbolic texp2 tfactorial tsub tasin teuler tcos tsin ttan LDADD = $(top_builddir)/libmpfr.a @LDADD@ INCLUDES = @INCLUDES@ -I$(top_srcdir) @@ -246,11 +246,6 @@ tui_sub_OBJECTS = tui_sub.o tui_sub_LDADD = $(LDADD) tui_sub_DEPENDENCIES = $(top_builddir)/libmpfr.a tui_sub_LDFLAGS = -tsin_cos_SOURCES = tsin_cos.c -tsin_cos_OBJECTS = tsin_cos.o -tsin_cos_LDADD = $(LDADD) -tsin_cos_DEPENDENCIES = $(top_builddir)/libmpfr.a -tsin_cos_LDFLAGS = tswap_SOURCES = tswap.c tswap_OBJECTS = tswap.o tswap_LDADD = $(LDADD) @@ -336,6 +331,21 @@ teuler_OBJECTS = teuler.o teuler_LDADD = $(LDADD) teuler_DEPENDENCIES = $(top_builddir)/libmpfr.a teuler_LDFLAGS = +tcos_SOURCES = tcos.c +tcos_OBJECTS = tcos.o +tcos_LDADD = $(LDADD) +tcos_DEPENDENCIES = $(top_builddir)/libmpfr.a +tcos_LDFLAGS = +tsin_SOURCES = tsin.c +tsin_OBJECTS = tsin.o +tsin_LDADD = $(LDADD) +tsin_DEPENDENCIES = $(top_builddir)/libmpfr.a +tsin_LDFLAGS = +ttan_SOURCES = ttan.c +ttan_OBJECTS = ttan.o +ttan_LDADD = $(LDADD) +ttan_DEPENDENCIES = $(top_builddir)/libmpfr.a +ttan_LDFLAGS = COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ @@ -349,18 +359,18 @@ GZIP_ENV = --best DEP_FILES = .deps/reuse.P .deps/tabs.P .deps/tacosh.P .deps/tadd.P \ .deps/tagm.P .deps/tasin.P .deps/tasinh.P .deps/tatan.P .deps/tatanh.P \ .deps/tcan_round.P .deps/tcmp.P .deps/tcmp2.P .deps/tcmp_ui.P \ -.deps/tcosh.P .deps/tdiv.P .deps/tdiv_ui.P .deps/tdump.P .deps/teq.P \ -.deps/teuler.P .deps/texp.P .deps/texp2.P .deps/tfactorial.P \ -.deps/tget_d.P .deps/tget_str.P .deps/thyperbolic.P .deps/tisnan.P \ -.deps/tlog.P .deps/tlog2.P .deps/tmul.P .deps/tmul_2exp.P \ -.deps/tmul_ui.P .deps/tout_str.P .deps/tpi.P .deps/tpow.P \ -.deps/trandom.P .deps/tround.P .deps/tset_d.P .deps/tset_f.P \ -.deps/tset_q.P .deps/tset_si.P .deps/tset_str.P .deps/tset_z.P \ -.deps/tsin_cos.P .deps/tsinh.P .deps/tsqrt.P .deps/tsqrt_ui.P \ -.deps/tsub.P .deps/tswap.P .deps/ttanh.P .deps/ttrunc.P .deps/tui_div.P \ -.deps/tui_sub.P -SOURCES = reuse.c tabs.c tadd.c tagm.c tcan_round.c tcmp.c tcmp2.c tcmp_ui.c tdiv.c tdiv_ui.c tdump.c teq.c texp.c tget_str.c tlog.c tlog2.c tmul.c tmul_2exp.c tmul_ui.c tout_str.c tpi.c tpow.c trandom.c tround.c tset_d.c tset_f.c tset_q.c tset_si.c tset_str.c tset_z.c tsqrt.c tsqrt_ui.c tui_div.c tui_sub.c tsin_cos.c tswap.c ttrunc.c tisnan.c tget_d.c tatan.c tcosh.c tsinh.c ttanh.c tacosh.c tasinh.c tatanh.c thyperbolic.c texp2.c tfactorial.c tsub.c tasin.c teuler.c -OBJECTS = reuse.o tabs.o tadd.o tagm.o tcan_round.o tcmp.o tcmp2.o tcmp_ui.o tdiv.o tdiv_ui.o tdump.o teq.o texp.o tget_str.o tlog.o tlog2.o tmul.o tmul_2exp.o tmul_ui.o tout_str.o tpi.o tpow.o trandom.o tround.o tset_d.o tset_f.o tset_q.o tset_si.o tset_str.o tset_z.o tsqrt.o tsqrt_ui.o tui_div.o tui_sub.o tsin_cos.o tswap.o ttrunc.o tisnan.o tget_d.o tatan.o tcosh.o tsinh.o ttanh.o tacosh.o tasinh.o tatanh.o thyperbolic.o texp2.o tfactorial.o tsub.o tasin.o teuler.o +.deps/tcos.P .deps/tcosh.P .deps/tdiv.P .deps/tdiv_ui.P .deps/tdump.P \ +.deps/teq.P .deps/teuler.P .deps/texp.P .deps/texp2.P \ +.deps/tfactorial.P .deps/tget_d.P .deps/tget_str.P .deps/thyperbolic.P \ +.deps/tisnan.P .deps/tlog.P .deps/tlog2.P .deps/tmul.P \ +.deps/tmul_2exp.P .deps/tmul_ui.P .deps/tout_str.P .deps/tpi.P \ +.deps/tpow.P .deps/trandom.P .deps/tround.P .deps/tset_d.P \ +.deps/tset_f.P .deps/tset_q.P .deps/tset_si.P .deps/tset_str.P \ +.deps/tset_z.P .deps/tsin.P .deps/tsinh.P .deps/tsqrt.P \ +.deps/tsqrt_ui.P .deps/tsub.P .deps/tswap.P .deps/ttan.P .deps/ttanh.P \ +.deps/ttrunc.P .deps/tui_div.P .deps/tui_sub.P +SOURCES = reuse.c tabs.c tadd.c tagm.c tcan_round.c tcmp.c tcmp2.c tcmp_ui.c tdiv.c tdiv_ui.c tdump.c teq.c texp.c tget_str.c tlog.c tlog2.c tmul.c tmul_2exp.c tmul_ui.c tout_str.c tpi.c tpow.c trandom.c tround.c tset_d.c tset_f.c tset_q.c tset_si.c tset_str.c tset_z.c tsqrt.c tsqrt_ui.c tui_div.c tui_sub.c tswap.c ttrunc.c tisnan.c tget_d.c tatan.c tcosh.c tsinh.c ttanh.c tacosh.c tasinh.c tatanh.c thyperbolic.c texp2.c tfactorial.c tsub.c tasin.c teuler.c tcos.c tsin.c ttan.c +OBJECTS = reuse.o tabs.o tadd.o tagm.o tcan_round.o tcmp.o tcmp2.o tcmp_ui.o tdiv.o tdiv_ui.o tdump.o teq.o texp.o tget_str.o tlog.o tlog2.o tmul.o tmul_2exp.o tmul_ui.o tout_str.o tpi.o tpow.o trandom.o tround.o tset_d.o tset_f.o tset_q.o tset_si.o tset_str.o tset_z.o tsqrt.o tsqrt_ui.o tui_div.o tui_sub.o tswap.o ttrunc.o tisnan.o tget_d.o tatan.o tcosh.o tsinh.o ttanh.o tacosh.o tasinh.o tatanh.o thyperbolic.o texp2.o tfactorial.o tsub.o tasin.o teuler.o tcos.o tsin.o ttan.o all: all-redirect .SUFFIXES: @@ -534,10 +544,6 @@ tui_sub: $(tui_sub_OBJECTS) $(tui_sub_DEPENDENCIES) @rm -f tui_sub $(LINK) $(tui_sub_LDFLAGS) $(tui_sub_OBJECTS) $(tui_sub_LDADD) $(LIBS) -tsin_cos: $(tsin_cos_OBJECTS) $(tsin_cos_DEPENDENCIES) - @rm -f tsin_cos - $(LINK) $(tsin_cos_LDFLAGS) $(tsin_cos_OBJECTS) $(tsin_cos_LDADD) $(LIBS) - tswap: $(tswap_OBJECTS) $(tswap_DEPENDENCIES) @rm -f tswap $(LINK) $(tswap_LDFLAGS) $(tswap_OBJECTS) $(tswap_LDADD) $(LIBS) @@ -606,6 +612,18 @@ teuler: $(teuler_OBJECTS) $(teuler_DEPENDENCIES) @rm -f teuler $(LINK) $(teuler_LDFLAGS) $(teuler_OBJECTS) $(teuler_LDADD) $(LIBS) +tcos: $(tcos_OBJECTS) $(tcos_DEPENDENCIES) + @rm -f tcos + $(LINK) $(tcos_LDFLAGS) $(tcos_OBJECTS) $(tcos_LDADD) $(LIBS) + +tsin: $(tsin_OBJECTS) $(tsin_DEPENDENCIES) + @rm -f tsin + $(LINK) $(tsin_LDFLAGS) $(tsin_OBJECTS) $(tsin_LDADD) $(LIBS) + +ttan: $(ttan_OBJECTS) $(ttan_DEPENDENCIES) + @rm -f ttan + $(LINK) $(ttan_LDFLAGS) $(ttan_OBJECTS) $(ttan_LDADD) $(LIBS) + tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) |