Commit c4b065ae by kollo

actual status of the package from 2015-10

parent 4206f5fd
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>Index of /examples/3D-graphics</TITLE>
</HEAD>
<BODY>
<H1>Index of /examples/3D-graphics</H1>
<HR>
<pre>
<A HREF="../">Parent Directory</A>
10k 1993-08-10 <A HREF="3Dshow.bas">3Dshow.bas</A> calculates and draws 3 dimentional Objects<A HREF="../../screenshots/3Dshow.png">(Screenshot)</A>
3k 1990-08-10 <A HREF="wkug.bas">wkug.bas</A> Calculates Surfaces of two hollow Balls and saves it into a file
</PRE><HR>
</BODY></HTML>
......@@ -6,10 +6,13 @@
'
' latest modified: 2011-08-10 for X11-Basic V.1.18
' latest modified: 2013-03-10 for X11-Basic V.1.20
' latest modified: 2015-04-06 for X11-Basic V.1.23
'
DIM pxU(4),pyU(4)
IF SENSOR?>0 ! is probably an Android device
IF ANDROID? ! is probably an Android device
imgpath$="/storage/tmp/"
ELSE IF WIN32?
imgpath$="C:/"
ELSE
imgpath$="/tmp/"
ENDIF
......@@ -86,8 +89,8 @@ lichtb=65535
COLOR rot,schwarz
DIM film$(75)
WHILE EXIST(imgpath$+"bild"+STR$(bildcount,3,3,1)+".xpm")
OPEN "I",#1,imgpath$+"bild"+STR$(bildcount,3,3,1)+".xpm"
WHILE EXIST(imgpath$+"bild"+STR$(bildcount,3,3,1)+".bmp")
OPEN "I",#1,imgpath$+"bild"+STR$(bildcount,3,3,1)+".bmp"
t$=SPACE$(LOF(#1))
BGET #1,VARPTR(t$),LEN(t$)
CLOSE #1
......@@ -138,11 +141,17 @@ DO
TEXT 400,130,STR$(sortzeit)
TEXT 400,150,STR$(plotzeit)
COLOR schwarz
PBOX 400,170,400+4*50,178
PBOX 400,190,400+10*20,198
COLOR gelb
PBOX 400,170,400+sortzeit*50,178
PBOX 400,190,400+plotzeit*20,198
COLOR weiss
BOX 400,170,400+4*50,178
BOX 400,190,400+10*20,198
SHOWPAGE
SAVEWINDOW imgpath$+"bild"+STR$(bildcount,3,3,1)+".xpm"
SAVEWINDOW imgpath$+"bild"+STR$(bildcount,3,3,1)+".bmp"
INC bildcount
EXIT IF stwink>2*pi
LOOP
......@@ -315,7 +324,7 @@ PROCEDURE plot
LINE @kx(x1,y1,i),@ky(x1,y1,i),@kx(x1,y2,i),@ky(x1,y2,i)
LINE @kx(x1,y2,i),@ky(x1,y2,i),@kx(x2,y2,i),@ky(x2,y2,i)
NEXT i
COLOR gelb
COLOR gelb,grau
TEXT 20,20,"3D - Flaechengrafik mit X11-Basic (c) Markus Hoffmann"
COLOR schwarz
LINE @kx(x1,y1,0),@ky(x1,y1,0),@kx(x1,y2,0),@ky(x1,y2,0)
......@@ -367,9 +376,8 @@ PROCEDURE plot
PRINT "Plotted in ";ROUND(TIMER-plottime);" sec."
RETURN
'
FUNCTION f(x,y)
RETURN 0.8*EXP(-2*(x^2+y^2))*COS((x^2+y^2)*10)
endfunc
DEFFN f(x,y)=0.8*EXP(-2*(x^2+y^2))*COS((x^2+y^2)*10)
' Koordinatentransformationen mit Perspektive:
FUNCTION kx(x,y,z)
LOCAL xx
......
......@@ -2,7 +2,11 @@
' (maybe also useful for the coldfire architecture)
'
'
' still buggy
' still buggy and unfinished.
' Last modification 2015-04-06 X11-Basic 1.23
inputfile$="/work/CDs/ATARI-ST_v_2/atari/disks/Projekte/sp_sek/sp-sek.q/rdskatom.b"
DIM bef$(400),mask%(400),typ$(400),txt$(400),cmp%(400)
DIM symbol%(1000)
......@@ -36,7 +40,8 @@ size$()=["size0","b","l","w"]
print "read ";i%;" commands."
anzu=i%
'
OPEN "I",#1,"/work/CDs/ATARI-ST_v_2/atari/disks/Projekte/sp_sek/sp-sek.q/rdskatom.b"
' Read some 68000 binary file
OPEN "I",#1,inputfile$
memory$=INPUT$(#1,LOF(#1))
CLOSE #1
......@@ -44,6 +49,8 @@ pcl=VARPTR(memory$) !+28
memlen=len(memory$)
memdump pcl,memlen
'
PRINT "; output of 68000dis.bas"
PRINT "; File: "+inputfile$
DO
pcsl=pcl
ccc%=@DPEEK(pcl)
......@@ -88,15 +95,15 @@ DO
ELSE IF tf$="Size1"
replace$=size$(ABS(al=1)*2+0)
ELSE IF tf$="PCrel"
replace$="L"+HEX$(pcl+al,8,8)
replace$="L"+HEX$(pcl+al,8)
ELSE IF tf$="S8"
IF ABS(BYTE(al))>15
replace$="$"+HEX$(BYTE(al),2,2)
replace$="$"+HEX$(BYTE(al),2)
ELSE
replace$=STR$(BYTE(al))
ENDIF
ELSE IF tf$="SI"
replace$="$"+HEX$(@DPEEK(pcl),4,4)
replace$="$"+HEX$(@DPEEK(pcl),4)
ADD pcl,2
ADD bll,2
ELSE IF tf$="SI32"
......@@ -104,11 +111,11 @@ DO
ADD pcl,4
ADD bll,4
ELSE IF tf$="SI16" or tf$="SI8"
replace$=HEX$(@DPEEK(pcl),4,4)
replace$=HEX$(@DPEEK(pcl),4)
ADD pcl,2
ADD bll,2
ELSE IF tf$="PCrel16"
replace$="L"+HEX$(pcl+@DPEEK(pcl),8,8)
replace$="L"+HEX$(pcl+@DPEEK(pcl),8)
ADD pcl,2
ADD bll,2
ELSE IF tf$="Q3"
......@@ -116,7 +123,7 @@ DO
ELSE IF tf$="U4"
replace$=STR$(al)
ELSE IF tf$="U12"
replace$="$"+HEX$(al,4,4)
replace$="$"+HEX$(al,4)
ELSE
PRINT car$''tf$''al
replace$="EEE"+STR$(al)
......@@ -125,14 +132,14 @@ DO
posl=INSTR(t$,"$",posl+LEN(replace$))
' print posl,t$
WEND
PRINT "$"+HEX$(pcl,8,8)''
PRINT "$"+HEX$(pcl,8)''
if @is_symbol(pcl)
PRINT "L"+HEX$(pcl,8,8)+": ";
PRINT "L"+HEX$(pcl,8)+": ";
else
print space$(10);
endif
FOR hl=pcsl TO pcsl+bll-2 STEP 2
PRINT HEX$(@DPEEK(hl),4,4);
PRINT HEX$(@DPEEK(hl),4);
NEXT hl
PRINT SPACE$(2*(10-bll))+t$
flb=TRUE
......@@ -141,16 +148,16 @@ DO
NEXT iu
IF NOT flb
CLR flb
PRINT "$"+HEX$(pcl,8,8)''
PRINT "$"+HEX$(pcl,8)''
if @is_symbol(pcl)
PRINT "L"+HEX$(pcl,8,8)+": ";
PRINT "L"+HEX$(pcl,8)+": ";
else
print space$(10);
endif
FOR hl=pcsl TO pcsl+bll-2 STEP 2
PRINT HEX$(@DPEEK(hl),4,4);
PRINT HEX$(@DPEEK(hl),4);
NEXT hl
PRINT ,"DC.W $"+HEX$(ccc%,4,4)
PRINT ,"DC.W $"+HEX$(ccc%,4)
ENDIF
exit if pcl-varptr(memory$)>memlen
LOOP
......@@ -230,10 +237,10 @@ PROCEDURE bitschiebe
ENDIF
RETURN
PROCEDURE linef
dis$="DC.W $"+HEX$(cu,4,4)+" ; LINE-F"
dis$="DC.W $"+HEX$(cu,4)+" ; LINE-F"
RETURN
PROCEDURE linea
dis$="DC.W $"+HEX$(cu,4,4)+" ; LINE-A"
dis$="DC.W $"+HEX$(cu,4)+" ; LINE-A"
RETURN
'
'
......@@ -288,7 +295,7 @@ FUNCTION ea$(wu)
IF ABS(@DPEEK(pcl-2))<256
RETURN STR$(@DPEEK(pcl-2))+"(A"+STR$(wu AND 7)+")"
ELSE
RETURN "$"+HEX$(@DPEEK(pcl-2),4,4)+"(A"+STR$(wu AND 7)+")"
RETURN "$"+HEX$(@DPEEK(pcl-2),4)+"(A"+STR$(wu AND 7)+")"
ENDIF
CASE 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37
ADD bll,2
......@@ -298,17 +305,17 @@ FUNCTION ea$(wu)
ADD bll,2
ADD pcl,2
@add_symbol(@dpeek(pcl-2))
RETURN "$"+HEX$(@dpeek(pcl-2),4,4)+".s"
RETURN "$"+HEX$(@dpeek(pcl-2),4)+".s"
CASE 0x39
ADD bll,4
ADD pcl,4
@add_symbol(@lpeek(pcl-4))
RETURN "$"+HEX$(@lpeek(pcl-4),8,8)
RETURN "$"+HEX$(@lpeek(pcl-4),8)
CASE 0x3a
ADD bll,2
ADD pcl,2
@add_symbol(pcl-2+@dpeek(pcl-2))
RETURN "L"+HEX$(pcl-2+@dpeek(pcl-2),8,8)+"(pc)"
RETURN "L"+HEX$(pcl-2+@dpeek(pcl-2),8)+"(pc)"
CASE 0x3b
ADD bll,2
ADD pcl,2
......@@ -439,9 +446,9 @@ function value$(val%)
return "#"+str$(val%)
endif
if val%>0 AND val%<=0xffff
return "#$"+hex$(val%,4,4)
return "#$"+hex$(val%,4)
endif
return "#$"+hex$(val%,8,8)
return "#$"+hex$(val%,8)
endfunction
'
......
......@@ -46,7 +46,7 @@ WHILE adr<>-1
~FORM_CENTER(adr,x,y,w,h) ! Center the tree on the screen and get its coordinates
~FORM_DIAL(0,x,y,w,h,x,y,w,h) ! save the background
~FORM_DIAL(1,x,y,w,h,x,y,w,h) !
~OBJC_DRAW(adr,0,-1,0,0) ! Draw the object tree
~OBJC_DRAW(adr,0,-1,0,0,w,h) ! Draw the object tree
ret=FORM_DO(adr) ! Manage User input
~FORM_DIAL(2,x,y,w,h,x,y,w,h) !
~FORM_DIAL(3,x,y,w,h,x,y,w,h) ! Restore the screen background
......
......@@ -134,14 +134,14 @@ PROCEDURE header(a)
ELSE
PRINT "ERROR: Unknown RSC Version ";rscver
ENDIF
PRINT #2," Objadr =$";HEX$(objadr,8,8,1);" # Adresse Object-Array"
PRINT #2," Tedinfoadr=$";HEX$(tedinfoadr,8,8,1);" # Adresse TEDINFO-Array"
PRINT #2," Iconblkadr=$";HEX$(iconblkadr,8,8,1);" # Adresse ICONBLK-Array"
PRINT #2," Bitblkadr =$";HEX$(bitblkadr,8,8,1);" # Adresse BITBLK-Array"
PRINT #2," Frstradr =$";HEX$(frstradr,8,8,1);" # Adresse FreeString-Table"
PRINT #2," Imdataadr =$";HEX$(imdataadr,8,8,1);" # Adresse Imagedata"
PRINT #2," Frimgadr =$";HEX$(frimgadr,8,8,1);" # Adresse Freeimage-Table"
PRINT #2," Treeadr =$";HEX$(treeadr,8,8,1);" # Adresse Tree-Table"
PRINT #2," Objadr =$";HEX$(objadr,8);" # Adresse Object-Array"
PRINT #2," Tedinfoadr=$";HEX$(tedinfoadr,8);" # Adresse TEDINFO-Array"
PRINT #2," Iconblkadr=$";HEX$(iconblkadr,8);" # Adresse ICONBLK-Array"
PRINT #2," Bitblkadr =$";HEX$(bitblkadr,8);" # Adresse BITBLK-Array"
PRINT #2," Frstradr =$";HEX$(frstradr,8);" # Adresse FreeString-Table"
PRINT #2," Imdataadr =$";HEX$(imdataadr,8);" # Adresse Imagedata"
PRINT #2," Frimgadr =$";HEX$(frimgadr,8);" # Adresse Freeimage-Table"
PRINT #2," Treeadr =$";HEX$(treeadr,8);" # Adresse Tree-Table"
PRINT #2," nObj =";nobj
PRINT #2," nTree =";ntree
PRINT #2," nTed =";ntedinfo
......@@ -174,7 +174,7 @@ PROCEDURE doobj(idx,parent)
obspec=@lswap(LPEEK(treestart+idx*24+12))
obflags=@dswap(DPEEK(treestart+idx*24+8))
obstate=@dswap(DPEEK(treestart+idx*24+10))
print #2,space$(spaces*2);"OB_"+str$(idx)+": ";
print #2,SPACE$(spaces*2);"OB_"+STR$(idx)+": ";
if obtype=20
typ$="BOX"
else if obtype=21
......@@ -258,26 +258,26 @@ PROCEDURE doobj(idx,parent)
ychar=@dswap(DPEEK(iconblk+16))
if char AND 255
PRINT #2,", CHAR='";CHR$(char);"'";
PRINT #2,", XCHAR=";str$(xchar);
PRINT #2,", YCHAR=";str$(ychar);
PRINT #2,", XCHAR=";STR$(xchar);
PRINT #2,", YCHAR=";STR$(ychar);
ENDIF
print #2,", TEXT="+ENCLOSE$(text$);
xicon=@dswap(DPEEK(iconblk+18))
yicon=@dswap(DPEEK(iconblk+20))
wicon=@dswap(DPEEK(iconblk+22))
hicon=@dswap(DPEEK(iconblk+24))
print #2,", XICON=";str$(xicon);
print #2,", YICON=";str$(yicon);
print #2,", WICON=";str$(wicon);
print #2,", HICON=";str$(hicon);
print #2,", XICON=";STR$(xicon);
print #2,", YICON=";STR$(yicon);
print #2,", WICON=";STR$(wicon);
print #2,", HICON=";STR$(hicon);
xtext=@dswap(DPEEK(iconblk+26))
ytext=@dswap(DPEEK(iconblk+28))
wtext=@dswap(DPEEK(iconblk+30))
htext=@dswap(DPEEK(iconblk+32))
print #2,", XTEXT=";str$(xtext);
print #2,", YTEXT=";str$(ytext);
print #2,", WTEXT=";str$(wtext);
print #2,", HTEXT=";str$(htext);
print #2,", XTEXT=";STR$(xtext);
print #2,", YTEXT=";STR$(ytext);
print #2,", WTEXT=";STR$(wtext);
print #2,", HTEXT=";STR$(htext);
mask$=@inlineconv$(VARPTR(rsc$)+@lswap(LPEEK(iconblk)),hicon*wicon/16*2)
data$=@inlineconv$(VARPTR(rsc$)+@lswap(LPEEK(iconblk+4)),hicon*wicon/16*2)
PRINT #2,", DATA="+ENCLOSE$(data$);
......@@ -285,12 +285,12 @@ PROCEDURE doobj(idx,parent)
ELSE
char=ASC(RIGHT$(MKL$(obspec)))
framesize=asc(mid$(mkl$(obspec),3,1))
color=asc(mid$(mkl$(obspec),2,1))
rest=asc(mid$(mkl$(obspec),1,1))
framecol=color AND (255 xor 15)/16
framesize=ASC(MID$(MKL$(obspec),3,1))
color=ASC(MID$(MKL$(obspec),2,1))
rest=ASC(MID$(MKL$(obspec),1,1))
framecol=color AND (255 XOR 15)/16
textcol=color AND 15
pattern=rest AND (255 xor 15)/16
pattern=rest AND (255 XOR 15)/16
textmode=(pattern AND 8)/8
pattern=pattern AND 7
bgcol=rest AND 15
......@@ -412,7 +412,7 @@ FUNCTION getchar$(a)
LOOP
RETURN t$
ENDFUNC
DEFFN dswap(v)=(v AND 255)*256+(v AND (65535 xor 255))/256
DEFFN dswap(v)=(v AND 255)*256+(v AND (65535 XOR 255))/256
DEFFN lswap(v)=CVL(REVERSE$(MKL$(v)))
FUNCTION inlineconv$(adr,l)
LOCAL t$,a$,ll
......
Speed comparison for X11-Basic by Markus Hoffman
=================================================
The C-whetstone program gives 620 MWIPS for the test machine.
X11-Basic Version 1.22-93
interpreted bytecode native comp
MWIPS= 1.9241 34.805 (18x)
MFLOPS1= 0.1698 3.909 (23x)
MFLOPS2= 0.1652 4.120 (25x)
MFLOPS3= 0.3455 6.710 (19x)
COSMOPS= 0.3186 7.243 (23x)
EXPMOPS= 0.2953 7.003 (24x)
FIXPMOPS= 0.4259 8.833 (21x)
IFMOPS= 0.1721 4.183 (24x)
EQMOPS= 0.1881 2.004 (11x)
Statically linked xbasic:
interpreted bytecode native comp
MWIPS= 3.8198 (1.99x) 65.079 107.016 (56x)
MFLOPS1= 0.3379 7.215 10.028 (59x)
MFLOPS2= 0.3227 7.145 10.078 (61x)
MFLOPS3= 0.6463 13.610 29.545 (86x)
COSMOPS= 0.5974 9.899 11.648 (37x)
EXPMOPS= 0.6080 13.523 20.620 (70x)
FIXPMOPS= 0.8117 17.327 36.679 (86x)
IFMOPS= 0.3536 8.031 23.700 (138x)
EQMOPS= 0.4247 3.671 4.858 (26x)
X11-Basic Version 1.22-94
interpreted bytecode native comp
MWIPS= 3.2966 (1.7x) 54.312 (16x,1.6x) 105.938 (32x)
MFLOPS1= 0.3010 (1.8x) 6.265 (21x) 8.968 (30x)
MFLOPS2= 0.2948 (1.8x) 6.271 (21x) 8.631 (30x)
MFLOPS3= 0.5579 (1.6x) 11.256 (20x) 34.647 (62x)
COSMOPS= 0.5699 (1.8x) 8.619 (15x) 11.034 (19x)
EXPMOPS= 0.5586 (1.9x) 11.143 (20x) 21.759 (39x)
FIXPMOPS= 0.7107 (1.7x) 13.898 (20x) 36.263 (51x)
IFMOPS= 0.2856 (1.7x) 7.066 (25x) 33.765 (118x)
EQMOPS= 0.3492 (1.9x) 3.009 ( 9x) 4.606 (13x)
static:
MWIPS= 3.7200 (1.12x,0.97x) 67.316 119.463 ( 36x,1.12x)
MFLOPS1= 0.3433 7.095 10.169 (,1.01x)
MFLOPS2= 0.3318 6.983 10.110 (,1.00x)
MFLOPS3= 0.6284 14.993 45.507 ( 82x,1.54x)
COSMOPS= 0.5828 9.890 11.905 (,1.02x)
EXPMOPS= 0.5942 13.885 21.341 (,1.03x)
FIXPMOPS= 0.7684 18.417 39.744 (,1.08x)
IFMOPS= 0.3493 8.624 38.260 (133x,1.61x)
EQMOPS= 0.4040 3.664 4.952 (,1.08x)
X11-Basic Version 1.23-17
interpreted bytecode native comp
MWIPS= 2.7756
MFLOPS1= 0.2983
MFLOPS2= 0.2908
MFLOPS3= 0.5391
COSMOPS= 0.1903
EXPMOPS= 0.1483
FIXPMOPS= 0.6486
IFMOPS= 0.3083
EQMOPS= 0.3259
static:
MWIPS= 3.1196
MFLOPS1= 0.3209
MFLOPS2= 0.3191
MFLOPS3= 0.6281
COSMOPS= 0.1972 < parser ist langsamer, verm. wegen arbint
EXPMOPS= 0.1601
FIXPMOPS= 0.7235
IFMOPS= 0.3413
EQMOPS= 0.3903
......@@ -180,12 +180,14 @@
PRINT "Calibrating Whetstone Benchmark"
PRINT
PRINT "12345678 modules"
PRINT "12345678 modules";chr$(13);
flush
DO ! calculate loops per second
TimeUsed=0
@Whetstones
PRINT
PRINT TimeUsed;" seconds ";ixtra; "Passes (x 100)"
PRINT using$(TimeUsed,"###.##");" seconds ";ixtra; "Passes (x 100) --> ";
FLUSH
calibrate=calibrate+1
icount=icount-1
IF TimeUsed>2
......@@ -201,9 +203,8 @@
ENDIF
IF ixtra<1
ixtra=1
endif
PRINT
PRINT ixtra;" passes used (x 100)"
endif
PRINT using$(ixtra,"####.##");" passes used (x 100)"
PRINT
calibrate=0
......@@ -211,7 +212,7 @@
PRINT "X11-Basic Whetstone Benchmark - Single Precision"
PRINT
PRINT "Loop content";TAB(28);"Result";
PRINT " MFLOPS MOPS Seconds"
PRINT " MFLOPS/MOPS Seconds"
PRINT
TimeUsed=0
Check=0
......@@ -271,19 +272,19 @@
PRINT results(section);
IF ops(section)=999999
PRINT " : flops=";
PRINT flops(section);
PRINT using$(flops(section),"###.###");
ELSE
PRINT " : ops=";
PRINT ops(section);
PRINT using$(ops(section),"###.###");
ENDIF
PRINT " : xtime=";
PRINT xtime(section)
NEXT section
skip:
PRINT " "
PRINT "MWIPS=";wips;
PRINT " : TimeUsed=";TimeUsed
PRINT " "
PRINT color(41,37);"MWIPS=";wips;
PRINT " : TimeUsed=";using$(TimeUsed,"###.# s")
PRINT color(0);" "
PRINT "Results to load to spreadsheet:"
PRINT "MWIPS= ";wips
PRINT "MFLOPS1= ";flops(1)
......@@ -391,16 +392,16 @@ procedure Whetstones
' MODULE 4 - INTEGER ARITHMETIC
stime=TIMER
j=1
k=2
l=3
j%=1
k%=2
l%=3
FOR ix=1 TO ixtra
FOR i=1 TO n4
j=j*(k-j)*(l-k)
k=l*k-(l-j)*k
l=(l-k)*(k+j)
e(l-1)=j+k+l
e(k-1)=j*k*l
j%=j%*(k%-j%)*(l%-k%)
k%=l%*k%-(l%-j%)*k%
l%=(l%-k%)*(k%+j%)
e(l%-1)=j%+k%+l%
e(k%-1)=j%*k%*l%
NEXT i
NEXT ix
checsum=e(2)+e(1)
......@@ -489,29 +490,29 @@ RETURN ! END OF MAIN ROUTINE
PROCEDURE PA
j=0
DO
e(1)=(e(1)+e(2)+e(3)-e(4))*t
e(2)=(e(1)+e(2)-e(3)+e(4))*t
e(3)=(e(1)-e(2)+e(3)+e(4))*t
e(4)=(-e(1)+e(2)+e(3)+e(4))/t2
j=j+1
exit if j>=6
LOOP
j=0
DO
e(1)=(e(1)+e(2)+e(3)-e(4))*t
e(2)=(e(1)+e(2)-e(3)+e(4))*t
e(3)=(e(1)-e(2)+e(3)+e(4))*t
e(4)=(-e(1)+e(2)+e(3)+e(4))/t2
j=j+1
exit if j>=6
LOOP
RETURN
PROCEDURE P0
e(j)=e(k)
e(k)=e(l)
e(l)=e(j)
e(j)=e(k)
e(k)=e(l)
e(l)=e(j)
RETURN
PROCEDURE P3
X=Y
Y=Z
X=t*(X+Y)
Y=t1*(X+Y)
Z=(X+Y)/t2
X=Y
Y=Z
X=t*(X+Y)
Y=t1*(X+Y)
Z=(X+Y)/t2
RETURN
PROCEDURE Pout
......@@ -519,30 +520,28 @@ PROCEDURE Pout
xtime(section)=rtime
heading$(section)=title$
TimeUsed=TimeUsed+rtime
IF rtime<=0
smflops=0
smflops=0
ELSE
smflops=ixtra*smflops/(rtime*1000000)
ENDIF
IF calibrate=1
results(section)=checsum