1 DIM X[1024],Y[1024] 10 DATA 64 11 DATA -66.4929 12 DATA 19.3137 13 DATA -15.2127 14 DATA 7.99999 15 DATA -6.7919 16 DATA 3.31371 17 DATA -2.63087 18 DATA -7.62939E-06 19 DATA .551735 20 DATA -3.31371 21 DATA 3.89897 22 DATA -8 23 DATA 8.73302 24 DATA -19.3137 25 DATA 13.9446 100 LET G=4 105 LET G=G-1 110 LET N=2^G 120 LET P=8*ATN(1)/N 130 FOR I=1 TO N 140 READ X[I],Y[I] 150 LET X[I]=X[I]/N 160 LET Y[I]=Y[I]/N 170 NEXT I 180 FOR L=0 TO G-1 190 LET G1=2^(G-L-1) 200 LET M=0 210 FOR I=1 TO 2^L 220 LET K1=INT(M/G1) 230 GOSUB 530 240 LET Y1=COS(P*K2) 250 LET Y2=-SIN(P*K2) 260 FOR J=1 TO G1 270 LET Y3=X[M+G1+1]*Y1-Y[M+G1+1]*Y2 280 LET Y4=X[M+G1+1]*Y2+Y[M+G1+1]*Y1 290 LET X[M+G1+1]=X[M+1]-Y3 300 LET Y[M+G1+1]=Y[M+1]-Y4 310 LET X[M+1]=X[M+1]+Y3 320 LET Y[M+1]=Y[M+1]+Y4 330 LET M=M+1 340 NEXT J 350 LET M=M+G1 360 NEXT I 370 NEXT L 380 FOR I=0 TO N-1 390 LET K1=I 400 GOSUB 530 410 IF K2 >= I THEN 480 420 LET K3=X[I+1] 430 LET X[I+1]=X[K2+1] 440 LET X[K2+1]=K3 450 LET K3=Y[I+1] 460 LET Y[I+1]=Y[K2+1] 470 LET Y[K2+1]=K3 480 NEXT I 520 GOTO 700 530 LET K2=0 540 FOR K=1 TO G 550 LET K3=INT(K1/2) 560 LET K2=2*(K2-K3)+K1 570 LET K1=K3 590 NEXT K 600 RETURN 700 LET X[N+1]=X[1] 710 LET Y[N+1]=Y[1] 720 LET P=P/2 730 FOR I=0 TO N/2 740 LET Y1=X[I+1]+X[N-I+1] 750 LET Y2=(Y[I+1]+Y[N-I+1])*COS(I*P)-(X[I+1]-X[N-I+1])*SIN(I*P) 760 LET Y3=Y[I+1]-Y[N-I+1] 770 LET Y4=(X[I+1]-X[N-I+1])*COS(P*I)+(Y[I+1]+Y[N-I+1])*SIN(I*P) 780 LET X[I+1]=(Y1+Y2)/4 790 LET X[N-I+1]=(Y1-Y2)/4 800 LET Y[I+1]=(Y3-Y4)/4 810 LET Y[N-I+1]=(-Y3-Y4)/4 820 NEXT I 830 FOR I=0 TO N 840 PRINT I;X[I+1];"+J"Y[I+1] 850 NEXT I 860 END