
A6.9 Preprocessing 149
A6.8.16 Logical-AND expressions
Logical and (&& or and returns the integer 1 if both of its operands compare unequal to
0, and the integer 0 otherwise. Both operands must be scalar and have arithmetic type.
First the left operand is evaluated, if it is false (for a matrix: there is at least one
zero element), the result is false, and the right operand will not be evaluated. So in
the expression func1() && func2() the second function will not be called if the first
function returned false.
∗
A6.8.17 Logical-OR expressions
Logical or ("|"| or or returns the integer 1 if either of its operands compares unequal
to 0, integer value 0 otherwise. Both operands must be scalar and have arithmetic type.
First the left operand is evaluated, if it is true, the result is true, and the right operand
will not be evaluated. So in the expression func1() .|| func2() the second function
will not be called if the first function returned true.
∗
A6.8.18 Logical-XOR expressions
Logical xor returns the integer 1 if one and only one of the operands compares unequal
to 0, integer value 0 otherwise. Both operands must have arithmetic type.
A6.8.19 Logical-EQV expressions
Logical eqv returns the integer 1 if both operands are unequal to 0 or if both are equal
to 0, integer value 0 otherwise. Both operands must be scalar and have arithmetic type.
A6.8.20 Assignment expressions
∗
The assignment operator is the = symbols; it is the operator with the lowest precedence.
An lvalue is required as the left operand. The type of an assignment is that of its left
operand.
A6.8.21 Constant expressions
An expression that evaluates to a constant is required in initializers and certain prepro-
cessor expressions. A constant expression can have the operators */+-, but only if
the operands have scalar type.
A6.9 Preprocessing
Preprocessing in OxGauss is used for inclusion of files, conditional compilation of
code, and definition of constants. The following preprocessor commands are ignored:
#lineson, #linesoff, #srcfile, #srcline.
∗
Komentarze do niniejszej Instrukcji