9900  REM   ***** SUBROUTINE FORMIF *****
9901  REM
9902  REM     PRINT NUMBERS IN FORTRAN IW OR FW.D FORMATS
9903  REM
9904  REM  INPUT:  Z, VALUE; W9, WIDTH; D9, DECIMAL PLACES
9905  REM
9906  REM  ENTRY:  9910 INTEGER,  9920 FLOATING
9907  REM
9908  DIM Z$[10]
9909  REM
9910  LET Z9=Z7=0
9912  GOTO 9925
9915  REM
9920  LET Z9=D9+1
9922  LET Z7=D9
9925  LET Z$="0123456789"
9926  LET Z8=0
9927  IF Z >= 0 THEN 9930
9928  LET Z8=1
9930  LET Z0=ABS(Z)
9931  LET Z0=INT(Z0*10^Z7+.5)/10^Z7
9932  LET Z1=1
9933  IF Z0=0 THEN 9935
9934  LET Z1=(INT(LOG(Z0)/2.30259+.00001) MAX 0)+1
9935  FOR Z2=1 TO W9-Z9-Z8-Z1
9936  PRINT " ";
9937  NEXT Z2
9940  LET Z0=Z0+10^(-Z7-2)
9941  LET Z2=INT(Z0/10^Z1)
9942  IF Z2 <= 1 THEN 9945
9943  PRINT " ";
9944  LET Z1=Z1-1
9945  IF Z8=0 THEN 9950
9946  PRINT "-";
9950  LET Z8=Z1
9951  FOR Z2=1 TO Z8
9952  LET Z1=Z1-1
9953  LET Z3=INT(Z0/10^Z1)
9955  PRINT Z$[Z3+1,Z3+1];
9956  LET Z0=Z0-Z3*10^Z1
9958  NEXT Z2
9960  IF Z9=0 THEN 9975
9962  PRINT ".";
9965  FOR Z2=1 TO D9
9966  LET Z0=Z0*10
9967  LET Z3=INT(Z0)
9968  PRINT Z$[Z3+1,Z3+1];
9970  LET Z0=Z0-Z3+10^(-D9-2)
9972  NEXT Z2
9975  RETURN 
9980  REM   **** END FORMIF ****
