1 ! Test the BGE, BGT, BLE and BLT intrinsics.
4 ! { dg-options "-ffree-line-length-none" }
34 #define CHECK(I,J,RES) \
35 if (bge(I,J) .neqv. RES) call abort ; \
36 if (run_bge(I,J) .neqv. RES) call abort ; \
37 if (bgt(I,J) .neqv. (RES .and. (I/=J))) call abort ; \
38 if (run_bgt(I,J) .neqv. (RES .and. (I/=J))) call abort ; \
39 if (ble(J,I) .neqv. RES) call abort ; \
40 if (run_ble(J,I) .neqv. RES) call abort ; \
41 if (blt(J,I) .neqv. (RES .and. (I/=J))) call abort ; \
42 if (run_blt(J,I) .neqv. (RES .and. (I/=J))) call abort
50 CHECK(5_1, huge(0_1) / 2_1, F)
51 CHECK(5_1, huge(0_1), F)
54 CHECK(huge(0_1), -19_1, F)
59 CHECK(5_2, huge(0_2) / 2_2, F)
60 CHECK(5_2, huge(0_2), F)
63 CHECK(huge(0_2), -19_2, F)
68 CHECK(5_4, huge(0_4) / 2_4, F)
69 CHECK(5_4, huge(0_4), F)
72 CHECK(huge(0_4), -19_4, F)
77 CHECK(5_8, huge(0_8) / 2_8, F)
78 CHECK(5_8, huge(0_8), F)
81 CHECK(huge(0_8), -19_8, F)
85 pure logical function run_bge1 (i, j) result(res)
86 integer(kind=1), intent(in) :: i, j
89 pure logical function run_bgt1 (i, j) result(res)
90 integer(kind=1), intent(in) :: i, j
93 pure logical function run_ble1 (i, j) result(res)
94 integer(kind=1), intent(in) :: i, j
97 pure logical function run_blt1 (i, j) result(res)
98 integer(kind=1), intent(in) :: i, j
102 pure logical function run_bge2 (i, j) result(res)
103 integer(kind=2), intent(in) :: i, j
106 pure logical function run_bgt2 (i, j) result(res)
107 integer(kind=2), intent(in) :: i, j
110 pure logical function run_ble2 (i, j) result(res)
111 integer(kind=2), intent(in) :: i, j
114 pure logical function run_blt2 (i, j) result(res)
115 integer(kind=2), intent(in) :: i, j
119 pure logical function run_bge4 (i, j) result(res)
120 integer(kind=4), intent(in) :: i, j
123 pure logical function run_bgt4 (i, j) result(res)
124 integer(kind=4), intent(in) :: i, j
127 pure logical function run_ble4 (i, j) result(res)
128 integer(kind=4), intent(in) :: i, j
131 pure logical function run_blt4 (i, j) result(res)
132 integer(kind=4), intent(in) :: i, j
136 pure logical function run_bge8 (i, j) result(res)
137 integer(kind=8), intent(in) :: i, j
140 pure logical function run_bgt8 (i, j) result(res)
141 integer(kind=8), intent(in) :: i, j
144 pure logical function run_ble8 (i, j) result(res)
145 integer(kind=8), intent(in) :: i, j
148 pure logical function run_blt8 (i, j) result(res)
149 integer(kind=8), intent(in) :: i, j