Integral operators (The GNU Algol 68 Compiler)

### 6.6 Integral operators ¶

#### 6.6.1 Arithmetic ¶

Operator: + `= (l int a) l int` ¶

  Monadic operator that yields the affirmation of its operand.

Operator: - `= (l int a) l int` ¶

  Monadic operator that yields the negative of its operand.

Operator: abs `= (l int a) l int` ¶

  Monadic operator that yields the absolute value of its operand.

Operator: sign `= (l int a) int` ¶

  Monadic operator that yields -1 if `a` if negative, 0 if `a` is zero and 1 if `a` is positive.

Operator: odd `= (l int a) bool` ¶

  Monadic operator that yields `true` if its operand is odd, `false` otherwise.

Operator: + `= (l int a, b) l int` ¶

  Dyadic operator that yields the addition of its operands.

Operator: - `= (l int a, b) l int` ¶

  Dyadic operator that yields `b` subtracted from `a`.

Operator: * `= (l int a, b) l int` ¶

  Dyadic operator that yields the multiplication of its operands.

Operator: over `= (l int a, b) l int` ¶
Operator: % `= (l int a, b) l int` ¶

  Dyadic operator that yields the integer division of `a` by `b`, rounding the quotient toward zero.

Operator: mod `= (l int a, b) l int` ¶
Operator: %* `= (l int a, b) l int` ¶

  Dyadic operator that yields the remainder of the division of `a` by `b`.

Operator: / `= (l int a, b) l real` ¶

  Dyadic operator that yields the integer division with real result of `a` by `b`.

Operator: ** `= (l int a, b) l int` ¶
Operator: ^ `= (l int a, b) l int` ¶

  Dyadic operator that yields `a` raised to the exponent `b`.

#### 6.6.2 Arithmetic combined with assignation ¶

Operator: plusab `= (ref l int a, l int b) ref l int` ¶
Operator: +:= `= (ref l int a, l int b) ref l int` ¶

  Plus and become. Dyadic operator that calculates `a + b`, assigns the result of the operation to the name `a` and then yields `a`.

Operator: minusab `= (ref l int a, l int b) ref l int` ¶
Operator: -:= `= (ref l int a, l int b) ref l int` ¶

  Dyadic operator that calculates `a - b`, assigns the result of the operation to the name `a` and then yields `a`.

Operator: timesab `= (ref l int a, l int b) ref l int` ¶
Operator: *:= `= (ref l int a, l int b) ref l int` ¶

  Dyadic operator that calculates `a * b`, assigns the result of the operation to the name `a` and then yields `a`.

Operator: overab `= (ref l int a, l int b) ref l int` ¶
Operator: %:= `= (ref l int a, l int b) ref l int` ¶

  Dyadic operator that calculates `a % b`, assigns the result of the operation to the name `a` and then yields `a`.

Operator: modab `= (ref l int a, l int b) ref l int` ¶
Operator: %*:= `= (ref l int a, l int b) ref l int` ¶

  Dyadic operator that calculates `a %* b`, assigns the result of the operation to the name `a` and then yields `a`.

#### 6.6.3 Relational ¶

Operator: eq `= (l int a, b) bool` ¶
Operator: = `= (l int a, b) bool` ¶

  Dyadic operator that yields whether its operands are equal.

Operator: ne `= (l int a, b) bool` ¶
Operator: /= `= (l int a, b) bool` ¶

  Dyadic operator that yields whether its operands are not equal.

Operator: lt `= (l int a, b) bool` ¶
Operator: < `= (l int a, b) bool` ¶

  Dyadic operator that yields whether `a` is less than `b`.

Operator: le `= (l int a, b) bool` ¶
Operator: <= `= (l int a, b) bool` ¶

  Dyadic operator that yields whether `a` is less than, or equal to `b`.

Operator: gt `= (l int a, b) bool` ¶
Operator: > `= (l int a, b) bool` ¶

  Dyadic operator that yields whether `a` is greater than `b`.

Operator: ge `= (l int a, b) bool` ¶
Operator: >= `= (l int a, b) bool` ¶

  Dyadic operator that yields whether `a` is greater than, or equal to `b`.

#### 6.6.4 Conversion ¶

Operator: shorten `= (short int a) short short int` ¶
Operator: shorten `= (int a) short int` ¶
Operator: shorten `= (long int a) int` ¶
Operator: shorten `= (long long int a) long int` ¶

  Monadic operator that yields, if it exists, the integral value that can be lengthened to the value of `a`. If the value doesn’t exist then the operator yields either the most positive integral value in the destination mode, if `a` is bigger than that value, or the most negative integral value in the destination mode, if `a` is smaller than that value.

Operator: leng `= (short short int a) short int` ¶
Operator: leng `= (short int a) int` ¶
Operator: leng `= (int a) long int` ¶
Operator: leng `= (long int a) long long int` ¶

  Monadic operator that yields the integral value lengthened from the value of `a`.