Web pdp-10.trailing-edge.com

Trailing-Edge - PDP-10 Archives - FORTRAN-10_V7wLink_Feb83 - dowhil.for
There are 9 other files named dowhil.for in the archive. Click here to see a list.
```	PROGRAM DOWHIL

! This software is furnished under a license and may only be used
! or copied in accordance with the terms of such license.

! Copyright (C) Digital Equipment Corporation 1983

C	CDM
C	July 1982

C	Tests the DOWHILE( cond ) statement.

DIMENSION NRRY(4:5)
LOGICAL LOG
INTEGER VAR

C-100-	Simple

I=1; J=10
KNT=0

DO WHILE(I .LT. J)

I = I+1
KNT = KNT + 1

END DO

IF (KNT .NE. 9) TYPE 100, KNT
100	FORMAT(' ?Error 100. KNT = 'I', should = 9')

C-200-	With label

I=3
DO 201 WHILE(I.NE.5)
I = I+1
201	NRRY(I) = I

IF (NRRY(4) .NE. 4) TYPE 210, 4,NRRY(4),4
IF (NRRY(5) .NE. 5) TYPE 210, 5,NRRY(5),5
210	FORMAT(' ?Error 210. NRRY('I1')='I', should = 'I2)

C-300-	With regular incremental DO's

LOG = .TRUE.
IVAR = 0
DO I=1,4
LOG = .NOT. LOG
KNT = 0
DO WHILE((LOG) .AND. KNT.LT.3)
KNT = KNT+1
DO J=1,5
IVAR = IVAR + I + J
ENDDO
ENDDO
ENDDO

IF (IVAR .NE. 180) TYPE 300, IVAR
300	FORMAT(' ?Error 330. IVAR='I', should = 180')

C-400-	Let's fool the parser!
C	This should not be ANY type of DO loop or DOUBLE PRECSION stmt.

DOU = 1

C-500-	This is a DO loop, the incr var is U.

VAR=0
DOU=1,2
VAR=VAR+1
ENDDO

IF (VAR .NE. 2) TYPE 500, VAR
500	FORMAT(' ?Error 500.  VAR='I', should = 3')

STOP 'DoWhile'
END
```