ô > Circle :ô Test floating point calculations in drawing a circle : ( Þ mem% 15 2Û:òcircle(896,640,128,0):à <: F;Ýòcircle(x%,y%,r%,f%):ô X posn, Y posn, Radius, Filled? Pê step,s,c,xp,yp,xr Z0s=-0.19442308762 :ô SIN(2*PI/90+50) d0c=0.9809177653 :ô COS(2*PI/90+50) n5xp=r%:yp=0 :ô Set initial position x;ìx%+xp,y%+yp :ô Move to initial point on edge ‚7ã segment=1 ¸ 31 :ô We'll do 31 segments here Œ=xr=xp*c-yp*s :ô Calculate next point on edge –-ô |mem%=xp*s:PRINT~!mem%;" ";~mem%?4;" ";  -ô |mem%=yp*c:PRINT~!mem%;" ";~mem%?4;" "; ªyp=xp*s+yp*c ´4ô |mem%=yp :PRINT~!mem%;" ";~mem%?4;" ";segment ¾ xp=xr ÈBç f%: ß x%,y%:ð85,x%+xp,y%+yp :ô Do segment if filled Ò;ç¬f%:ß x%+xp,y%+yp:ð 69,x%+xp,y%+yp :ô ..else draw arc Ü"ß x%+xp,y%+yp:ð 69,x%+xp,y%+yp æ<í :ô And again ð?ç f% :ß x%,y%:ð 85,x%+r%,y%+0 :ô Do final segment ú5ç¬f%:ß x%+r%,y%+0:ð 69,x%+r%,y%+0 :ô ..or arc á ÿ