cray_pointers_2.f90

来自「linux下编程用 编译软件」· F90 代码 · 共 2,707 行 · 第 1/5 页

F90
2,707
字号
           endif           itarg3(k,j,i) = -ipte3(k,j,i)           if (intne(ipte3(k,j,i), itarg3(k,j,i))) then              ! Error #68              errors(68) = .true.           endif           rpte3(k,j,i) = i * 2.0           if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then              ! Error #69              errors(69) = .true.           endif           rtarg3(k,j,i) = i * 3.0           if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then              ! Error #70              errors(70) = .true.           endif           chpte3(k,j,i) = 'a'           if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then              ! Error #71              errors(71) = .true.           endif           chtarg3(k,j,i) = 'z'           if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then              ! Error #72              errors(72) = .true.           endif           ch8pte3(k,j,i) = 'aaaaaaaa'           if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then              ! Error #73              errors(73) = .true.           endif           ch8targ3(k,j,i) = 'zzzzzzzz'           if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then              ! Error #74              errors(74) = .true.           endif        end do     end do  end do  rtarg3 = .5  ! Vector syntax  do, i=1,n     ipte3 = i     rpte3 = rpte3+1     do, j=1,m        do k=1,o           if (intne(itarg3(k,j,i), i)) then              ! Error #75              errors(75) = .true.           endif           if (realne(rtarg3(k,j,i), i+.5)) then              ! Error #76              errors(76) = .true.           endif        end do     end do  end doend subroutine ptr2subroutine ptr3  common /errors/errors(400)  logical :: errors, intne, realne, chne, ch8ne  integer :: i,j,k  integer, parameter :: n = 9  integer, parameter :: m = 10  integer, parameter :: o = 11  integer itarg1 (n)  integer itarg2 (m,n)  integer itarg3 (o,m,n)  real rtarg1(n)  real rtarg2(m,n)  real rtarg3(o,m,n)  character chtarg1(n)  character chtarg2(m,n)  character chtarg3(o,m,n)  character*8 ch8targ1(n)  character*8 ch8targ2(m,n)  character*8 ch8targ3(o,m,n)  type drvd     real r1     integer i1     integer i2(5)  end type drvd  type(drvd) dtarg1(n)  type(drvd) dtarg2(m,n)  type(drvd) dtarg3(o,m,n)  pointer(iptr1,dpte1(n))  pointer(iptr2,dpte2(m,n))  pointer(iptr3,dpte3(o,m,n))  pointer(iptr4,ipte1(n))  pointer(iptr5,ipte2 (m,n))  pointer(iptr6,ipte3(o,m,n))  pointer(iptr7,rpte1(n))  pointer(iptr8,rpte2(m,n))  pointer(iptr9,rpte3(o,m,n))  pointer(iptr10,chpte1(n))  pointer(iptr11,chpte2(m,n))  pointer(iptr12,chpte3(o,m,n))  pointer(iptr13,ch8pte1(n))  pointer(iptr14,ch8pte2(m,n))  pointer(iptr15,ch8pte3(o,m,n))  type(drvd) dpte1  type(drvd) dpte2  type(drvd) dpte3  integer ipte1  integer ipte2  integer ipte3  real rpte1  real rpte2  real rpte3  character chpte1  character chpte2  character chpte3  character*8 ch8pte1  character*8 ch8pte2  character*8 ch8pte3  iptr1 = loc(dtarg1)  iptr2 = loc(dtarg2)  iptr3 = loc(dtarg3)  iptr4 = loc(itarg1)  iptr5 = loc(itarg2)  iptr6 = loc(itarg3)  iptr7 = loc(rtarg1)  iptr8 = loc(rtarg2)  iptr9 = loc(rtarg3)  iptr10= loc(chtarg1)  iptr11= loc(chtarg2)  iptr12= loc(chtarg3)  iptr13= loc(ch8targ1)  iptr14= loc(ch8targ2)  iptr15= loc(ch8targ3)  do, i=1,n     dpte1(i)%i1=i     if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then        ! Error #77        errors(77) = .true.     endif     dtarg1(i)%i1=2*dpte1(i)%i1     if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then        ! Error #78        errors(78) = .true.     endif     ipte1(i) = i     if (intne(ipte1(i), itarg1(i))) then        ! Error #79        errors(79) = .true.     endif     itarg1(i) = -ipte1(i)     if (intne(ipte1(i), itarg1(i))) then        ! Error #80        errors(80) = .true.     endif     rpte1(i) = i * 5.0     if (realne(rpte1(i), rtarg1(i))) then        ! Error #81        errors(81) = .true.     endif     rtarg1(i) = i * (-5.0)     if (realne(rpte1(i), rtarg1(i))) then        ! Error #82        errors(82) = .true.     endif     chpte1(i) = 'a'     if (chne(chpte1(i), chtarg1(i))) then        ! Error #83        errors(83) = .true.     endif     chtarg1(i) = 'z'     if (chne(chpte1(i), chtarg1(i))) then        ! Error #84        errors(84) = .true.     endif     ch8pte1(i) = 'aaaaaaaa'     if (ch8ne(ch8pte1(i), ch8targ1(i))) then        ! Error #85        errors(85) = .true.     endif     ch8targ1(i) = 'zzzzzzzz'     if (ch8ne(ch8pte1(i), ch8targ1(i))) then        ! Error #86        errors(86) = .true.     endif     do, j=1,m        dpte2(j,i)%r1=1.0        if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then           ! Error #87           errors(87) = .true.        endif        dtarg2(j,i)%r1=2*dpte2(j,i)%r1        if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then           ! Error #88           errors(88) = .true.        endif        ipte2(j,i) = i        if (intne(ipte2(j,i), itarg2(j,i))) then           ! Error #89           errors(89) = .true.        endif        itarg2(j,i) = -ipte2(j,i)        if (intne(ipte2(j,i), itarg2(j,i))) then           ! Error #90           errors(90) = .true.        endif        rpte2(j,i) = i * (-2.0)        if (realne(rpte2(j,i), rtarg2(j,i))) then           ! Error #91           errors(91) = .true.        endif        rtarg2(j,i) = i * (-3.0)        if (realne(rpte2(j,i), rtarg2(j,i))) then           ! Error #92           errors(92) = .true.        endif        chpte2(j,i) = 'a'        if (chne(chpte2(j,i), chtarg2(j,i))) then           ! Error #93           errors(93) = .true.        endif        chtarg2(j,i) = 'z'        if (chne(chpte2(j,i), chtarg2(j,i))) then           ! Error #94           errors(94) = .true.        endif        ch8pte2(j,i) = 'aaaaaaaa'        if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then           ! Error #95           errors(95) = .true.        endif        ch8targ2(j,i) = 'zzzzzzzz'        if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then           ! Error #96           errors(96) = .true.        endif        do k=1,o           dpte3(k,j,i)%i2(1+mod(i,5))=i           if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &                dtarg3(k,j,i)%i2(1+mod(i,5)))) then              ! Error #97              errors(97) = .true.           endif           dtarg3(k,j,i)%i2(1+mod(i,5))=2*dpte3(k,j,i)%i2(1+mod(i,5))           if (intne(dpte3(k,j,i)%i2(1+mod(i,5)), &                dtarg3(k,j,i)%i2(1+mod(i,5)))) then              ! Error #98              errors(98) = .true.           endif           ipte3(k,j,i) = i           if (intne(ipte3(k,j,i), itarg3(k,j,i))) then              ! Error #99              errors(99) = .true.           endif           itarg3(k,j,i) = -ipte3(k,j,i)           if (intne(ipte3(k,j,i), itarg3(k,j,i))) then              ! Error #100              errors(100) = .true.           endif           rpte3(k,j,i) = i * 2.0           if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then              ! Error #101              errors(101) = .true.           endif           rtarg3(k,j,i) = i * 3.0           if (realne(rpte3(k,j,i), rtarg3(k,j,i))) then              ! Error #102              errors(102) = .true.           endif           chpte3(k,j,i) = 'a'           if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then              ! Error #103              errors(103) = .true.           endif           chtarg3(k,j,i) = 'z'           if (chne(chpte3(k,j,i), chtarg3(k,j,i))) then              ! Error #104              errors(104) = .true.           endif           ch8pte3(k,j,i) = 'aaaaaaaa'           if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then              ! Error #105              errors(105) = .true.           endif           ch8targ3(k,j,i) = 'zzzzzzzz'           if (ch8ne(ch8pte3(k,j,i), ch8targ3(k,j,i))) then              ! Error #106              errors(106) = .true.           endif        end do     end do  end do  rtarg3 = .5  ! Vector syntax  do, i=1,n     ipte3 = i     rpte3 = rpte3+1     do, j=1,m        do k=1,o           if (intne(itarg3(k,j,i), i)) then              ! Error #107              errors(107) = .true.           endif           if (realne(rtarg3(k,j,i), i+.5)) then              ! Error #108              errors(108) = .true.           endif        end do     end do  end doend subroutine ptr3subroutine ptr4  common /errors/errors(400)  logical :: errors, intne, realne, chne, ch8ne  integer :: i,j,k  integer, parameter :: n = 9  integer, parameter :: m = 10  integer, parameter :: o = 11  integer itarg1 (n)  integer itarg2 (m,n)  integer itarg3 (o,m,n)  real rtarg1(n)  real rtarg2(m,n)  real rtarg3(o,m,n)  character chtarg1(n)  character chtarg2(m,n)  character chtarg3(o,m,n)  character*8 ch8targ1(n)  character*8 ch8targ2(m,n)  character*8 ch8targ3(o,m,n)  type drvd     real r1     integer i1     integer i2(5)  end type drvd  type(drvd) dtarg1(n)  type(drvd) dtarg2(m,n)  type(drvd) dtarg3(o,m,n)  pointer(iptr1,dpte1),(iptr2,dpte2),(iptr3,dpte3)  pointer    (iptr4,ipte1),  (iptr5,ipte2) ,(iptr6,ipte3),(iptr7,rpte1)  pointer(iptr8,rpte2)  pointer(iptr9,rpte3),(iptr10,chpte1)  pointer(iptr11,chpte2),(iptr12,chpte3),(iptr13,ch8pte1)  pointer(iptr14,ch8pte2)  pointer(iptr15,ch8pte3)  type(drvd) dpte1(n)  type(drvd) dpte2(m,n)  type(drvd) dpte3(o,m,n)  integer ipte1 (n)  integer ipte2 (m,n)  integer ipte3 (o,m,n)  real rpte1(n)  real rpte2(m,n)  real rpte3(o,m,n)  character chpte1(n)  character chpte2(m,n)  character chpte3(o,m,n)  character*8 ch8pte1(n)  character*8 ch8pte2(m,n)  character*8 ch8pte3(o,m,n)  iptr1 = loc(dtarg1)  iptr2 = loc(dtarg2)  iptr3 = loc(dtarg3)  iptr4 = loc(itarg1)  iptr5 = loc(itarg2)  iptr6 = loc(itarg3)  iptr7 = loc(rtarg1)  iptr8 = loc(rtarg2)  iptr9 = loc(rtarg3)  iptr10= loc(chtarg1)  iptr11= loc(chtarg2)  iptr12= loc(chtarg3)  iptr13= loc(ch8targ1)  iptr14= loc(ch8targ2)  iptr15= loc(ch8targ3)  do, i=1,n     dpte1(i)%i1=i     if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then        ! Error #109        errors(109) = .true.     endif     dtarg1(i)%i1=2*dpte1(i)%i1     if (intne(dpte1(i)%i1, dtarg1(i)%i1)) then        ! Error #110        errors(110) = .true.     endif     ipte1(i) = i     if (intne(ipte1(i), itarg1(i))) then        ! Error #111        errors(111) = .true.     endif     itarg1(i) = -ipte1(i)     if (intne(ipte1(i), itarg1(i))) then        ! Error #112        errors(112) = .true.     endif     rpte1(i) = i * 5.0     if (realne(rpte1(i), rtarg1(i))) then        ! Error #113        errors(113) = .true.     endif     rtarg1(i) = i * (-5.0)     if (realne(rpte1(i), rtarg1(i))) then        ! Error #114        errors(114) = .true.     endif     chpte1(i) = 'a'     if (chne(chpte1(i), chtarg1(i))) then        ! Error #115        errors(115) = .true.     endif     chtarg1(i) = 'z'     if (chne(chpte1(i), chtarg1(i))) then        ! Error #116        errors(116) = .true.     endif     ch8pte1(i) = 'aaaaaaaa'     if (ch8ne(ch8pte1(i), ch8targ1(i))) then        ! Error #117        errors(117) = .true.     endif     ch8targ1(i) = 'zzzzzzzz'     if (ch8ne(ch8pte1(i), ch8targ1(i))) then        ! Error #118        errors(118) = .true.     endif     do, j=1,m        dpte2(j,i)%r1=1.0        if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then           ! Error #119           errors(119) = .true.        endif        dtarg2(j,i)%r1=2*dpte2(j,i)%r1        if (realne(dpte2(j,i)%r1, dtarg2(j,i)%r1)) then           ! Error #120           errors(120) = .true.        endif        ipte2(j,i) = i        if (intne(ipte2(j,i), itarg2(j,i))) then           ! Error #121           errors(121) = .true.        endif        itarg2(j,i) = -ipte2(j,i)        if (intne(ipte2(j,i), itarg2(j,i))) then           ! Error #122           errors(122) = .true.        endif        rpte2(j,i) = i * (-2.0)        if (realne(rpte2(j,i), rtarg2(j,i))) then           ! Error #123           errors(123) = .true.        endif        rtarg2(j,i) = i * (-3.0)        if (realne(rpte2(j,i), rtarg2(j,i))) then           ! Error #124           errors(124) = .true.        endif        chpte2(j,i) = 'a'        if (chne(chpte2(j,i), chtarg2(j,i))) then           ! Error #125           errors(125) = .true.        endif        chtarg2(j,i) = 'z'        if (chne(chpte2(j,i), chtarg2(j,i))) then           ! Error #126           errors(126) = .true.        endif        ch8pte2(j,i) = 'aaaaaaaa'        if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then           ! Error #127           errors(127) = .true.        endif        ch8targ2(j,i) = 'zzzzzzzz'        if (ch8ne(ch8pte2(j,i), ch8targ2(j,i))) then           ! Error #128           errors(128) = .true.        endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?