Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

PATCH: 3.1.6-pws-4: floating point support



Here's my first go at floating point support.

It tries to follow ksh93: there are typeset -F and typeset -E type floats,
both actually doubles internally, differing only in the way they are output
(with %f and %e, not surprisingly), and a float builtin (in ksh this was an
alias, but this is a standard difference between ksh and zsh applying to
other aliased builtins too).  Since I'm only going by the manual page,
there could be many other differences.

For other user-visible features, see the manual, but the highlights are:
promotion from integer to floating point is broadly how you would expect;
operators requiring integers silently truncate floating point values (like
perl, but unlike C --- please don't use phrases like `strongly typed'
around here); output via $((...)) instead of individual variables uses %g
with about the largest sensible number of sig figs; undeclared variables
used in math evals are typed by their first assignment (this just extends
the existing behaviour for integers, but there's a gotcha here, see the
manual); scalars used as numbers do not remember their type, e.g.
`f=0; (( f += 0.5 ))' will assign f as a scalar, convert it's value to an
integer, promote that to a float for the addition, then assign back to f as
a float.

Outside an immediate numeric context, such as a $((...)) or a normal array
subscript, there is no special way of telling whether an integer or float
is required.  So if you need an integer but use a float, the decimal point
is liable to get in the way.  But that's inevitable.

Internals: math numbers are passed around as an mnumber.  Unlike most other
structures, this is passed around bodily, not by pointer:  it's only a
union for the number, plus an int for the type, and it's convenient to
be able to treat it like other numeric types.

I've adapted mem.c to align to doubles regardless of the largest integer
type in use.  Unfortunately this hasn't been tested properly, since
--enable-zsh-mem doesn't work here:  it needs trying out with both that
and --disable-lfs which uses 32 bit integers and hence requires some extra
padding.  I'll try to remember to test this next time I compile on a
machine where this works.

begin 0 float.dif.gz
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
M(21=H*3+@xxxxxxxxx,5C2Z=Z)L#7$Y!1/J.^,.&K'+)'>;4>^?[L;:K"1#3
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
M0UCSIM=`(R"MQC^S:F15^)%5`1>S:376LVK@xxxxxxxxxxxxxxxxx+S);/ET
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
M!J/J]<UKF9E6B?,R%[&<J]EV*QD>#^6MA>,'YTR.`7ZM@xxxxx&>#+^!\DX2
MY(&7XL).(_DQFD1%D6$*<'-W4"$'H[(AU*B"_>Z;V22*O:R)+Z/@>PA#VJVH
MA;H?0H:>W(RTYLN;O*[ZQD&?CA8])`P05&2(O%PO!D^*P)NB5G_Z>K846\;P
M^O/NF5K[HB56I&6I/5!HP<9MX-N%3?@N?,%;)K#S:8ASBIF=XHY2+(DY:JM6
MPSEJN[+U^,UWSL5W,*.:W2)<L[G;"$M<?.?<>V<!7N[>.^?:.PM*]K5WS4TB
M?JMNAVAS)ZPIS4[;WP&YVO`J!L?18GG-[(IBJ!AK<?P$3Y@-@3)\4K/:I>:V
MC;3[+=.5VPOKR=WDR`$(P,<+[&I5V5WB?>P5`?FR#TG.Q_9.(/H]>!?X6=Z$
M-^OV91G&P!C;&X-Y;+4SQ0^V+N)I%P9DEMM%RP/$[LCMX[++',_:\=1L,BOS
M![>.Z[!U7-EN-;P@;"[NW1Q9K[8:UKW1FTV\FX$^$C=ACFU/(R][K(TD./DC
MFT:V(WIL+1\#^Q;$)\#3KZ$NG/>DU4"YWL#5`'PVO5'.7CJY='&-#-RUG<SQ
M%NBBR./4DJ(ZI"0/"5/V2?I!-T1&85I#),ZFI+XJ<#1TRN,M(%3&Z$YS6*/2
MK-*=A>I+HZCZVKI1BM?.D`&HC;=^P-4+YDW2/]LFOZ-S`$L6UWK]K7TA6EQ"
MZ=ZY+0VA;"UZ_E+VEL*;J:`6F+LZA[R1K"CM1\,<OL9`$OH-LX;YI>;5:5Y.
M<XL$S1/[')R(PO*7IGE+H3ZO=#V4+1_L<]&&[[B`7TE!'9DWU:>7Y`K3]4(!
MFXH+A;Q32C0#7-9YFZH7RENM6M/5"UC8B3PIMRJ;+;B`5D>>X&VJZO\JR1'P
M$:)G9\.8(F)1(OZ8P<>.=7)#EH3[9.^1BHQGX_%(S>5\XX0;74MW,\8CZ#"`
M%F/\'\#@H.>8U@<03?P=0I\IRGP<=F%1*5ZCGY16!_R.3D]^O3H\EPA?$R=G
MPL*"BH[_*?!%!'!+*H(1,CGNAQ=_%.B(_B%]2F3%.B)"5M),!(\3E,!:7,:*
M<X;$2LM8P>A2&5"]V,D6:)6G))M!4/7+>VL`7/SJSH(G1Y]W.,AO3XEGV*$H
M\F_1D-B*=GMO$*'Y/R76YG0G@T3G7\,*B/_6R36SW4"3:WNK*JJ8S_TI;4IQ
MP+0XQ["\CE+%"A9-9@$:#S3QDPDK=17+LZJ2JJ.JI.KS7-5<MY-15?B9L[?7
M<<JV/`%9E9&Y-%2#E+]4,TC'$,/?QS"^O<!U[:WZELD9T/<,CTV;0(-!N6*N
M;Z(S9EN'S-NR&:S`VCK(K7=@9^,J1TXC.9!)VSQ<HN>6X(A1D&DN<.T6X,T/
M&T28ULBZ5DTX`U#)6[>DYH@N^P!.LGB'*<0MX.WM<BJ%U(Q'(N%%@N#11D1Q
M1WMD435&W"/(H</TH4>,1<&-H:#9!'>^,E,JE6*C[$3`:NE=*8,@L!?N\3\0
M!0L&#IZ57.7GG\MY8R4N#X>'`T*J("09+$^!5+(@D=`BH"JA9"R8QP$YH'!+
M]DL^R'WA=09Q[(?!]X>PX(<9+GD/"J3B64%\:GDZ6W$]1==&[_H>KOT=C.8P
MHX1=O$6Y'\*AEC3",#7/U7N$5$=(=.>S!G4-9\G0`>)#2X7T&T)J/`T2I$:*
MDS@=07H4A+-)O%;U^I#_E980"WE=L."0YK(ZC<<)XO`R8H\M:3ZOZ@=3M9:L
M>KVHJB4J]:5%I>"`$E'Y!TR[B^7%U]+I,N2"-S+46%J&"ADRM+FT#"4AD0QM
M+2U#A509:BXM0V1,@`?Q>J3LW.]X$PJ[G_DPSK"#/^4V=#P8-HG`.PD!]:59
M,!K+S@1F<E/KO(287W[ZQ"AN:125&?DD%!TX)_L''PY/6.8(EO&*Y,+9=*1F
M^6[4S0?Q;:0:N99]DR3;#$[;2^-4R,1I>VF<`E>U<*B,U9\0*8.!,H_]><RZ
MV/WU5P>K:7ASHU!Z_,\#=/#ET^G9!8.JT#P%&9DFTR=`\\7>IH]A+4-@(9W`
M2F5I"@N9%%:7IO#/#Z/+)PVCD\._71[8!+/FZL[&_1[L=<0+D'0A[1X=[IZ[
MW.N.<&M9$1[BL=&>&@=JF0;[.B+%:+DG1X!!J[8T6H5LM&I+H^4.IH^'^P<K
M=I^>CR,U/<&!\=MPWAO-)L%MK]N-\*(_V"SJ9[#KXO!@/[!Q(C-MVI,KDI3!
M6AI#LLW1))AOS#>R"+0PJB^-42$=H\;2&`4<@S,(>T-@'7ECF<]XI50\AI/#
MW1Y<+M6_)XB#`1X$!@3"R<T,EOIQTIY1,[;0!XW@9I1Q^LMQ_8%2B`LY?O[I
M8.]00#405"RLFO7Z:I5L05TLZTK?7!P>PP`G:)NV5/4&Z,Q`-/7]7HN@G1V<
M7YP=[FEEL86X=<(A0%.4J47(\`;7JG`!@UKK=C`+PZ@;I8_#\P-&BY0];)L/
M9XI)M++,_DN@=7SZ>??]$0]#4OC",8[5H5'9I1U'Y-XT;*<!V[V\.%66%2\"
MRDBAF<>HOJ)HYK,J#=;)*7!,_4?`'$T##(+-;AW-0!(A:">EWA*OS:7%JY`E
M7EM+BU=A@7@UEQ:OP@+QVEY:O`JIXE4M+RU>A4SQXEY<1KP*F>)575J\"MGB
M55M>O##,!Z9NGH#9/V748"R)&NB<\TBN,Z7>C(.P#7.=C1<L9A3CKTX_7:C>
M#-;"WL&'W:.SW_JSR?3N\O9BS;0*&_$\W5/[L8ZWH]\*48X2U5HWJRTXS;FF
MFE&MK;&._X":':(CHKLI.`R!M*@?D?*&^"&8-M!+:Q9O$)9)CVTG@UJ+G2B&
M_WWWY.+S[M&YXAYY+3A`NTD1D(U*S=YY,OEN[+P".C7`HW\Z#T#OC^AJ*H?X
M(9\TGF7&.PJ=H*$%(`PN?`EM/,9<`@A$3;>00@O>YO(8[(4GI/6]M5CH&0DI
M&''*+8&8FU1'?!@/LP%1Q@X[Q4J3N.^=;556Y3!4"^65G.Q0!+!L]@_D<H8A
MV%#HC(84JK#1&WI["L%64-YN59NMBK77:)?W-QNW6XV&V5:H-]#!!Q_D..X.
M^RA)`US)BL8:#<:]/GEO:1S]$4-2\J@SFV($RXM@=^]J[^/!WE^OC@[?YSI%
MWCV&\^P%Y]6@"+?<P-H>F_HTB2#0ZOWY?J#4]*"C>K_?:T\@DZ)JZ?P^_AQT
M9A,P%OEQ437;B<:8RJ(332!C#$'B6!P<$;N'7Y"(CY]*EU\4<K@:7/O+[2B>
17HWB-47&B_\!65@Y(]O6``!C
`
end

-- 
Peter Stephenson <pws@xxxxxxxxxxxxxxxxx>       Tel: +39 050 844536
WWW:  http://www.ifh.de/~pws/
Dipartimento di Fisica, Via Buonarroti 2, 56127 Pisa, Italy



Messages sorted by: Reverse Date, Date, Thread, Author