diff --git a/CHANGES b/CHANGES index 06730a2..4c3f227 100644 --- a/CHANGES +++ b/CHANGES @@ -44,6 +44,10 @@ The following are the changes from calc version 2.11.8.0 to date: The new default config is the old classic config with outround being 24, leadzero being set, and the prompts being ;'s. + Fixed a bug in the evaluation of tanh(1e-23) with an epsilon(1e-100). + Thanks goes to Dmitry G. Baksheyev + for reprting the problem, and thanks goes to Ernest Bowen + for the fix. The following are the changes from calc version 2.11.7.0 to 2.11.7.1: @@ -5608,8 +5612,8 @@ Following is a list of visible changes to calc from version 1.24.7 to 1.26.1: ## received a copy with calc; if not, write to Free Software Foundation, Inc. ## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. ## -## @(#) $Revision: 29.59 $ -## @(#) $Id: CHANGES,v 29.59 2003/02/26 17:17:12 chongo Exp chongo $ +## @(#) $Revision: 29.60 $ +## @(#) $Id: CHANGES,v 29.60 2003/08/26 04:35:45 chongo Exp $ ## @(#) $Source: /usr/local/src/cmd/calc/RCS/CHANGES,v $ ## ## Under source code control: 1993/06/02 18:12:57 diff --git a/calc.c b/calc.c index 9b83abb..4c0c355 100644 --- a/calc.c +++ b/calc.c @@ -19,8 +19,8 @@ * received a copy with calc; if not, write to Free Software Foundation, Inc. * 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * - * @(#) $Revision: 29.8 $ - * @(#) $Id: calc.c,v 29.8 2001/04/10 22:03:13 chongo Exp chongo $ + * @(#) $Revision: 29.9 $ + * @(#) $Id: calc.c,v 29.9 2003/08/26 04:36:10 chongo Exp $ * @(#) $Source: /usr/local/src/cmd/calc/RCS/calc.c,v $ * * Under source code control: 1990/02/15 01:48:11 diff --git a/calc.h b/calc.h index 79ac61e..5118536 100644 --- a/calc.h +++ b/calc.h @@ -17,8 +17,8 @@ * received a copy with calc; if not, write to Free Software Foundation, Inc. * 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * - * @(#) $Revision: 29.10 $ - * @(#) $Id: calc.h,v 29.10 2002/03/12 09:40:57 chongo Exp chongo $ + * @(#) $Revision: 29.11 $ + * @(#) $Id: calc.h,v 29.11 2003/08/26 04:36:10 chongo Exp $ * @(#) $Source: /usr/local/src/cmd/calc/RCS/calc.h,v $ * * Under source code control: 1990/02/15 01:48:31 diff --git a/calc.man b/calc.man index 422e4e7..9b83e3d 100644 --- a/calc.man +++ b/calc.man @@ -15,8 +15,8 @@ .\" received a copy with calc; if not, write to Free Software Foundation, Inc. .\" 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. .\" -.\" @(#) $Revision: 29.10 $ -.\" @(#) $Id: calc.man,v 29.10 2003/01/18 21:19:21 chongo Exp chongo $ +.\" @(#) $Revision: 29.11 $ +.\" @(#) $Id: calc.man,v 29.11 2003/08/26 04:36:10 chongo Exp $ .\" @(#) $Source: /usr/local/src/cmd/calc/RCS/calc.man,v $ .\" .\" Under source code control: 1991/07/23 05:48:26 diff --git a/config.c b/config.c index a503898..4468240 100644 --- a/config.c +++ b/config.c @@ -19,8 +19,8 @@ * received a copy with calc; if not, write to Free Software Foundation, Inc. * 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * - * @(#) $Revision: 29.9 $ - * @(#) $Id: config.c,v 29.9 2003/04/15 03:37:16 chongo Exp chongo $ + * @(#) $Revision: 29.10 $ + * @(#) $Id: config.c,v 29.10 2003/08/26 04:36:10 chongo Exp $ * @(#) $Source: /usr/local/src/cmd/calc/RCS/config.c,v $ * * Under source code control: 1991/07/20 00:21:56 diff --git a/config.h b/config.h index 77f6687..ffbb73c 100644 --- a/config.h +++ b/config.h @@ -19,8 +19,8 @@ * received a copy with calc; if not, write to Free Software Foundation, Inc. * 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * - * @(#) $Revision: 29.12 $ - * @(#) $Id: config.h,v 29.12 2002/12/29 09:20:25 chongo Exp chongo $ + * @(#) $Revision: 29.13 $ + * @(#) $Id: config.h,v 29.13 2003/08/26 04:36:10 chongo Exp $ * @(#) $Source: /usr/local/src/cmd/calc/RCS/config.h,v $ * * Under source code control: 1995/11/01 22:20:17 diff --git a/lib_calc.c b/lib_calc.c index 834bb8a..af9439f 100644 --- a/lib_calc.c +++ b/lib_calc.c @@ -17,8 +17,8 @@ * received a copy with calc; if not, write to Free Software Foundation, Inc. * 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * - * @(#) $Revision: 29.8 $ - * @(#) $Id: lib_calc.c,v 29.8 2002/03/12 09:40:57 chongo Exp chongo $ + * @(#) $Revision: 29.9 $ + * @(#) $Id: lib_calc.c,v 29.9 2003/08/26 04:36:10 chongo Exp $ * @(#) $Source: /usr/local/src/cmd/calc/RCS/lib_calc.c,v $ * * Under source code control: 1996/06/17 18:06:19 diff --git a/version.c b/version.c index 2214cb4..00c08a5 100644 --- a/version.c +++ b/version.c @@ -19,8 +19,8 @@ * received a copy with calc; if not, write to Free Software Foundation, Inc. * 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * - * @(#) $Revision: 29.47 $ - * @(#) $Id: version.c,v 29.47 2003/06/10 19:23:33 chongo Exp chongo $ + * @(#) $Revision: 29.48 $ + * @(#) $Id: version.c,v 29.48 2003/08/26 04:35:32 chongo Exp $ * @(#) $Source: /usr/local/src/cmd/calc/RCS/version.c,v $ * * Under source code control: 1990/05/22 11:00:58 @@ -46,7 +46,7 @@ static char *program; #define MAJOR_VER 2 /* major version */ #define MINOR_VER 11 /* minor version */ #define MAJOR_PATCH 8 /* patch level or 0 if no patch */ -#define MINOR_PATCH 0 /* test number or 0 if no minor patch */ +#define MINOR_PATCH 1 /* test number or 0 if no minor patch */ /* diff --git a/zfunc.c b/zfunc.c index 47a8631..005c281 100644 --- a/zfunc.c +++ b/zfunc.c @@ -19,8 +19,8 @@ * received a copy with calc; if not, write to Free Software Foundation, Inc. * 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * - * @(#) $Revision: 29.3 $ - * @(#) $Id: zfunc.c,v 29.3 2000/07/17 15:35:49 chongo Exp $ + * @(#) $Revision: 29.4 $ + * @(#) $Id: zfunc.c,v 29.4 2003/08/26 04:35:11 chongo Exp $ * @(#) $Source: /usr/local/src/cmd/calc/RCS/zfunc.c,v $ * * Under source code control: 1990/02/15 01:48:27 @@ -817,7 +817,9 @@ zgcd(ZVALUE z1, ZVALUE z2, ZVALUE *res) needw = TRUE; w = 0; + j = 0; while (m) { /* START OF MAIN LOOP */ + if (m - n < 2 || needw) { q = 0; u = *a0; v = 1; @@ -872,6 +874,8 @@ zgcd(ZVALUE z1, ZVALUE z2, ZVALUE *res) else g &= BASE1; } else g = 1; + } else + g = (HALF) *a0 * w; a = a0; b = b0; i = n; @@ -947,6 +951,10 @@ zgcd(ZVALUE z1, ZVALUE z2, ZVALUE *res) } a0 += q; m -= q; + while (m && !*a0) { /* Removing trailing zeros */ + m--; + a0++; + } } while (m && !a0[m-1]) m--; /* Removing leading zeros */ }