From: "Thomas Peters" <tpeters@...>

Date: Tue, 3 Feb 1998 11:56:06 -0500

Date: Tue, 3 Feb 1998 11:56:06 -0500

```
This is an excellent reply to the original post. You see here a program that
was faster in 68K code. Then modified to take advantage of PPC. The program
now screems in PPC mode.
This is cool!
Tom
-----Original Message-----
From: Chris <staz@...>
To: FB List <futurebasic@...>
Date: Tuesday, February 03, 1998 11:15 AM
Subject: Re: [FB] A Challenge For Someone
>>The small program below, uses the scientific functions of sin and cos
> <snip>
>
>Andy changed this to work in FB II integer functions. 100 iterations on
>my 604e 200 took 77 ticks. The modified program is shown below.
>
>Using integer math, FB II is _very_ fast. While there is not yet an
>equivalent to FB II's USR scientific functions, we were able to recompile
>in FB^3 using floating point calculations. This was not as fast as
>integer math, but showed a marked improvement over FB II's BCD calcs.
>
>6100/60 3 min 8 sec <- my machine
>LC-550 2 min 26 sec
>7600/120 1 min 55 sec
>Quadra-650 57 sec
>604e 200 77 ticks (using integer functions) <- the winner
>604e 200 83 ticks (using floating point, but recompiled in PPC
>code)
>
>The end result is that PPC math in FB^3 runs at about the same speed as
>integer math in FBII. (I was impressed!)
>
>
>-STAZ ~)~
>
>------------------------------------
>WIDTH _noTextWrap
>WINDOW 1,"Spirograph",(0,0)-(500,400)
>TEXT ,,,0
>"start"
>
>TwoPI! = 6.283185307
>PRINT % (2,21);
>INPUT "Number of Pts, < 2 to exit: ";N
>CLS
>IF N <= 1 THEN STOP
>
>'******* Integer *********
>t&=FN TICKCOUNT
>H=0
>iLoops = (256*100)/N
>COLOR _zBlue
>FOR x = 0 TO 25500 STEP iLoops
> A = (USR _Sine(x/100) * 150)/256 + 249
> B = (USR _Cosine(x/100) * 149)/256 + 200
> FOR z = 0 TO 25500 STEP iLoops
> C = (USR _Sine(z/100) * 150)/256 + 249
> D = (USR _Cosine(z/100) * 149)/256 + 200
> PLOT A,B TO C,D
> IF FN BUTTON STOP
> NEXT
> H=H+1 : PRINT % (360,21) H
>NEXT
>
>t&=FN TICKCOUNT-t&
>PRINT % (400,21) t&;" ticks";
>
>'******* Float *********
>t&=FN TICKCOUNT
>H=0
>COLOR _zRed
>loops! = TwoPI!/N
>FOR X! = 0 TO TwoPI! STEP loops!
> A = SIN (X!) * 150 + 249
> B = COS (X!) * 149 + 200
> FOR Z! = 0 TO TwoPI! STEP loops!
> C = SIN (Z!) * 150 + 249
> D = COS (Z!) * 149 + 200
> PLOT A,B TO C,D
> IF FN BUTTON STOP
> NEXT Z!
> H=H+1 : PRINT % (360,36) H
>NEXT X!
>COLOR _zBlack
>
>t&=FN TICKCOUNT-t&
>
>PRINT % (400,36) t&;" ticks";
>
>GOTO "start"
>
>
>Pizza, Pizza,
>
>-STAZ ~)~
>
>--------------------------------------------------------------
>STAZ Software * 4387 Leisure Time Dr * Diamondhead, MS 39525
>--------------------------------------------------------------
>Orders: 800-348-2623 EMail http: //www.stazsoftware.com
> Tech: 601-255-7085 FAX: 601-255-7086
>--------------------------------------------------------------
>
>
>--
>To unsubscribe, send ANY message to <futurebasic-unsubscribe@...>
>
```