From 2ab3758ada6796947ad6f9d3c89ad1544db3cf14 Mon Sep 17 00:00:00 2001 From: Norayr Chilingarian Date: Fri, 18 Oct 2013 17:34:26 +0400 Subject: [PATCH] fixed Reals.Mod, see comments there, git rid of libc dependency, becaus ecvt call caused crash when running ./showdef oocLowLReal.sym file. added oocLowReal.Mod and oocLowLReal.Mod Former-commit-id: c9ebc5174d3778614350e90bfc2eab2723a338f3 --- 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 208976 -> 208830 bytes showdef.REMOVED.git-id | 2 +- src/lib/ooc/oocLowLReal.Mod | 484 ++++++++++++++++++++++++++++++++++++ src/lib/ooc/oocLowReal.Mod | 387 ++++++++++++++++++++++++++++ src/lib/v4/Reals.Mod | 20 +- voc.REMOVED.git-id | 2 +- vocstatic.REMOVED.git-id | 2 +- 13 files changed, 895 insertions(+), 8 deletions(-) create mode 100644 src/lib/ooc/oocLowLReal.Mod create mode 100644 src/lib/ooc/oocLowReal.Mod diff --git a/makefile b/makefile index 1382a97d..b862560d 100644 --- a/makefile +++ b/makefile @@ -132,6 +132,7 @@ stage6: $(VOCSTATIC) -sP ooc2IntConv.Mod $(VOCSTATIC) -sP ooc2IntStr.Mod $(VOCSTATIC) -sP ooc2Real0.Mod + $(VOCSTATIC) -sP oocLowReal.Mod oocLowLReal.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 adf4893b..1a1b9d70 100644 --- a/makefile.gnuc.armv6j +++ b/makefile.gnuc.armv6j @@ -132,6 +132,7 @@ stage6: $(VOCSTATIC) -sP ooc2IntConv.Mod $(VOCSTATIC) -sP ooc2IntStr.Mod $(VOCSTATIC) -sP ooc2Real0.Mod + $(VOCSTATIC) -sP oocLowReal.Mod oocLowLReal.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 1e0d4646..7e9ce7dc 100644 --- a/makefile.gnuc.armv6j_hardfp +++ b/makefile.gnuc.armv6j_hardfp @@ -132,6 +132,7 @@ stage6: $(VOCSTATIC) -sP ooc2IntConv.Mod $(VOCSTATIC) -sP ooc2IntStr.Mod $(VOCSTATIC) -sP ooc2Real0.Mod + $(VOCSTATIC) -sP oocLowReal.Mod oocLowLReal.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 810d4222..2a7b60bd 100644 --- a/makefile.gnuc.armv7a_hardfp +++ b/makefile.gnuc.armv7a_hardfp @@ -132,6 +132,7 @@ stage6: $(VOCSTATIC) -sP ooc2IntConv.Mod $(VOCSTATIC) -sP ooc2IntStr.Mod $(VOCSTATIC) -sP ooc2Real0.Mod + $(VOCSTATIC) -sP oocLowReal.Mod oocLowLReal.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 4e8bf28a..c6b7ebf8 100644 --- a/makefile.gnuc.x86 +++ b/makefile.gnuc.x86 @@ -132,6 +132,7 @@ stage6: $(VOCSTATIC) -sP ooc2IntConv.Mod $(VOCSTATIC) -sP ooc2IntStr.Mod $(VOCSTATIC) -sP ooc2Real0.Mod + $(VOCSTATIC) -sP oocLowReal.Mod oocLowLReal.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 1382a97d..b862560d 100644 --- a/makefile.gnuc.x86_64 +++ b/makefile.gnuc.x86_64 @@ -132,6 +132,7 @@ stage6: $(VOCSTATIC) -sP ooc2IntConv.Mod $(VOCSTATIC) -sP ooc2IntStr.Mod $(VOCSTATIC) -sP ooc2Real0.Mod + $(VOCSTATIC) -sP oocLowReal.Mod oocLowLReal.Mod $(VOCSTATIC) -sP oocwrapperlibc.Mod $(VOCSTATIC) -sP ulmSYSTEM.Mod $(VOCSTATIC) -sP ulmASCII.Mod ulmSets.Mod diff --git a/ocat b/ocat index 993ef40b212ab46f31580f1912fab5751c22b818..443db97c220142719483629c1b62a80cbf397a85 100755 GIT binary patch delta 58874 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 delta 59224 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

