IEOR (The GNU Fortran Compiler)

### 8.154 `IEOR` — Bitwise logical exclusive or ¶

Synopsis:

  `RESULT = IEOR(I, J)`

Description:

  `IEOR` returns the bitwise Boolean exclusive-OR of I and J.

Class:

  Elemental function

Arguments:

  I | The type shall be `INTEGER`, `UNSIGNED` or a boz-literal-constant.
  J | The type shall be the same type as I with the same kind type parameter or a boz-literal-constant. I and J shall not both be boz-literal-constants.

Return value:

  The return type is with the kind type parameter of the arguments. A boz-literal-constant is converted to an `INTEGER` or `UNSIGNED` with the kind type parameter of the other argument as-if a call to `INT` — Convert to integer type or `UINT` – Convert to `UNSIGNED` type, respectively, occurred.

Specific names:

  Name | Argument | Return type | Standard
  --- | --- | --- | ---
  `IEOR(A)` | `INTEGER A` | `INTEGER` | Fortran 90 and later
  `BIEOR(A)` | `INTEGER(1) A` | `INTEGER(1)` | GNU extension
  `IIEOR(A)` | `INTEGER(2) A` | `INTEGER(2)` | GNU extension
  `JIEOR(A)` | `INTEGER(4) A` | `INTEGER(4)` | GNU extension
  `KIEOR(A)` | `INTEGER(8) A` | `INTEGER(8)` | GNU extension

Standard:

  Fortran 90 and later, with boz-literal-constant Fortran 2008 and later, has overloads that are GNU extensions. Extension for `UNSIGNED` (see Unsigned integers)

See also:

  `IOR` — Bitwise logical or,
  `IAND` — Bitwise logical and,
  `IBITS` — Bit extraction,
  `IBSET` — Set bit,
  `IBCLR` — Clear bit,
  `NOT` — Logical negation