File: intrinsics_145.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 (29 lines) | stat: -rw-r--r-- 970 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
program intrinsics_145
    complex :: a(3), b(3)
    complex :: res
    complex(8) :: c(3), d(3)
    complex(8) :: res_8

    a = [(1.0, 2.0), (3.0, 4.0), (5.0, 6.0)]
    b = [(7.0, 8.0), (9.0, 10.0), (11.0, 12.0)]

    res = dot_product([(1.0, 2.0), (3.0, 4.0), (5.0, 6.0)], [(7.0, 8.0), (9.0, 10.0), (11.0, 12.0)])
    print *, abs(res)
    if (abs(abs(res) - 217.745270) > 1e-8) error stop

    res = dot_product(a, b)
    print *, abs(res)
    if (abs(abs(res) - 217.745270) > 1e-8) error stop

    c = [(1.0D0, 2.0D0), (3.0D0, 4.0D0), (5.0D0, 6.0D0)]
    d = [(7.0D0, 8.0D0), (9.0D0, 10.0D0), (11.0D0, 12.0D0)]

    res_8 = dot_product(c, d)
    print *, abs(res_8)
    if (abs(abs(res_8) - 217.74526401279087D0) > 1e-12) error stop

    res_8 = dot_product([(1.0D0, 2.0D0), (3.0D0, 4.0D0), (5.0D0, 6.0D0)], [(7.0D0, 8.0D0), (9.0D0, 10.0D0), (11.0D0, 12.0D0)])
    print *, abs(res_8)
    if (abs(abs(res_8) - 217.74526401279087D0) > 1e-12) error stop

end program