Bonjour,

Dans une subroutine, je cherche a tester que deux tableaux ont même dimension avant de faire le calcul, normal. Or le code compile avec ifort mais me renvoie une erreur avec g95:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
    if (.not.((size(ya(1,1,1,:)).eq.o).and.(size(y2a(1,1,1,:).eq.o))&
                                      1
Error: Operands of logical operator '.and.' at (1) are LOGICAL(4)/INTEGER(4)
Le test en lui même se présente ainsi:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 
    INTEGER::L,m,n,o
    REAL, dimension(:,:,:,:),intent(in)::ya,y2a !size L,m,n,o
 
    L=size(x0a);m=size(x1a);n =size(x2a);o=size(x3a)
 
    if (.not.((size(ya(1,1,1,:)).eq.o).and.(size(y2a(1,1,1,:).eq.o))&
         .and.(size(ya(1,1,:,1)).eq.n).and.(size(y2a(1,1,:,1).eq.n))&
         .and.(size(ya(1,:,1,1)).eq.m).and.(size(y2a(1,:,1,1).eq.m))&
         .and.(size(ya(:,1,1,1)).eq.L).and.(size(y2a(:,1,1,1).eq.L))))then
       write(*,*)"splin4 input error: unexpected array dimension"
       STOP
    end if
Pourquoi g95 me met-il une erreur ?

merci beaucoup