Bitwise logical exclusive or.
This intrinsic routine is provided for backwards compatibility with GNU Fortran 77. For integer arguments, programmers should consider the use of the IEOR — Bitwise logical exclusive or intrinsic and for logical arguments the .NEQV. operator, which are both defined by the Fortran standard.
GNU extension
Function
RESULT = XOR(I, J)
| I | The type shall be either a scalar INTEGER type or a scalar LOGICAL type or a boz-literal-constant. |
| J | The type shall be the same as the type of I or a boz-literal-constant. I and J shall not both be boz-literal-constants. If either I and J is a boz-literal-constant, then the other argument must be a scalar INTEGER. |
The return type is either a scalar INTEGER or a scalar LOGICAL. If the kind type parameters differ, then the smaller kind type is implicitly converted to larger kind, and the return has the larger kind. A boz-literal-constant is converted to an INTEGER with the kind type parameter of the other argument as-if a call to INT — Convert to integer type occurred.
PROGRAM test_xor LOGICAL :: T = .TRUE., F = .FALSE. INTEGER :: a, b DATA a / Z'F' /, b / Z'3' / WRITE (*,*) XOR(T, T), XOR(T, F), XOR(F, T), XOR(F, F) WRITE (*,*) XOR(a, b) END PROGRAM
Fortran 95 elemental function: IEOR — Bitwise logical exclusive or
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gfortran/XOR.html