Skip to content

Commit f89e70e

Browse files
authored
<random>: Optimize range adjustment in uniform_int (#4234)
1 parent 706b425 commit f89e70e

File tree

1 file changed

+1
-6
lines changed

1 file changed

+1
-6
lines changed

stl/inc/random

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2089,12 +2089,7 @@ private:
20892089
static _Uty _Adjust(_Uty _Uval) noexcept { // convert signed ranges to unsigned ranges and vice versa
20902090
if constexpr (is_signed_v<_Ty>) {
20912091
constexpr _Uty _Adjuster = (static_cast<_Uty>(-1) >> 1) + 1; // 2^(N-1)
2092-
2093-
if (_Uval < _Adjuster) {
2094-
return static_cast<_Uty>(_Uval + _Adjuster);
2095-
} else {
2096-
return static_cast<_Uty>(_Uval - _Adjuster);
2097-
}
2092+
return static_cast<_Uty>(_Uval ^ _Adjuster);
20982093
} else { // _Ty is already unsigned, do nothing
20992094
return _Uval;
21002095
}

0 commit comments

Comments
 (0)