Files
EWF/library/crypto/eel/rotate_facilities.e
jvelilla c9343688f3 Added eel and eapml in EWF libraries.
Removed them from gitmodule
2011-10-27 08:29:01 -03:00

32 lines
800 B
Plaintext

note
description: "Provides facilities to rotate integers"
author: "Colin LeMahieu"
date: "$Date$"
revision: "$Revision$"
quote: "The more corrupt the state, the more it legislates. - Tacitus"
deferred class
ROTATE_FACILITIES
feature
rotate_right_32 (in: NATURAL_32 count: INTEGER_32): NATURAL_32
require
count_too_small: count >= 0
count_too_big: count <= 32
do
result := (in |>> count) | (in |<< (32 - count))
ensure
rotate_definition: result = (in |>> count) | (in |<< (32 - count))
end
rotate_left_32 (in: NATURAL_32 count: INTEGER_32): NATURAL_32
require
count_too_small: count >= 0
count_too_big: count <= 32
do
result := (in |<< count) | (in |>> (32 - count))
ensure
rotate_definition: result = (in |<< count) | (in |>> (32 - count))
end
end