mirror of
https://github.com/autc04/Retro68.git
synced 2024-06-30 10:29:39 +00:00
33 lines
1.2 KiB
Fortran
33 lines
1.2 KiB
Fortran
MODULE Vcimage
|
|
CHARACTER (LEN=80), SAVE :: CARD, FIELD
|
|
END MODULE Vcimage
|
|
MODULE Vimage
|
|
LOGICAL, SAVE :: EOFF
|
|
END MODULE Vimage
|
|
SUBROUTINE READIN(PROB, TITLE, CSTOP, FCYCLE, DCYCLE, DHIST, VHIST&
|
|
& , IMAX, PHIST, DEBUG, NSTAT, STATS, MAXSTA, NCORE, PPLOT, &
|
|
& DPLOT, VPLOT, TPLOT, SLIST, D0, E0, NODES, SHEAT, GAMMA, COLD &
|
|
& , THIST, NVISC, SCREEN, WEIGHT, TSTOP, STABF)
|
|
USE Vcimage
|
|
USE Vimage
|
|
INTEGER, DIMENSION(MAXSTA) :: STATS
|
|
IF (.NOT.EOFF) THEN
|
|
IF (FIELD=='PROB' .OR. FIELD=='PROBLEM_NUMBER') THEN
|
|
CALL QSORT (STATS(1:NSTAT))
|
|
WRITE (16, &
|
|
&'(//'' YOU HAVE REQUESTED A PRINTOUT OF THE STATION'', &
|
|
& '' ABORT''//)')
|
|
ENDIF
|
|
ENDIF
|
|
CONTAINS
|
|
RECURSIVE SUBROUTINE QSORT (LIST)
|
|
INTEGER, DIMENSION(:), INTENT(INOUT) :: LIST
|
|
INTEGER, DIMENSION(SIZE(LIST)) :: SMALLER,LARGER
|
|
IF (SIZE(LIST) > 1) THEN
|
|
LIST(NUMBER_SMALLER+1:NUMBER_SMALLER+NUMBER_EQUAL) = CHOSEN
|
|
CALL QSORT (LARGER(1:NUMBER_LARGER))
|
|
LIST(NUMBER_SMALLER+NUMBER_EQUAL+1:) = LARGER(1:NUMBER_LARGER)
|
|
END IF
|
|
END SUBROUTINE QSORT
|
|
END SUBROUTINE READIN
|