File: binop_02.f90

package info (click to toggle)
lfortran 0.60.0-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 58,416 kB
  • sloc: cpp: 173,406; f90: 80,491; python: 17,586; ansic: 9,610; yacc: 2,356; sh: 1,401; fortran: 895; makefile: 38; javascript: 15
file content (32 lines) | stat: -rw-r--r-- 813 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
program binop_02
    use iso_fortran_env
    real(8) :: v
    integer(2), parameter :: exp_2 = 2
    integer(4), parameter :: exp_3 = 3
    integer(8), parameter :: exp_4 = 4
    logical :: fast = .false.

    if (index(compiler_options(), '--fast') /= 0) then
        print *, '--fast is specified, disabling some tests'
        fast = .true.
    end if

    v = 3.733689483637092187962025491287931799888610839_8

    print "(es23.16)", v*v
    print "(es23.16)", v**exp_2
    if(v*v /= v**exp_2) error stop

    print "(es23.16)", v*v*v
    print "(es23.16)", v**exp_3
    if (.not. fast) then
        if(v*v*v /= v**exp_3) error stop
    end if

    print "(es23.16)", v*v*v*v
    print "(es23.16)", v**exp_4
    if (.not. fast) then
        if(v*v*v*v /= v**exp_4) error stop
    end if

end program binop_02