34 lines
718 B
Plaintext
34 lines
718 B
Plaintext
|
(* ****************************************
|
||
|
Дополнение к модулю Math.
|
||
|
Побитовые операции над целыми числами.
|
||
|
Вадим Исаев, 2020
|
||
|
Additional functions to the module Math.
|
||
|
Bitwise operations on integers.
|
||
|
Vadim Isaev, 2020
|
||
|
******************************************* *)
|
||
|
|
||
|
MODULE MathBits;
|
||
|
|
||
|
|
||
|
PROCEDURE iand* (x, y: INTEGER): INTEGER;
|
||
|
RETURN ORD(BITS(x) * BITS(y))
|
||
|
END iand;
|
||
|
|
||
|
|
||
|
PROCEDURE ior* (x, y: INTEGER): INTEGER;
|
||
|
RETURN ORD(BITS(x) + BITS(y))
|
||
|
END ior;
|
||
|
|
||
|
|
||
|
PROCEDURE ixor* (x, y: INTEGER): INTEGER;
|
||
|
RETURN ORD(BITS(x) / BITS(y))
|
||
|
END ixor;
|
||
|
|
||
|
|
||
|
PROCEDURE inot* (x: INTEGER): INTEGER;
|
||
|
RETURN ORD(-BITS(x))
|
||
|
END inot;
|
||
|
|
||
|
|
||
|
END MathBits.
|