From 24b30cdae7633db84a86c76681b87cd1ef06c2a4 Mon Sep 17 00:00:00 2001 From: Norayr Chilingarian Date: Fri, 18 Oct 2013 17:45:17 +0400 Subject: [PATCH] added oocRealMath oocOakMath modules --- makefile | 1 + makefile.gnuc.armv6j | 1 + makefile.gnuc.armv6j_hardfp | 1 + makefile.gnuc.armv7a_hardfp | 1 + makefile.gnuc.x86 | 1 + makefile.gnuc.x86_64 | 1 + ocat | Bin 208830 -> 208830 bytes showdef | Bin 432630 -> 432630 bytes src/lib/ooc/oocOakMath.Mod | 137 ++++++++ src/lib/ooc/oocRealMath.Mod | 609 ++++++++++++++++++++++++++++++++++++ voc | Bin 1324225 -> 1324225 bytes vocstatic | Bin 1324225 -> 1324225 bytes 12 files changed, 752 insertions(+) create mode 100644 src/lib/ooc/oocOakMath.Mod create mode 100644 src/lib/ooc/oocRealMath.Mod diff --git a/makefile b/makefile index b862560d..9ee8fb5b 100644 --- a/makefile +++ b/makefile @@ -133,6 +133,7 @@ stage6: $(VOCSTATIC) -sP ooc2IntStr.Mod $(VOCSTATIC) -sP ooc2Real0.Mod $(VOCSTATIC) -sP oocLowReal.Mod oocLowLReal.Mod + $(VOCSTATIC) -sP oocRealMath.Mod oocOakMath.Mod $(VOCSTATIC) -sP oocwrapperlibc.Mod $(VOCSTATIC) -sP ulmSYSTEM.Mod $(VOCSTATIC) -sP ulmASCII.Mod ulmSets.Mod diff --git a/makefile.gnuc.armv6j b/makefile.gnuc.armv6j index 1a1b9d70..71d012b9 100644 --- a/makefile.gnuc.armv6j +++ b/makefile.gnuc.armv6j @@ -133,6 +133,7 @@ stage6: $(VOCSTATIC) -sP ooc2IntStr.Mod $(VOCSTATIC) -sP ooc2Real0.Mod $(VOCSTATIC) -sP oocLowReal.Mod oocLowLReal.Mod + $(VOCSTATIC) -sP oocRealMath.Mod oocOakMath.Mod $(VOCSTATIC) -sP oocwrapperlibc.Mod $(VOCSTATIC) -sP ulmSYSTEM.Mod $(VOCSTATIC) -sP ulmASCII.Mod ulmSets.Mod diff --git a/makefile.gnuc.armv6j_hardfp b/makefile.gnuc.armv6j_hardfp index 7e9ce7dc..f843a2c3 100644 --- a/makefile.gnuc.armv6j_hardfp +++ b/makefile.gnuc.armv6j_hardfp @@ -133,6 +133,7 @@ stage6: $(VOCSTATIC) -sP ooc2IntStr.Mod $(VOCSTATIC) -sP ooc2Real0.Mod $(VOCSTATIC) -sP oocLowReal.Mod oocLowLReal.Mod + $(VOCSTATIC) -sP oocRealMath.Mod oocOakMath.Mod $(VOCSTATIC) -sP oocwrapperlibc.Mod $(VOCSTATIC) -sP ulmSYSTEM.Mod $(VOCSTATIC) -sP ulmASCII.Mod ulmSets.Mod diff --git a/makefile.gnuc.armv7a_hardfp b/makefile.gnuc.armv7a_hardfp index 2a7b60bd..12182320 100644 --- a/makefile.gnuc.armv7a_hardfp +++ b/makefile.gnuc.armv7a_hardfp @@ -133,6 +133,7 @@ stage6: $(VOCSTATIC) -sP ooc2IntStr.Mod $(VOCSTATIC) -sP ooc2Real0.Mod $(VOCSTATIC) -sP oocLowReal.Mod oocLowLReal.Mod + $(VOCSTATIC) -sP oocRealMath.Mod oocOakMath.Mod $(VOCSTATIC) -sP oocwrapperlibc.Mod $(VOCSTATIC) -sP ulmSYSTEM.Mod $(VOCSTATIC) -sP ulmASCII.Mod ulmSets.Mod diff --git a/makefile.gnuc.x86 b/makefile.gnuc.x86 index c6b7ebf8..5d1e812e 100644 --- a/makefile.gnuc.x86 +++ b/makefile.gnuc.x86 @@ -133,6 +133,7 @@ stage6: $(VOCSTATIC) -sP ooc2IntStr.Mod $(VOCSTATIC) -sP ooc2Real0.Mod $(VOCSTATIC) -sP oocLowReal.Mod oocLowLReal.Mod + $(VOCSTATIC) -sP oocRealMath.Mod oocOakMath.Mod $(VOCSTATIC) -sP oocwrapperlibc.Mod $(VOCSTATIC) -sP ulmSYSTEM.Mod $(VOCSTATIC) -sP ulmASCII.Mod ulmSets.Mod diff --git a/makefile.gnuc.x86_64 b/makefile.gnuc.x86_64 index b862560d..9ee8fb5b 100644 --- a/makefile.gnuc.x86_64 +++ b/makefile.gnuc.x86_64 @@ -133,6 +133,7 @@ stage6: $(VOCSTATIC) -sP ooc2IntStr.Mod $(VOCSTATIC) -sP ooc2Real0.Mod $(VOCSTATIC) -sP oocLowReal.Mod oocLowLReal.Mod + $(VOCSTATIC) -sP oocRealMath.Mod oocOakMath.Mod $(VOCSTATIC) -sP oocwrapperlibc.Mod $(VOCSTATIC) -sP ulmSYSTEM.Mod $(VOCSTATIC) -sP ulmASCII.Mod ulmSets.Mod diff --git a/ocat b/ocat index 443db97c220142719483629c1b62a80cbf397a85..85a685c8355116947bc3f1c3b46909ec868304ca 100755 GIT binary patch delta 17596 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 F{{<;xV*&sG diff --git a/showdef b/showdef index fdd63e86437d5144b706952e0eacff1129b2fa9f..fbc7697598433a1043bcaa070da8870e6f7f07c2 100755 GIT binary patch delta 31835 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 aTH_(Io63h{Pd&}q!-2SWkl#Ydac3Y= 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 diff --git a/src/lib/ooc/oocOakMath.Mod b/src/lib/ooc/oocOakMath.Mod new file mode 100644 index 00000000..fdfb2818 --- /dev/null +++ b/src/lib/ooc/oocOakMath.Mod @@ -0,0 +1,137 @@ +(* $Id: OakMath.Mod,v 1.1 1997/02/07 07:45:32 oberon1 Exp $ *) +MODULE oocOakMath; + +IMPORT RealMath := oocRealMath; + + +CONST + pi* = RealMath.pi; + e* = RealMath.exp1; + +PROCEDURE sqrt* (x: REAL): REAL; +(* sqrt(x) returns the square root of x, where x must be positive. *) + BEGIN + RETURN RealMath.sqrt (x) + END sqrt; + +PROCEDURE power* (x, base: REAL): REAL; +(* power(x, base) returns the x to the power base. *) + BEGIN + RETURN RealMath.power (x, base) + END power; + +PROCEDURE exp* (x: REAL): REAL; +(* exp(x) is the exponential of x base e. x must not be so small that this + exponential underflows nor so large that it overflows. *) + BEGIN + RETURN RealMath.exp (x) + END exp; + +PROCEDURE ln* (x: REAL): REAL; +(* ln(x) returns the natural logarithm (base e) of x. *) + BEGIN + RETURN RealMath.ln (x) + END ln; + +PROCEDURE log* (x, base: REAL): REAL; +(* log(x,base) is the logarithm of x base b. All positive arguments are + allowed. The base b must be positive. *) + BEGIN + RETURN RealMath.log (x, base) + END log; + +PROCEDURE round* (x: REAL): REAL; +(* round(x) if fraction part of x is in range 0.0 to 0.5 then the result is + the largest integer not greater than x, otherwise the result is x rounded + up to the next highest whole number. Note that integer values cannot always + be exactly represented in REAL or REAL format. *) + BEGIN + RETURN RealMath.round (x) + END round; + +PROCEDURE sin* (x: REAL): REAL; + BEGIN + RETURN RealMath.sin (x) + END sin; + +PROCEDURE cos* (x: REAL): REAL; + BEGIN + RETURN RealMath.cos (x) + END cos; + +PROCEDURE tan* (x: REAL): REAL; +(* sin, cos, tan(x) returns the sine, cosine or tangent value of x, where x is + in radians. *) + BEGIN + RETURN RealMath.tan (x) + END tan; + +PROCEDURE arcsin* (x: REAL): REAL; + BEGIN + RETURN RealMath.arcsin (x) + END arcsin; + +PROCEDURE arccos* (x: REAL): REAL; + BEGIN + RETURN RealMath.arccos (x) + END arccos; + +PROCEDURE arctan* (x: REAL): REAL; +(* arcsin, arcos, arctan(x) returns the arcsine, arcos, arctan value in radians + of x, where x is in the sine, cosine or tangent value. *) + BEGIN + RETURN RealMath.arctan (x) + END arctan; + +PROCEDURE arctan2* (xn, xd: REAL): REAL; +(* arctan2(xn,xd) is the quadrant-correct arc tangent atan(xn/xd). If the + denominator xd is zero, then the numerator xn must not be zero. All + arguments are legal except xn = xd = 0. *) + BEGIN + RETURN RealMath.arctan2 (xn, xd) + END arctan2; + + +PROCEDURE sinh* (x: REAL): REAL; +(* sinh(x) is the hyperbolic sine of x. The argument x must not be so large + that exp(|x|) overflows. *) + BEGIN + RETURN RealMath.sinh (x) + END sinh; + +PROCEDURE cosh* (x: REAL): REAL; +(* cosh(x) is the hyperbolic cosine of x. The argument x must not be so large + that exp(|x|) overflows. *) + BEGIN + RETURN RealMath.cosh (x) + END cosh; + +PROCEDURE tanh* (x: REAL): REAL; +(* tanh(x) is the hyperbolic tangent of x. All arguments are legal. *) + BEGIN + RETURN RealMath.tanh (x) + END tanh; + +PROCEDURE arcsinh* (x: REAL): REAL; +(* arcsinh(x) is the arc hyperbolic sine of x. All arguments are legal. *) + BEGIN + RETURN RealMath.arcsinh (x) + END arcsinh; + +PROCEDURE arccosh* (x: REAL): REAL; +(* arccosh(x) is the arc hyperbolic cosine of x. All arguments greater than + or equal to 1 are legal. *) + BEGIN + RETURN RealMath.arccosh (x) + END arccosh; + +PROCEDURE arctanh* (x: REAL): REAL; +(* arctanh(x) is the arc hyperbolic tangent of x. |x| < 1 - sqrt(em), where + em is machine epsilon. Note that |x| must not be so close to 1 that the + result is less accurate than half precision. *) + BEGIN + RETURN RealMath.arctanh (x) + END arctanh; + + +END oocOakMath. diff --git a/src/lib/ooc/oocRealMath.Mod b/src/lib/ooc/oocRealMath.Mod new file mode 100644 index 00000000..611f1f96 --- /dev/null +++ b/src/lib/ooc/oocRealMath.Mod @@ -0,0 +1,609 @@ +(* $Id: RealMath.Mod,v 1.6 1999/09/02 13:19:17 acken Exp $ *) +MODULE oocRealMath; + +(* + RealMath - Target independent mathematical functions for REAL + (IEEE single-precision) numbers. + + Numerical approximations are taken from "Software Manual for the + Elementary Functions" by Cody & Waite and "Computer Approximations" + by Hart et al. + + Copyright (C) 1995 Michael Griebling + + This module 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 of the + License, or (at your option) any later version. + + This module 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 this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +*) + +IMPORT l := oocLowReal, S := SYSTEM; + +CONST + pi* = 3.1415926535897932384626433832795028841972; + exp1* = 2.7182818284590452353602874713526624977572; + + ZERO=0.0; ONE=1.0; HALF=0.5; TWO=2.0; (* local constants *) + + (* internally-used constants *) + huge=l.large; (* largest number this package accepts *) + miny=ONE/huge; (* smallest number this package accepts *) + sqrtHalf=0.70710678118654752440; + Limit=2.4414062E-4; (* 2**(-MantBits/2) *) + eps=2.9802322E-8; (* 2**(-MantBits-1) *) + piInv=0.31830988618379067154; (* 1/pi *) + piByTwo=1.57079632679489661923132; + piByFour=0.78539816339744830962; + lnv=0.6931610107421875; (* should be exact *) + vbytwo=0.13830277879601902638E-4; (* used in sinh/cosh *) + ln2Inv=1.44269504088896340735992468100189213; + + (* error/exception codes *) + NoError*=0; IllegalRoot*=1; IllegalLog*=2; Overflow*=3; IllegalPower*=4; IllegalLogBase*=5; + IllegalTrig*=6; IllegalInvTrig*=7; HypInvTrigClipped*=8; IllegalHypInvTrig*=9; + LossOfAccuracy*=10; Underflow*=11; + +VAR + a1: ARRAY 18 OF REAL; (* lookup table for power function *) + a2: ARRAY 9 OF REAL; (* lookup table for power function *) + em: REAL; (* largest number such that 1+epsilon > 1.0 *) + LnInfinity: REAL; (* natural log of infinity *) + LnSmall: REAL; (* natural log of very small number *) + SqrtInfinity: REAL; (* square root of infinity *) + TanhMax: REAL; (* maximum Tanh value *) + t: REAL; (* internal variables *) + +(* internally used support routines *) + +PROCEDURE SinCos (x, y, sign: REAL): REAL; + CONST + ymax=9099; (* ENTIER(pi*2**(MantBits/2)) *) + r1=-0.1666665668E+0; + r2= 0.8333025139E-2; + r3=-0.1980741872E-3; + r4= 0.2601903036E-5; + VAR + n: LONGINT; xn, f, g: REAL; +BEGIN + IF y>=ymax THEN l.ErrorHandler(LossOfAccuracy); RETURN ZERO END; + + (* determine the reduced number *) + n:=ENTIER(y*piInv+HALF); xn:=n; + IF ODD(n) THEN sign:=-sign END; + x:=ABS(x); + IF x#y THEN xn:=xn-HALF END; + + (* fractional part of reduced number *) + f:=SHORT(ABS(LONG(x)) - LONG(xn)*pi); + + (* Pre: |f| <= pi/2 *) + IF ABS(f)= 0 *) + CONST + P0=0.41731; P1=0.59016; + VAR + xMant, yEst, z: REAL; xExp: INTEGER; +BEGIN + (* optimize zeros and check for illegal negative roots *) + IF x=ZERO THEN RETURN ZERO END; + IF x=LnInfinity THEN l.ErrorHandler(Overflow); RETURN huge + ELSIF x 0 *) + CONST + c1=355.0/512.0; c2=-2.121944400546905827679E-4; + A0=-0.5527074855E+0; B0=-0.6632718214E+1; + VAR f, zn, zd, r, z, w, xn: REAL; n: INTEGER; +BEGIN + (* ensure illegal inputs are trapped and handled *) + IF x<=ZERO THEN l.ErrorHandler(IllegalLog); RETURN -huge END; + + (* reduce the range of the input *) + f:=l.fraction(x)*HALF; n:=l.exponent(x)+1; + IF f>sqrtHalf THEN zn:=(f-HALF)-HALF; zd:=f*HALF+HALF + ELSE zn:=f-HALF; zd:=zn*HALF+HALF; DEC(n) + END; + + (* evaluate rational approximation from "Software Manual for the Elementary Functions" *) + z:=zn/zd; w:=z*z; r:=z+z*(w*A0/(w+B0)); + + (* scale the output *) + xn:=n; + RETURN (xn*c2+r)+xn*c1 +END ln; + +(* The angle in all trigonometric functions is measured in radians *) + +PROCEDURE sin*(x: REAL): REAL; + (* Returns the sine of x for all x *) +BEGIN + IF xymax THEN l.ErrorHandler(LossOfAccuracy); RETURN ZERO END; + + (* determine n and the fraction f *) + n:=round(x*twoByPi); xn:=n; + f:=SHORT(LONG(x)-LONG(xn)*piByTwo); + + (* check for underflow *) + IF ABS(f)HALF THEN + i:=1-flag; + IF y>ONE THEN l.ErrorHandler(IllegalInvTrig); res:=huge; RETURN END; + + (* reduce the input argument *) + g:=(ONE-y)*HALF; r:=-sqrt(g); y:=r+r; + + (* compute approximation *) + r:=((P2*g+P1)*g)/((g+Q1)*g+Q0); + res:=y+(y*r) + ELSE + i:=flag; + IF yONE THEN f:=ONE/f; n:=2 + ELSE n:=0 + END; + + (* check if f should be scaled *) + IF f>rt32 THEN f:=(((a*f-HALF)-HALF)+f)/(rt3+f); INC(n) END; + + (* check for underflow *) + IF ABS(f)1 THEN res:=-res END; + CASE n OF + | 1: res:=res+piBySix + | 2: res:=res+piByTwo + | 3: res:=res+piByThree + | ELSE (* do nothing *) + END; + RETURN res +END atan; + +PROCEDURE arctan*(x: REAL): REAL; + (* Returns the arctangent of x, in the range [-pi/2, pi/2] for all x *) +BEGIN + IF x<0 THEN RETURN -atan(-x) + ELSE RETURN atan(x) + END +END arctan; + +PROCEDURE power*(base, exponent: REAL): REAL; + (* Returns the value of the number base raised to the power exponent + for base > 0 *) + CONST P1=0.83357541E-1; K=0.4426950409; + Q1=0.69314675; Q2=0.24018510; Q3=0.54360383E-1; + OneOver16=0.0625; XMAX=16*(l.expoMax+1)-1; (*XMIN=16*l.expoMin;*) XMIN=-2016; (* to make it easier for voc; -- noch *) + VAR z, g, R, v, u2, u1, w1, w2: REAL; w: LONGREAL; + m, p, i: INTEGER; mp, pp, iw1: LONGINT; +BEGIN + (* handle all possible error conditions *) + IF base<=ZERO THEN + IF base#ZERO THEN l.ErrorHandler(IllegalPower); base:=-base + ELSIF exponent>ZERO THEN RETURN ZERO + ELSE l.ErrorHandler(IllegalPower); RETURN huge + END + END; + + (* extract the exponent of base to m and clear exponent of base in g *) + g:=l.fraction(base)*HALF; m:=l.exponent(base)+1; + + (* determine p table offset with an unrolled binary search *) + p:=1; + IF g<=a1[9] THEN p:=9 END; + IF g<=a1[p+4] THEN INC(p, 4) END; + IF g<=a1[p+2] THEN INC(p, 2) END; + + (* compute scaled z so that |z| <= 0.044 *) + z:=((g-a1[p+1])-a2[(p+1) DIV 2])/(g+a1[p+1]); z:=z+z; + + (* approximation for log2(z) from "Software Manual for the Elementary Functions" *) + v:=z*z; R:=P1*v*z; R:=R+K*R; u2:=(R+z*K)+z; + u1:=(m*16-p)*OneOver16; w:=LONG(exponent)*(LONG(u1)+LONG(u2)); (* need extra precision *) + + (* calculations below were modified to work properly -- incorrect in cited reference? *) + iw1:=ENTIER(16*w); w1:=iw1*OneOver16; w2:=SHORT(w-w1); + + (* check for overflow/underflow *) + IF iw1>XMAX THEN l.ErrorHandler(Overflow); RETURN huge + ELSIF iw1ZERO THEN INC(iw1); w2:=w2-OneOver16 END; IF iw1<0 THEN i:=0 ELSE i:=1 END; + mp:=div(iw1, 16)+i; pp:=16*mp-iw1; z:=((Q3*w2+Q2)*w2+Q1)*w2; z:=a1[pp+1]+a1[pp+1]*z; + RETURN l.scale(z, SHORT(mp)) +END power; + +PROCEDURE IsRMathException*(): BOOLEAN; + (* Returns TRUE if the current coroutine is in the exceptional execution state + because of the raising of the RealMath exception; otherwise returns FALSE. + *) +BEGIN + RETURN FALSE +END IsRMathException; + + +(* + Following routines are provided as extensions to the ISO standard. + They are either used as the basis of other functions or provide + useful functions which are not part of the ISO standard. +*) + +PROCEDURE log* (x, base: REAL): REAL; +(* log(x,base) is the logarithm of x base 'base'. All positive arguments are + allowed but base > 0 and base # 1 *) +BEGIN + (* log(x, base) = ln(x) / ln(base) *) + IF base<=ZERO THEN l.ErrorHandler(IllegalLogBase); RETURN -huge + ELSE RETURN ln(x)/ln(base) + END +END log; + +PROCEDURE ipower* (x: REAL; base: INTEGER): REAL; +(* ipower(x, base) returns the x to the integer power base where Log2(x) < expoMax *) + VAR Exp: INTEGER; y: REAL; neg: BOOLEAN; + + PROCEDURE Adjust(xadj: REAL): REAL; + BEGIN + IF (x0 THEN RETURN ZERO ELSE l.ErrorHandler(Overflow); RETURN Adjust(huge) END + END; + + (* trap potential overflows and underflows *) + Exp:=(l.exponent(x)+1)*base; y:=LnInfinity*ln2Inv; + IF Exp>y THEN l.ErrorHandler(Overflow); RETURN Adjust(huge) + ELSIF Exp<-y THEN RETURN ZERO + END; + + (* compute x**base using an optimised algorithm from Knuth, slightly + altered : p442, The Art Of Computer Programming, Vol 2 *) + y:=ONE; IF base<0 THEN neg:=TRUE; base := -base ELSE neg:= FALSE END; + LOOP + IF ODD(base) THEN y:=y*x END; + base:=base DIV 2; IF base=0 THEN EXIT END; + x:=x*x; + END; + IF neg THEN RETURN ONE/y ELSE RETURN y END +END ipower; + +PROCEDURE sincos* (x: REAL; VAR Sin, Cos: REAL); +(* More efficient sin/cos implementation if both values are needed. *) +BEGIN + Sin:=sin(x); Cos:=sqrt(ONE-Sin*Sin) +END sincos; + +PROCEDURE arctan2* (xn, xd: REAL): REAL; +(* arctan2(xn,xd) is the quadrant-correct arc tangent atan(xn/xd). If the + denominator xd is zero, then the numerator xn must not be zero. All + arguments are legal except xn = xd = 0. *) +VAR + res: REAL; xpdiff: LONGINT; +BEGIN + (* check for error conditions *) + IF xd=ZERO THEN + IF xn=ZERO THEN l.ErrorHandler(IllegalTrig); RETURN ZERO + ELSIF xn<0 THEN RETURN -piByTwo + ELSE RETURN piByTwo + END; + ELSE + xpdiff:=l.exponent(xn)-l.exponent(xd); + IF ABS(xpdiff)>=l.expoMax-3 THEN + (* overflow detected *) + IF xn<0 THEN RETURN -piByTwo + ELSE RETURN piByTwo + END + ELSE + res:=ABS(xn/xd); + IF res#ZERO THEN res:=atan(res) END; + IF xdLnInfinity THEN (* handle exp overflows *) + y:=y-lnv; + IF y>LnInfinity-lnv+0.69 THEN l.ErrorHandler(Overflow); + IF x>ZERO THEN RETURN huge ELSE RETURN -huge END + ELSE f:=exp(y); f:=f+f*vbytwo (* don't change to f(1+vbytwo) *) + END + ELSE f:=exp(y); f:=(f-ONE/f)*HALF + END; + + (* reach here when 1 < ABS(x) < LnInfinity-lnv+0.69 *) + IF x>ZERO THEN RETURN f ELSE RETURN -f END +END sinh; + +PROCEDURE cosh* (x: REAL): REAL; +(* cosh(x) is the hyperbolic cosine of x. The argument x must not be so large + that exp(|x|) overflows. *) + VAR y, f: REAL; +BEGIN y:=ABS(x); + IF y>LnInfinity THEN (* handle exp overflows *) + y:=y-lnv; + IF y>LnInfinity-lnv+0.69 THEN l.ErrorHandler(Overflow); + IF x>ZERO THEN RETURN huge ELSE RETURN -huge END + ELSE f:=exp(y); RETURN f+f*vbytwo (* don't change to f(1+vbytwo) *) + END + ELSE f:=exp(y); RETURN (f+ONE/f)*HALF + END +END cosh; + +PROCEDURE tanh* (x: REAL): REAL; +(* tanh(x) is the hyperbolic tangent of x. All arguments are legal. *) + CONST P0=-0.8237728127; P1=-0.3831010665E-2; Q0=2.471319654; ln3over2=0.5493061443; + BIG=9.010913347; (* (ln(2)+(t+1)*ln(B))/2 where t=mantissa bits, B=base *) + VAR f, t: REAL; +BEGIN f:=ABS(x); + IF f>BIG THEN t:=ONE + ELSIF f>ln3over2 THEN t:=ONE-TWO/(exp(TWO*f)+ONE) + ELSIF fSqrtInfinity*HALF THEN l.ErrorHandler(HypInvTrigClipped); + IF x>ZERO THEN RETURN ln(SqrtInfinity) ELSE RETURN -ln(SqrtInfinity) END; + ELSIF xSqrtInfinity*HALF THEN l.ErrorHandler(HypInvTrigClipped); RETURN ln(SqrtInfinity) + ELSE RETURN ln(x+sqrt(x*x-ONE)) + END +END arccosh; + +PROCEDURE arctanh* (x: REAL): REAL; +(* arctanh(x) is the arc hyperbolic tangent of x. |x| < 1 - sqrt(em), where + em is machine epsilon. Note that |x| must not be so close to 1 that the + result is less accurate than half precision. *) + CONST TanhLimit=0.999984991; (* Tanh(5.9) *) + VAR t: REAL; +BEGIN t:=ABS(x); + IF (t>=ONE) OR (t>(ONE-TWO*em)) THEN l.ErrorHandler(IllegalHypInvTrig); + IF xTanhLimit THEN l.ErrorHandler(LossOfAccuracy) + END; + RETURN arcsinh(x/sqrt(ONE-x*x)) +END arctanh; + +BEGIN + (* determine some fundamental constants used by hyperbolic trig functions *) + em:=l.ulp(ONE); + LnInfinity:=ln(huge); + LnSmall:=ln(miny); + SqrtInfinity:=sqrt(huge); + t:=l.pred(ONE)/sqrt(em); TanhMax:=ln(t+sqrt(t*t+ONE)); + + (* initialize some tables for the power() function a1[i]=2**((1-i)/16) *) + a1[1] :=ONE; + a1[2] :=S.VAL(REAL, 3F75257DH); + a1[3] :=S.VAL(REAL, 3F6AC0C7H); + a1[4] :=S.VAL(REAL, 3F60CCDFH); + a1[5] :=S.VAL(REAL, 3F5744FDH); + a1[6] :=S.VAL(REAL, 3F4E248CH); + a1[7] :=S.VAL(REAL, 3F45672AH); + a1[8] :=S.VAL(REAL, 3F3D08A4H); + a1[9] :=S.VAL(REAL, 3F3504F3H); + a1[10]:=S.VAL(REAL, 3F2D583FH); + a1[11]:=S.VAL(REAL, 3F25FED7H); + a1[12]:=S.VAL(REAL, 3F1EF532H); + a1[13]:=S.VAL(REAL, 3F1837F0H); + a1[14]:=S.VAL(REAL, 3F11C3D3H); + a1[15]:=S.VAL(REAL, 3F0B95C2H); + a1[16]:=S.VAL(REAL, 3F05AAC3H); + a1[17]:=HALF; + + (* a2[i]=2**[(1-2i)/16] - a1[2i]; delta resolution *) + a2[1]:=S.VAL(REAL, 31A92436H); + a2[2]:=S.VAL(REAL, 336C2A95H); + a2[3]:=S.VAL(REAL, 31A8FC24H); + a2[4]:=S.VAL(REAL, 331F580CH); + a2[5]:=S.VAL(REAL, 336A42A1H); + a2[6]:=S.VAL(REAL, 32C12342H); + a2[7]:=S.VAL(REAL, 32E75624H); + a2[8]:=S.VAL(REAL, 32CF9890H) +END oocRealMath. diff --git a/voc b/voc index fa4f569630633bf18b885d2dba015044a9039f7a..eb7855c3da28b25bac66fa2b1632c6523dc6b801 100755 GIT binary patch delta 30841 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 delta 30876 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%0Dxe(aUWNwW6HpiDS*9Ff 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 NhwrG7AMwi9{|DVW#W(-} diff --git a/vocstatic b/vocstatic index fa4f569630633bf18b885d2dba015044a9039f7a..eb7855c3da28b25bac66fa2b1632c6523dc6b801 100755 GIT binary patch delta 30841 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 delta 30876 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%0Dxe(aUWNwW6HpiDS*9Ff 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 NhwrG7AMwi9{|DVW#W(-}