File: expr_13.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 (52 lines) | stat: -rw-r--r-- 1,084 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
program flip_sign_dead_code
    implicit none
    integer :: number
    real :: x, eps = 1e-6
    integer :: a = 1, b = 2
    integer, parameter :: ap = 1, bp = 2

    real :: c = 1.0, d = 2.0
    real, parameter :: cp = 1.0, dp = 2.0

    number = 123
    x = 5.5

    if (modulo(number, 2) == 1 ) x = -x
    if (abs(x - (-5.5)) > eps) error stop

    number = 124
    x = 5.5
    if (modulo(number, 2) == 1 ) x = -x
    if (abs(x - (5.5)) > eps) error stop

    if( ap == bp ) then
        print *, "ap == bp"
    else
        print *, "ap /= bp"
    end if

    if( cp == dp ) then
        print *, "cp == dp"
    else
        print *, "cp /= dp"
    end if

    if( a == b ) then
        print *, "a == b"
        if( ap == bp ) then
            print *, "ap == bp"
        else
            print *, "ap /= bp"
        end if
    else if( ap == cp ) then
        print *, "ap == cp"
        if( cp == dp ) then
            print *, "cp == dp"
        else
            print *, "cp /= dp"
        end if
    else if( c == d ) then
        print *, "c == d"
    end if

end program