File: min_01.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 (65 lines) | stat: -rw-r--r-- 1,984 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
53
54
55
56
57
58
59
60
61
62
63
64
65
program min_min
    real(8) :: real_inp1
    real(8) :: real_inp2
    real(4) :: real_inp3
    real(4) :: real_inp4
    real(8) :: real_inp5
    real :: real_inp6
    integer(4) :: int_inp1
    integer(4) :: int_inp2
    
    real(8) :: output_min
    integer(4) :: output_min0
    real(4) :: output_amin0
    integer(4) :: output_min1
    real(4) :: output_amin1
    real(8) :: output_dmin1
    real(8) :: output_min_different_kinds
    
    real_inp1 = 5.0d0
    real_inp2 = 10.0d0
    real_inp3 = 5.0
    real_inp4 = 10.0
    int_inp1 = 5
    int_inp2 = 10
    real_inp5 = 5.2d0
    real_inp6 = 9.0
     
    output_min = min(real_inp1, real_inp2)
    print*, output_min
    if (abs(output_min - 5) >= 1e-15) error stop
    if( kind(output_min) /= 8) error stop "Incorrect kind for min"

    output_min0 = min0(int_inp1, int_inp2)
    print*, output_min0
    if (output_min0 /= 5) error stop
    if( kind(output_min0) /= 4) error stop "Incorrect kind for min"

    output_amin0 = amin0(int_inp1, int_inp2)
    print*, output_amin0
    if (abs(output_amin0 - 5) >= 1e-7) error stop
    if (kind (output_amin0) /= 4) error stop "Incorrect kind for min"

    output_min1 = min1(real_inp3, real_inp4)
    print*, output_min1
    if (output_min1 /= 5) error stop
    if( kind(output_min1) /= 4) error stop "Incorrect kind for min"

    output_amin1 = amin1(real_inp3, real_inp4)
    print*, output_amin1
    if (abs(output_amin1 - 5) >= 1e-7) error stop
    if( kind(output_amin1) /= 4) error stop "Incorrect kind for min"

    output_dmin1 = dmin1(real_inp1, real_inp1)
    print*, output_dmin1
    if (abs(output_dmin1 - 5) >= 1e-15) error stop
    if( kind(output_dmin1) /= 8) error stop "Incorrect kind for min"

    output_min_different_kinds = min(real_inp5, real_inp6)
    print *, output_min_different_kinds
    if( abs( output_min_different_kinds - 5.2d0) > 1e-16) error stop
    if ( Kind(output_min_different_kinds) /= 8) error stop "Incorrect kind for min"

 end program