File: array_section_11.f90

package info (click to toggle)
lfortran 0.60.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 58,412 kB
  • sloc: cpp: 173,406; f90: 80,491; python: 17,586; ansic: 9,610; yacc: 2,356; sh: 1,401; fortran: 895; makefile: 37; javascript: 15
file content (23 lines) | stat: -rw-r--r-- 574 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
program test_array_section
    implicit none
    real, allocatable :: arr(:,:)
    real, allocatable :: section(:,:)
    integer :: i, j

    allocate(arr(4,4))
    allocate(section(2,2))
    do j = 1, 4
        do i = 1, 4
            arr(i, j) = real(i + j * 10)
        end do
    end do

    section = arr(2:3, 2:3)

    if (abs(section(1,1) - 22.0) > 0.001) error stop 1
    if (abs(section(2,1) - 23.0) > 0.001) error stop 2
    if (abs(section(1,2) - 32.0) > 0.001) error stop 3
    if (abs(section(2,2) - 33.0) > 0.001) error stop 4

    print *, "PASS"
end program