SUBROUTINE PREM_VOISINS(GLBIN,DIR,SENS,GLBOUT)
USE CONSTANTES,ONLY:
N,M,NM
USE UTILITAIRE,ONLY:
CHI,COLI
INTEGER,INTENT(IN)
:: GLBIN,DIR,SENS
INTEGER,INTENT(OUT)
:: GLBOUT
INTEGER
:: X,Y
X=COLI(GLBIN)
! coordonnee x
Y=CHI(GLBIN)
! coordonnee y
IF(DIR.EQ.O)
THEN
! Selon x
IF(SENS.EQ.1) THEN
! Voisin à droite (+x)
IF(X.EQ.N) THEN
X=1
ELSE
X=X+1
ENDIF
ENDIF
IF(SENS.EQ.-1) THEN
! Voisin à gauche (-x)
IF(X.EQ.1) THEN
X=N
ELSE
X=X-1
ENDIF
ENDIF
ENDIF
IF(DIR.EQ.2)
THEN
! Selon y
IF(SENS.EQ.1) THEN
! Voisin en haut (+y)
IF(Y.EQ.M) THEN
Y=1
ELSE
Y=Y+1
ENDIF
ENDIF
IF(SENS.EQ.-1) THEN
! Voisin en bas (-y)
IF(Y.EQ.1) THEN
Y=M
ELSE
Y=Y-1
ENDIF
ENDIF
ENDIF
CALL NUM_GLOBALE(X,Y,GLBOUT)
END SUBROUTINE PREM_VOISINS