Skip to content

Commit 7326b68

Browse files
committed
gybify signed integer creation
1 parent 0cee853 commit 7326b68

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

stdlib/public/core/Integers.swift.gyb

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2596,6 +2596,10 @@ ${operatorComment('&' + x.operator, True)}
25962596
% end
25972597
}
25982598

2599+
%{
2600+
bitSizes = [8, 16, 32, 64]
2601+
}%
2602+
25992603
extension FixedWidthInteger {
26002604
/// Returns a random representation of this integer.
26012605
///
@@ -2608,14 +2612,10 @@ extension FixedWidthInteger {
26082612
@_inlineable
26092613
public static func random<T: RandomNumberGenerator>(using generator: T) -> Self {
26102614
switch bitWidth {
2611-
case 8:
2612-
return Self.init(truncatingIfNeeded: generator.next(UInt8.self))
2613-
case 16:
2614-
return Self.init(truncatingIfNeeded: generator.next(UInt16.self))
2615-
case 32:
2616-
return Self.init(truncatingIfNeeded: generator.next(UInt32.self))
2617-
case 64:
2618-
return Self.init(truncatingIfNeeded: generator.next(UInt64.self))
2615+
% for bitSize in bitSizes:
2616+
case ${bitSize}:
2617+
return Self.init(truncatingIfNeeded: generator.next(UInt${bitSize}.self))
2618+
% end
26192619
default:
26202620
return Self.init(truncatingIfNeeded: generator.next())
26212621
}

0 commit comments

Comments
 (0)