A defined operation is unary or binary. It is defined by a
function subprogram containing a generic interface block with the
specifier OPERATOR. A defined operation is not an intrinsic
operation. However, you can use a defined operation to extend the
meaning of an intrinsic operator.
For defined unary operations, the function must contain one
argument. For defined binary operations, the function must contain
two arguments.
Interpretation of the operation is provided by the function that
defines the operation.
A Fortran 95/90 defined operator can contain up to 31 letters, and
is enclosed in periods (.). Its name cannot be the same name as
any of the following:
o The intrinsic operators .NOT., .AND., .OR., .XOR.,
.EQV., .NEQV., .EQ., .NE., .GT., .GE., .LT., and .LE.
o The logical literal constants .TRUE. or .FALSE..
No two intrinsic operators can follow one another, but an intrinsic
or binary operator can be followed by a defined unary operator.
The result of a defined operation can have any type. The type of
the result (and its value) must be specified by the defining
function.
The following examples show expressions containing defined
operators:
.COMPLEMENT. A
X .PLUS. Y .PLUS. Z
M * .MINUS. N