@@ -951,28 +951,28 @@ pure T rol(T)(const T value, const uint count)
951
951
if (__traits(isIntegral, T) && __traits(isUnsigned, T))
952
952
{
953
953
assert (count < 8 * T.sizeof);
954
- return cast (T) ((value << count) | (value >> (- count & ( T.sizeof * 8 - 1 ) )));
954
+ return cast (T) ((value << count) | (value >> (T.sizeof * 8 - count )));
955
955
}
956
956
// / ditto
957
957
pure T ror(T)(const T value, const uint count)
958
958
if (__traits(isIntegral, T) && __traits(isUnsigned, T))
959
959
{
960
960
assert (count < 8 * T.sizeof);
961
- return cast (T) ((value >> count) | (value << (- count & ( T.sizeof * 8 - 1 ) )));
961
+ return cast (T) ((value >> count) | (value << (T.sizeof * 8 - count )));
962
962
}
963
963
// / ditto
964
964
pure T rol(uint count, T)(const T value)
965
965
if (__traits(isIntegral, T) && __traits(isUnsigned, T))
966
966
{
967
967
static assert (count < 8 * T.sizeof);
968
- return cast (T) ((value << count) | (value >> (- count & ( T.sizeof * 8 - 1 ) )));
968
+ return cast (T) ((value << count) | (value >> (T.sizeof * 8 - count )));
969
969
}
970
970
// / ditto
971
971
pure T ror(uint count, T)(const T value)
972
972
if (__traits(isIntegral, T) && __traits(isUnsigned, T))
973
973
{
974
974
static assert (count < 8 * T.sizeof);
975
- return cast (T) ((value >> count) | (value << (- count & ( T.sizeof * 8 - 1 ) )));
975
+ return cast (T) ((value >> count) | (value << (T.sizeof * 8 - count )));
976
976
}
977
977
978
978
// /
0 commit comments