File: fold-btest.f90

package info (click to toggle)
swiftlang 6.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,519,992 kB
  • sloc: cpp: 9,107,863; ansic: 2,040,022; asm: 1,135,751; python: 296,500; objc: 82,456; f90: 60,502; lisp: 34,951; pascal: 19,946; sh: 18,133; perl: 7,482; ml: 4,937; javascript: 4,117; makefile: 3,840; awk: 3,535; xml: 914; fortran: 619; cs: 573; ruby: 573
file content (21 lines) | stat: -rw-r--r-- 1,462 bytes parent folder | download | duplicates (18)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
! RUN: %python %S/test_folding.py %s %flang_fc1
! Tests folding of BTEST
module m1
  integer, parameter :: ia1(*) = [(j, j=0, 15)]
  logical, parameter :: test_ia1a = all(btest(ia1, 0) .eqv. [(.false., .true., j=1, 8)])
  logical, parameter :: test_ia1b = all(btest(ia1, 1) .eqv. [(.false., .false., .true., .true., j=1, 4)])
  logical, parameter :: test_ia1c = all(btest(ia1, 2) .eqv. [(modulo(j/4, 2) == 1, j=0, 15)])
  logical, parameter :: test_ia1d = all(btest(ia1, 3) .eqv. [(j > 8, j=1, 16)])
  logical, parameter :: test_shft1 = all([(btest(ishft(1_1, j), j), j=0, 7)])
  logical, parameter :: test_shft2 = all([(btest(ishft(1_2, j), j), j=0, 15)])
  logical, parameter :: test_shft4 = all([(btest(ishft(1_4, j), j), j=0, 31)])
  logical, parameter :: test_shft8 = all([(btest(ishft(1_8, j), j), j=0, 63)])
  logical, parameter :: test_shft16 = all([(btest(ishft(1_16, j), j), j=0, 127)])
  logical, parameter :: test_set1 = all([(btest(ibset(0_1, j), j), j=0, 7)])
  logical, parameter :: test_set2 = all([(btest(ibset(0_2, j), j), j=0, 15)])
  logical, parameter :: test_set4 = all([(btest(ibset(0_4, j), j), j=0, 31)])
  logical, parameter :: test_set8 = all([(btest(ibset(0_8, j), j), j=0, 63)])
  logical, parameter :: test_set16 = all([(btest(ibset(0_16, j), j), j=0, 127)])
  logical, parameter :: test_z = .not. any([(btest(0_4, j), j=0, 31)])
  logical, parameter :: test_shft1e = all(btest([(ishft(1_1, j), j=0, 7)], [(j, j=0, 7)]))
end module