2010-06-09 3 views
2

내가 아담스 등의 포트란 2003 핸드북 절 쳐다보고있어 다음인덱싱 된 액세스를 허용하는 Fortran ASSOCIATE 구문은 무엇입니까?

ASSOCIATE (U => ..., V => ...) 
    FORALL (i = 2:n-2) 
     V(i) = V(i) + MATMUL(A, & 
       c(2)*U(i-2) + c(1)*U(i-1) + c(0)*U(i) + c(1)*U(i+1) + c(2)*U(i+2)) 
    END FORALL 
END ASSOCIATE 

처럼 무언가로이

FORALL (i = 2:n-2) 
    v(:,i) = v(:,i) + MATMUL(A, & 
      c(2)*u(:,i-2) + c(1)*u(:,i-1) + c(0)*u(:,i) + c(1)*u(:,i+1) + c(2)*u(:,i+2)) 
END FORALL 

을 설정하는 포트란 ASSOCIATE 문을 작성하는 좋은 방법이 있나요 8.2,하지만 associate-name에 인덱스 된 액세스를 허용하기 위해 associate-name => selector 구조를 작성하는 방법을 볼 수 없습니다.

내가 분명히하려는 것은 몇 줄의 과잉이다. 응축하고 싶은 잔뜩 있어요.

답변

2

내가 잘못 읽지 않는 한, 이것이 가능하지 않다고 생각합니다.

는 SELECT TYPE 또는 ASSOCIATE 구조 내에서 각 엔티티는 연관 연관된 선택기와 동일한 랭크를 갖는 다음 specification 것 (8.1.4.3)를 말한다.

는 최대한 멀리 볼 수, 당신은 순위 1 회 합성 엔티티 ( V를) 원하는 ( v을 유지하기 위해) 순위 2 관련된 선택이 필요합니다.

+0

앤드류 (Andrew)에게 감사드립니다. 전처리 자 게임을하지 않는 것, 내가 겪은 일을 성취하기위한 표준 관용구가 있습니까? –

+0

@Rhys : 관용구는 배열 섹션에 대한 포인터를 사용하는 것이지만 필자는 코드가 더 이해하기 쉽도록 만들 것이라고 생각하지 않는다. –

+0

@Mark : 배열 섹션에 대한 포인터와 완전히 일치하는 것에 동의합니다. 고마워. –

관련 문제