Trailing-Edge
-
PDP-10 Archives
-
decuslib20-04
-
decus/20-0134/xspeed.fcl
There is 1 other file named xspeed.fcl in the archive. Click here to see a list.
ERASE ALL,
C - ACCURACY TEST.
01.01 C- ACCURACY OF INTERNAL NUMBERS ...
01.02 X FOCAL(1,1),FOCAL(2,2);S INI=GETTAB(4,-1),X=1,DX=1
01.03 S M=N,DX=DX/2,Y=X+DX;D 30;IF (N-1000) 1.03
01.04 TYPE %2,M," BITS ACCURACY FOR INTERNAL NUMBERS."!
01.05 S Y=1.0000001,M=7;D 30;IF(1000-N)1.25
01.06 S Y=1.00000001,M=8;D 30;IF(1000-N)1.25
01.07 S Y=1.000000001,M=9;D 30;IF(1000-N)1.25
01.08 S Y=1.0000000001,M=10;D 30;I(1000-N)1.25
01.09 S Y=1.00000000001,M=11;D 30;I(1000-N)1.25
01.10 S Y=1.000000000001,M=12;D 30;I(1000-N)1.25
01.11 S Y=1.0000000000001,M=13;D 30;I(1000-N)1.25
01.12 S Y=1.00000000000001,M=14;D 30;I(1000-N)1.25
01.13 S Y=1.000000000000001,M=15;D 30;I(1000-N)1.25
01.14 S Y=1.0000000000000001,M=17;D 30;I(1000-N)1.25
01.15 S Y=1.000000000000000001,M=18;D 30;I(1000-N)1.25
01.16 S Y=1.0000000000000000001,M=19;D 30;I(1000-N)1.25
01.17 S Y=1.00000000000000000001,M=20;D 30;I(1000-N)1.25
01.18 S Y=1.000000000000000000001,M=21;D 30;I(1000-N)1.25
01.19 S Y=1.0000000000000000000001,M=22;D 30;I(1000-N)1.25
01.20 S Y=1.00000000000000000000001,M=23;D 30;I(1000-N)1.25
01.21 S Y=1.000000000000000000000001,M=24;D 30;I(1000-N)1.25
01.22 S Y=1.0000000000000000000000001,M=25;D 30;I(1000-N)1.25
01.23 S Y=1.00000000000000000000000001,M=26;D 30;I(1000-N)1.25
01.24 TYPE!"?ERROR IN NUMERIC INPUT ROUTINE"!;RETURN
01.25 TYPE%2,M," SIGNIFICANT DIGITS DISCERNED ON INPUT."!
01.40 T %9.03;C TYPE IN MILLISECONDS TO NEAREST MICRO-SECOND.
01.45 S JIF=50;IF FITR(FITR(2^6+GETTAB(9,15)/2^29)/2)-FITR(2^6+GETTAB(9,15)/2^29)/2 1.5;S JIF=60
01.50 T!"FOLLOWING FIGURES ARE BASED ON A"%2,JIF," CYCLE CLOCK:"!
01.80 G 3.01;COMMENCE EXECUTION.
01.90 C GROUP 2 IS A SCRATCH AREA.
03.01 OPERATE OUTPUT DSK:FOCAL.TMP;F X=2.01,.01,2.99;T%3.02,X,"C"!;C MAKE TEMPORARY FILE
03.02 OPERATE OUTPUT TTY:;L C FOCAL.TMP;T%5.03;C SET UP GROUP 2 FULL OF COMMENTS
03.03 31.02 F X=1,999;C
03.04 D 31;S A=B
03.05 31.02 F X=1,999; C
03.06 D 31;S SPT=B
03.07 31.02 F X=1,999;C12345678901234567890123456789012345678901234567890
03.08 D 31;S INT=B
03.09 31.02 F X=1,999;D 2.01
03.10 D 31;S DOT=B
03.11 2.01 G 2.02
03.12 D 31;S GOT=B
03.14 31.02 F X=1,999;D 2.99
03.16 D 31; S DPT=B
03.22 31.02 F X=1,999;S Y=0
03.23 D 31;S SET=B
03.24 31.02 F X=1,999;X
03.25 D 31;S XET=B
03.26 31.02 F X=1,999;X .
03.28 D 31;S DP=B
03.32 31.02 F X=1,999;X 0
03.34 D 31;S ZER=B
03.36 31.02 F X=1,999;X .0
03.38 D 31;S DRP=B
03.40 31.02 F X=1,999;X E
03.42 D 31;S DEX=B
03.44 31.02 F X=1,999;X +0
03.46 D 31;S SGN=B
03.50 31.02 F X=1,999;X 1+1
03.52 D 31;S OPA=B
03.54 31.02 F X=1,999;X 1-1
03.56 D 31;S OPS=B
03.58 31.02 F X=1,999;X 1*1
03.60 D 31;S OPM=B
03.62 31.02 F X=1,999;X 1/1
03.64 D 31;S OPD=B
03.66 31.02 F X=1,999;X 1^0
03.68 D 31;S OPE=B
03.70 31.02 F X=1,999;X 1^8
03.72 D 31;S OPF=B
03.74 31.02 F X=1,999;X ()
03.76 D 31;S OPB=B
03.78 31.02 F X=1,999;X FSIN(2)
03.80 D 31;S OFS=B
03.82 31.02 F X=1,999;X FEXP(2)
03.84 D 31;S OFE=B
03.86 31.02 F X=1,999;X FLOG(2)
03.88 D 31;S OFL=B
03.90 31.02 F X=1,999;X FRAN(0)
03.92 D 31;S OFR=B
03.94 31.02 F X=1,999;X FATN(2)
03.96 D 31;S OFA=B
10.01 C TYPE-OUT SECTION.
10.02 T!!!"FEATURE TIME (MILLISEC) NOTES."!
10.04 T!"TO INTERPRET 1 SPACE ",(SPT-A)/999/50
10.06 T!"TO INTERPRET 1 CHARACTER ",(INT-A)/999/50
10.08 T!"TO SCAN FOR A LINE NUMBER ",(DPT-DOT)/999/98," PER LINE SCANNED OVER"
10.10 T!"TO EXECUTE A "'DO"' ",(DOT-A)/999," INCL. # INTERPRETATION"
10.12 T!"TO EXECUTE A "'GO TO"' ",(GOT-DOT)/999," INCL. # INTERPRETATION"
10.14 T!"TO EXECUTE A "'SET"' ",(SET-A)/999," INCLUDES DATA STORAGE"
10.16 T!"NUMERIC INPUT..."!" DECIMAL POINT ",(DP-XET)/999
10.18 T!" DIGITS LEFT OF POINT ",(ZER-XET)/999," PER DIGIT"
10.20 T!" DIGITS RIGHT OF POINT ",(DRP-DP)/999," PER DIGIT"
10.22 T!" EXPONENT ",(DEX-XET)/999," PLUS TIME FOR INTEGER"
10.24 T!" SIGN (+ OR -) ",(SGN-ZER)/999
10.26 T!"OPERATION + ",(OPA-SGN+ZER-XET)/999," PLUS INTERPRETATION"
10.28 T!"OPERATION - ",(OPS-SGN+ZER-XET)/999," PLUS INTERPRETATION"
10.30 T!"OPERATION * ",(OPM-SGN+ZER-XET)/999," PLUS INTERPRETATION"
10.32 T!"OPERATION / ",(OPD-SGN+ZER-XET)/999," PLUS INTERPRETATION"
10.34 T!"OPERATION ^ ",(OPE-SGN+ZER-DP)/999," IF FRACTIONAL POWER"
10.36 T!" PLUS ",(OPF-OPE)/999/4," PER POWER-OF-2 IN EXPONENT"
10.38 T!"OPERATION () ",(OPB-XET)/999," *"
10.40 T!"OPERATION FSIN(2) ",(OFS-XET)/999," *"
10.42 T!"OPERATION FEXP(2) ",(OFE-XET)/999," *"
10.44 T!"OPERATION FLOG(2) ",(OFL-XET)/999," *"
10.46 T!"OPERATION FRAN(0) ",(OFR-XET)/999," *"
10.48 T!"OPERATION FATN(2) ",(OFA-XET)/999," *"
10.98 T!!"* INCLUDING TIME TO INTERPRET THE CHARACTERS"
10.99 T!!"TIME FOR THIS TEST PROGRAM ",%3,(GETTAB(4,-1)-INI)/JIF," SECONDS."!
29.99 T!!!!;E 2;LIBRARY DELETE FOCAL.TMP;QUIT
30.10 C- SUBROUTINE TO MEASURE DIFFERENCE BETWEEN X AND Y.
30.11 C- N IS THE NUMBER OF BITS REQUIRED TO SEPARATE X FROM Y.
30.20 SET N=100000;IF (-FABS(X-Y)) 30.3;RETURN
30.30 SET N=1-FLOG(FABS(2*(X-Y)/(X+Y)))/FLOG(2);RETURN
31.01 S B=GETTAB(4,-1)
31.02 F X=1,999;S Y=+0
31.03 S B=(GETTAB(4,-1)-B)*1000/JIF;R
TYPE !"FOCAL SPEED TRIALS. TO COMMENCE, TYPE 'GO'."!
C - END OF XSPEED