Files
clang-p2996/flang/test/Evaluate/fold-dot.f90
Peter Klausler e723c69b94 [flang] Fold DOT_PRODUCT()
Implement constant folding of the intrinsic function DOT_PRODUCT().

Differential Revision: https://reviews.llvm.org/D132688
2022-08-25 16:52:21 -07:00

11 lines
653 B
Fortran

! RUN: %python %S/test_folding.py %s %flang_fc1
! Tests folding of DOT_PRODUCT()
module m
logical, parameter :: test_i4a = dot_product([(j,j=1,10)],[(j,j=1,10)]) == sum([(j*j,j=1,10)])
logical, parameter :: test_r4a = dot_product([(1.*j,j=1,10)],[(j,j=1,10)]) == sum([(j*j,j=1,10)])
logical, parameter :: test_z4a = dot_product([((j,j),j=1,10)],[((j,j),j=1,10)]) == sum([(((j,-j)*(j,j)),j=1,10)])
logical, parameter :: test_l4a = .not. dot_product([logical::],[logical::])
logical, parameter :: test_l4b = .not. dot_product([(j==2,j=1,10)], [(j==3,j=1,10)])
logical, parameter :: test_l4c = dot_product([(j==4,j=1,10)], [(j==4,j=1,10)])
end