2
이 문제는 항상 나에게 다가와서 현재 내가하는 것보다 나은 해결책을 알고 싶다. 반복 매개 변수가 계산에 사용되는 루프를 사용하여 배열을 작성하려고합니다. 문제는 배열 인덱스의 정수가 제대로 작동하지만 계산에 사용될 때 오류가 발생한다는 것입니다. 아마도 문제의 예가 유용 할 것입니다.포트란 - 루프로 캐스팅하지 마라.
DO ii = 1,N
ir = real(ii,kind=dp) ! Cast this to real
DO ji=1,N
jr = real(ji,kind=dp) ! Cast this to real.
IF (abs(sqrt((ir-1)**2 + (jr-1)**2)) < Lim) THEN
A(ii,ji) = 1;
ELSEIF (abs(sqrt((ir-1)**2 + (jr-N)**2)) < Lim) THEN
A(ii,ji) = 1;
ELSEIF (abs(sqrt((ir-N)**2 + (jr-1)**2)) < Lim) THEN
A(ii,ji) = 1;
ELSEIF (abs(sqrt((ir-N)**2 + (jr-N)**2)) < Lim) THEN
A(ii,ji) = 1;
END IF
END DO
END DO
루프를 통해 매번 실제 변환하지 않고이를 수행 할 수있는 방법이 있습니까? 나는 이것이 병목 현상이라고 느낀다.