xref: /llvm-project/flang/test/Evaluate/fold-dot.f90 (revision e723c69b94b9ac9c6977c0df011ee6219e67da4d)
1! RUN: %python %S/test_folding.py %s %flang_fc1
2! Tests folding of DOT_PRODUCT()
3module m
4  logical, parameter :: test_i4a = dot_product([(j,j=1,10)],[(j,j=1,10)]) == sum([(j*j,j=1,10)])
5  logical, parameter :: test_r4a = dot_product([(1.*j,j=1,10)],[(j,j=1,10)]) == sum([(j*j,j=1,10)])
6  logical, parameter :: test_z4a = dot_product([((j,j),j=1,10)],[((j,j),j=1,10)]) == sum([(((j,-j)*(j,j)),j=1,10)])
7  logical, parameter :: test_l4a = .not. dot_product([logical::],[logical::])
8  logical, parameter :: test_l4b = .not. dot_product([(j==2,j=1,10)], [(j==3,j=1,10)])
9  logical, parameter :: test_l4c = dot_product([(j==4,j=1,10)], [(j==4,j=1,10)])
10end
11