'ProgramMode:RUN '#CBINT ClrText Locate 1,1,"8Queen Benchmark" Locate 4,2,"(C.Basic Ver."+ToStr(Int (Version/100))+"."+ToStr(MOD(Version,100))+")" Locate 1,4," INT% DBL# CPLX" Locate 1,5,"T1" Locate 1,6,"T2" Locate 1,7,"T3" '#CBINT 5->x Gosub T '#CBDBL 11->x Gosub T '#CBCPLX 17->x Gosub T Stop '#CBINT _#E690_required compatibility Lbl T 5->y:0->Ticks Gosub A Ticks->S:Gosub S 6->y:0->Ticks Gosub C Ticks->S:Gosub S 7->y:0->Ticks Gosub D Ticks->S:Gosub S Return Lbl S Locate x,y,Sprintf("%4.3f",#S/128) Return Lbl A 0->A~Z 8->R {R,1}->Dim Mat A Do Isz X R->Mat A[X,1] Do Isz S X->Y While Y>1 Dsz Y Mat A[X,1]-Mat A[Y,1]->T If T=0 Or X-Y=Abs T Then 0->Y Mat A[X,1]-1->Mat A[X,1] While Mat A[X,1]=0 Dsz X Mat A[X,1]-1->Mat A[X,1] WhileEnd IfEnd WhileEnd LpWhile Y<>1 LpWhile X<>R S Return Lbl C 0->A~Z 8->R R->Dim A Lbl a:X=R=>Goto e Isz X R->Mat A[X] Lbl b:Isz S X->Y Lbl c:Dsz Y:Rad Y=0=>Goto a Mat A[X]-Mat A[Y]->T T=0=>Goto d X-Y<>Abs T=>Goto c Lbl d:Dsz A[X]:Goto b Dsz X:Goto d Lbl e:S Return Lbl D 0->A~Z 8->R R->Dim A Lbl g:X=R=>Goto k Isz X R->Mat A[X] Lbl h:Isz S X->Y Lbl i:Dsz Y:Goto l:Goto g Lbl l:Mat A[X]-Mat A[Y]->T=>Goto m:Goto j Lbl m:(X-Y)<>Abs T=>Goto i Lbl j:Dsz Mat A[X]:Goto h Dsz X:Goto j Lbl k:S Return