SUBROUTINE ERLINP C C This module of the ERLANG program calculates the amount of C traffic which must have been presented to a given number of C trunks to result in the observed traffic received. C C B. Z. Lederman I.T.T. World Communications C BYTE ANS C 500 WRITE (5, 505) 505 FORMAT ( / '$ Enter Traffic Received, Number of Trunks: ') READ (5, 210, END=260) AOUT, N 210 FORMAT (F10.2, I4) C C Check for bad data. If o.k., calculate blocking and increase C traffic incrementally until the amount calculated is within C an acceptable error. C A = AOUT 510 BPER = ERLB(N,A) DIFF = AOUT - (A * (1. - BPER)) IF (ABS(DIFF) .LE. 0.005) GO TO 520 A = DIFF + A GO TO 510 C 520 BPER = 100. * BPER WRITE (5, 530) A, AOUT, N, BPER 530 FORMAT ('0 Erlangs Presented = ', F7.2, ', Received = ', F7.2, 1', Trunks = ', I4, ', Blocking = ', F6.2, '%' / 1X / 2'$ Another Traffic presented problem [Y/N] ?: ') READ (5, 250, END=260) ANS 250 FORMAT (A1) IF ((ANS .EQ. 'Y') .OR. (ANS .EQ. 'y')) GO TO 500 260 RETURN C C Tell the user the data is bad. C 810 WRITE (5, 820) 820 FORMAT (' Incorrect data, please re-enter.') GO TO 500 C END