File: intrinsics_194.f90

package info (click to toggle)
lfortran 0.45.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 46,332 kB
  • sloc: cpp: 137,068; f90: 51,260; python: 6,444; ansic: 4,277; yacc: 2,285; fortran: 806; sh: 524; makefile: 30; javascript: 15
file content (27 lines) | stat: -rw-r--r-- 880 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
24
25
26
27
!> the below test cases test the broadcasting of "min" intrinsic
!> procedure during compile time
program intrinsics_194
    integer :: arr3(3), arr2(2)
    arr3 = min([-1, 2, 3], 2, 5, [4, 4, 5], [5, -8, 7])
    if (arr3(1) /= -1) error stop
    if (arr3(2) /= -8) error stop
    if (arr3(3) /= 2) error stop
    ! not necessary to test the dimensions though
    ! as the initial assignment itself would raise an
    ! error if the assignment was incompatible
    if (size(arr3) /= 3) error stop

    arr3 = min(1, [-1, 2, 20])
    if (arr3(1) /= -1) error stop
    if (arr3(2) /= 1) error stop
    if (arr3(3) /= 1) error stop

    arr3 = min([1, 2, 3], [1, 1, [2]])
    if (arr3(1) /= 1) error stop
    if (arr3(2) /= 1) error stop
    if (arr3(3) /= 2) error stop

    arr2 = min([1, 2], -1, -4)
    if (arr2(1) /= -4) error stop
    if (arr2(2) /= -4) error stop
end program