4DATsx}9 z8z#OcmR&KXjI~@%KAL`&?Sl5^4r0ug(r}3zL+tp{!M>EDzY(189b824ImCxAFl*(uAfBYHk4 zc@xP;uV|P7R=F`K)4ROJjLSCoHDwCXM`^gFmWA5hxVA*Z2f7Rkn88y^Lcyj32+fDA zn^O{o5}dET0TuKQ56NNH@!9TG1pgbsc{k2|l-BtK=bbd45d8`RkFxkg$=!r_*66jJ z;_-f`1%&0PhaHmK;B`_J_S|RdL%b5dL%e%q8w*uOO`ciFXF++$QdlmhF5Jd#%gSXuXuD4r) z-T4IeGX!5o^iAgjA2;xT#XCH3rVD>BQUrE~0=xS3?=^s9I@l)~8w$N{VTSV-q;DwQ z2Z-KUZb}rVyPoKmKIjL&0XUCH?bII>fv@)B2;nV^V0QA$@MMB}nh59!a8!srXG1Hb zf8B|my%1|YAm18D2=+U6zOszz7ZW_cNyEH~;Ovi>>DL21fSU3x zP-P@w8z2zQ7j|*k-bsu`G!d{D;8=#5_Gk|iAHF}E%g`}`PaWpR^n=p{5`2je?CjS` zdFgCPdA!fBDZ>dK3vetGyw=Dm%Ov_uHHIFKS>X@e;9$bo1H~3G$sk4$qmm{mn?VuS zQ_X)IhJFFj`CY%l$4W1 z&#SsDNkV-=leBN5Sqp$e(#Kltk)@Crr5HrRbw@7}Je%OWO{Fb;ZF5LKRuch3kX|RT z2;X2J)wDlYN*vi~36E#z5q#6Der=2`qygUPh)KEHq~&^s=y?xW2QuL+1|DVcUd8!T zv)@xW9y`YI72>sqCy4`JXAEN@{ljC>SU%Vr@i2m;*C*6uZj<7X2ymq5yJs_qz9YeT z)7Bx%&6^E8V6mfxAr#>b62Kb;I5#H|JhqA81q9zrrs2}E+z4nmG<*l~M<<4;sJUJg zDqS8SULZ!kCIWU6oV{mKmRP$9&b}?VNAWEQ;Jcf1i2n(K^O<5T7c2dbgy0+PswuDF zq`%g*|BZgl;vg}K061pB;wGK8RHA2}u+hY)3&D9;>p)7u%>d6vQ?Sz-HzD#V0&jL& z6KW(EAzYW5nMA?PxO!8}g#-`%(5Re6Dz79sU%=Ok;A;VnNm<^+=KmskKE%vjgbxfo zSdG%orQ>Ugz&;Ib=MFImsAys==sjIp=(!vf4!~qP= zckqMY#I`5e5lxzf>xiB&V0eIx(3jv5m4;6~!3PsOxvhb}Px*Pbfd?!;EX;ND9zdXy zepO^xP_EohjQFz3Iufv$;Jhhw6d7#|^J$WRtpv~2aL5F<+S|m4_paYX0={HMYm7pl z5F8KBqVL44R6jw?<2ccmH7O3i5r4kFT+b4Kd@Brk+L#6G!haN*D4F1V8NkaV26y5i zJ#UkB5PdGe*?Td}bLroBg7c_!q&K iR*F`3Ux)18y)q}>exg|jZv9X>X?Aqwx2bk*`2PbVnf@*S diff --git a/showdef.REMOVED.git-id b/showdef.REMOVED.git-id index 7013fcbc..8def490d 100644 --- a/showdef.REMOVED.git-id +++ b/showdef.REMOVED.git-id @@ -1 +1 @@ -6c2495d4cb8fe87ff3e48b6638dbd330de9f64ea \ No newline at end of file +fdd63e86437d5144b706952e0eacff1129b2fa9f \ No newline at end of file diff --git a/src/lib/ooc/oocLowLReal.Mod b/src/lib/ooc/oocLowLReal.Mod new file mode 100644 index 00000000..0a15f6dd --- /dev/null +++ b/src/lib/ooc/oocLowLReal.Mod @@ -0,0 +1,484 @@ +(* $Id: LowLReal.Mod,v 1.6 1999/09/02 13:15:35 acken Exp $ *) +MODULE oocLowLReal; + +(* + LowLReal - Gives access to the underlying properties of the type LONGREAL + for IEEE double-precision numbers. + Copyright (C) 1996 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 Low := oocLowReal, S := SYSTEM; + +(* + + Real number properties are defined as follows: + + radix--The whole number value of the radix used to represent the + corresponding read number values. + + places--The whole number value of the number of radix places used + to store values of the corresponding real number type. + + expoMin--The whole number value of the exponent minimum. + + expoMax--The whole number value of the exponent maximum. + + large--The largest value of the corresponding real number type. + + small--The smallest positive value of the corresponding real number + type, represented to maximal precision. + + IEC559--A Boolean value that is TRUE if and only if the implementation + of the corresponding real number type conforms to IEC 559:1989 + (IEEE 754:1987) in all regards. + + NOTES + 6 -- If `IEC559' is TRUE, the value of `radix' is 2. + 7 -- If LowReal.IEC559 is TRUE, the 32-bit format of IEC 559:1989 + is used for the type REAL. + 7 -- If LowLong.IEC559 is TRUE, the 64-bit format of IEC 559:1989 + is used for the type REAL. + + LIA1--A Boolean value that is TRUE if and only if the implementation of + the corresponding real number type conforms to ISO/IEC 10967-1:199x + (LIA-1) in all regards: parameters, arithmetic, exceptions, and + notification. + + rounds--A Boolean value that is TRUE if and only if each operation produces + a result that is one of the values of the corresponding real number + type nearest to the mathematical result. + + gUnderflow--A Boolean value that is TRUE if and only if there are values of + the corresponding real number type between 0.0 and `small'. + + exception--A Boolean value that is TRUE if and only if every operation that + attempts to produce a real value out of range raises an exception. + + extend--A Boolean value that is TRUE if and only if expressions of the + corresponding real number type are computed to higher precision than + the stored values. + + nModes--The whole number value giving the number of bit positions needed for + the status flags for mode control. + +*) + +CONST + radix*= 2; + places*= 53; + expoMax*= 1023; + expoMin*= 1-expoMax; + large*= MAX(LONGREAL); (*1.7976931348623157D+308;*) (* MAX(LONGREAL) *) + (*small*= 2.2250738585072014D-308;*) + small*= 2.2250738585072014/9.9999999999999981D307(*/10^308)*); + IEC559*= TRUE; + LIA1*= FALSE; + rounds*= FALSE; + gUnderflow*= TRUE; (* there are IEEE numbers smaller than `small' *) + exception*= FALSE; (* at least in the default implementation *) + extend*= FALSE; + nModes*= 0; + ONE=1.0D0; (* some commonly-used constants *) + ZERO=0.0D0; + TEN=1.0D1; + + DEBUG = TRUE; + + expOffset=expoMax; + hiBit=19; + expBit=hiBit+1; + nMask={0..hiBit,31}; (* number mask *) + expMask={expBit..30}; (* exponent mask *) + +TYPE + Modes*= SET; + LongInt=ARRAY 2 OF LONGINT; + LongSet=ARRAY 2 OF SET; + +VAR + (*sml* : LONGREAL; tmp: LONGREAL;*) (* this was a test to get small as a variable at runtime. obviously, compile time preferred; -- noch *) + isBigEndian-: BOOLEAN; (* set when target is big endian *) + (* + PROCEDURE power0(i, j : INTEGER) : LONGREAL; (* used to calculate sml at runtime; -- noch *) + VAR k : INTEGER; + p : LONGREAL; + BEGIN + k := 1; + p := i; + REPEAT + p := p * i; + INC(k); + UNTIL k=j; + RETURN p; + END power0; +*) + +(* Errors are handled through the LowReal module *) + +PROCEDURE err*(): INTEGER; +BEGIN + RETURN Low.err +END err; + +PROCEDURE ClearError*; +BEGIN + Low.ClearError +END ClearError; + +PROCEDURE ErrorHandler*(err: INTEGER); +BEGIN + Low.ErrorHandler(err) +END ErrorHandler; + +(* type-casting utilities *) + +PROCEDURE Move (VAR x: LONGREAL; VAR ra: ARRAY OF LONGINT); +(* typecast a LONGREAL to an array of LONGINTs *) + VAR t: LONGINT; +BEGIN + S.MOVE(S.ADR(x),S.ADR(ra),SIZE(LONGREAL)); + IF ~isBigEndian THEN t:=ra[0]; ra[0]:=ra[1]; ra[1]:=t END +END Move; + +PROCEDURE MoveSet (VAR x: LONGREAL; VAR ra: ARRAY OF SET); +(* typecast a LONGREAL to an array of LONGINTs *) + VAR t: SET; +BEGIN + S.MOVE(S.ADR(x),S.ADR(ra),SIZE(LONGREAL)); + IF ~isBigEndian THEN t:=ra[0]; ra[0]:=ra[1]; ra[1]:=t END +END MoveSet; + +(* Note: The below should be done with a type cast -- + once the compiler supports such things. *) +(*<* PUSH; Warnings := FALSE *>*) +PROCEDURE Real * (ra: ARRAY OF LONGINT): LONGREAL; +(* typecast an array of big endian LONGINTs to a LONGREAL *) + VAR t: LONGINT; x: LONGREAL; +BEGIN + IF ~isBigEndian THEN t:=ra[0]; ra[0]:=ra[1]; ra[1]:=t END; + S.MOVE(S.ADR(ra),S.ADR(x),SIZE(LONGREAL)); + RETURN x +END Real; + +PROCEDURE ToReal (ra: ARRAY OF SET): LONGREAL; +(* typecast an array of LONGINTs to a LONGREAL *) + VAR t: SET; x: LONGREAL; +BEGIN + IF ~isBigEndian THEN t:=ra[0]; ra[0]:=ra[1]; ra[1]:=t END; + S.MOVE(S.ADR(ra),S.ADR(x),SIZE(LONGREAL)); + RETURN x +END ToReal; +(*<* POP *> *) + +PROCEDURE exponent*(x: LONGREAL): INTEGER; +(* + The value of the call exponent(x) shall be the exponent value of `x' + that lies between `expoMin' and `expoMax'. An exception shall occur + and may be raised if `x' is equal to 0.0. + *) + VAR ra: LongInt; +BEGIN + (* NOTE: x=0.0 should raise exception *) + IF x=ZERO THEN RETURN 0 + ELSE Move(x, ra); + RETURN SHORT(S.LSH(ra[0],-expBit) MOD 2048)-expOffset + END +END exponent; + +PROCEDURE exponent10*(x: LONGREAL): INTEGER; +(* + The value of the call exponent10(x) shall be the base 10 exponent + value of `x'. An exception shall occur and may be raised if `x' is + equal to 0.0. + *) +VAR exp: INTEGER; +BEGIN + IF x=ZERO THEN RETURN 0 END; (* exception could be raised here *) + exp:=0; x:=ABS(x); + WHILE x>=TEN DO x:=x/TEN; INC(exp) END; + WHILE x<1 DO x:=x*TEN; DEC(exp) END; + RETURN exp +END exponent10; + +PROCEDURE fraction*(x: LONGREAL): LONGREAL; +(* + The value of the call fraction(x) shall be the significand (or + significant) part of `x'. Hence the following relationship shall + hold: x = scale(fraction(x), exponent(x)). +*) + CONST eZero={(hiBit+2)..29}; + VAR ra: LongInt; +BEGIN + IF x=ZERO THEN RETURN ZERO + ELSE Move(x, ra); + ra[0]:=S.VAL(LONGINT, S.VAL(SET,ra[0])*nMask+eZero); + RETURN Real(ra)*2.0D0 + END +END fraction; + +PROCEDURE IsInfinity * (real: LONGREAL) : BOOLEAN; + CONST signMask={0..30}; + VAR ra: LongSet; +BEGIN + MoveSet(real, ra); + RETURN (ra[0]*signMask=expMask) & (ra[1]={}) +END IsInfinity; + +PROCEDURE IsNaN * (real: LONGREAL) : BOOLEAN; + CONST fracMask={0..hiBit}; + VAR ra: LongSet; +BEGIN + MoveSet(real, ra); + RETURN (ra[0]*expMask=expMask) & ((ra[1]#{}) OR (ra[0]*fracMask#{})) +END IsNaN; + +PROCEDURE sign*(x: LONGREAL): LONGREAL; +(* + The value of the call sign(x) shall be 1.0 if `x' is greater than 0.0, + or shall be -1.0 if `x' is less than 0.0, or shall be either 1.0 or + -1.0 if `x' is equal to 0.0. +*) +BEGIN + IF xexpoMax THEN RETURN large*sign(x) (* exception raised here *) + ELSIF exp=TEN DO x:=x/TEN; INC(exp) END; + WHILE (x>ZERO) & (x<1.0) DO x:=x*TEN; DEC(exp) END; + RETURN exp +END exponent10; + +PROCEDURE fraction*(x: REAL): REAL; +(* + The value of the call fraction(x) shall be the significand (or + significant) part of `x'. Hence the following relationship shall + hold: x = scale(fraction(x), exponent(x)). +*) + CONST eZero={(hiBit+2)..29}; +BEGIN + IF x=ZERO THEN RETURN ZERO + ELSE RETURN S.VAL(REAL,(S.VAL(SET,x)*nMask)+eZero)*2.0 (* set the mantissa's exponent to zero *) + END +END fraction; + +PROCEDURE IsInfinity * (real: REAL) : BOOLEAN; + CONST signMask={0..30}; +BEGIN + RETURN S.VAL(SET,real)*signMask=expMask +END IsInfinity; + +PROCEDURE IsNaN * (real: REAL) : BOOLEAN; + CONST fracMask={0..hiBit}; + VAR sreal: SET; +BEGIN + sreal:=S.VAL(SET, real); + RETURN (sreal*expMask=expMask) & (sreal*fracMask#{}) +END IsNaN; + +PROCEDURE sign*(x: REAL): REAL; +(* + The value of the call sign(x) shall be 1.0 if `x' is greater than 0.0, + or shall be -1.0 if `x' is less than 0.0, or shall be either 1.0 or + -1.0 if `x' is equal to 0.0. +*) +BEGIN + IF xexpoMax THEN RETURN large*sign(x) (* exception raised here *) + ELSIF exp= 0 DO d[i] := "0"; DEC(i) END ; END ConvertL; - +*) PROCEDURE Unpack(VAR b, d: ARRAY OF S.BYTE); VAR i, k: SHORTINT; len: LONGINT; BEGIN i := 0; len := LEN(b); diff --git a/voc.REMOVED.git-id b/voc.REMOVED.git-id index dceaf36a..da3d00ff 100644 --- a/voc.REMOVED.git-id +++ b/voc.REMOVED.git-id @@ -1 +1 @@ -c9ceee10d830635889976280eea64e5e92dc2234 \ No newline at end of file +fa4f569630633bf18b885d2dba015044a9039f7a \ No newline at end of file diff --git a/vocstatic.REMOVED.git-id b/vocstatic.REMOVED.git-id index b9365447..da3d00ff 100644 --- a/vocstatic.REMOVED.git-id +++ b/vocstatic.REMOVED.git-id @@ -1 +1 @@ -9cdb3e113e99a63f2f5f5240dcbcea3d535979c1 \ No newline at end of file +fa4f569630633bf18b885d2dba015044a9039f7a \ No newline at end of file