Skip to content

Commit 317e137

Browse files
committed
betterC adoption
1 parent 04e31dd commit 317e137

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

source/mir/bitmanip.d

+15-3
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,27 @@ module mir.bitmanip;
2323

2424
import std.traits;
2525

26-
27-
private string myToString(ulong n)
26+
private string myToString()(ulong n)
2827
{
29-
import core.internal.string : UnsignedStringBuf, unsignedToTempString;
3028
UnsignedStringBuf buf;
3129
auto s = unsignedToTempString(n, buf);
3230
return cast(string) s ~ (n > uint.max ? "UL" : "U");
3331
}
3432

33+
private alias UnsignedStringBuf = char[20];
34+
35+
private char[] unsignedToTempString()(ulong value, return char[] buf, uint radix = 10) @safe
36+
{
37+
size_t i = buf.length;
38+
do
39+
{
40+
ubyte x = cast(ubyte)(value % radix);
41+
value = value / radix;
42+
buf[--i] = cast(char)((x < 10) ? x + '0' : x - 10 + 'a');
43+
} while (value);
44+
return buf[i .. $];
45+
}
46+
3547
private template createAccessors(
3648
string store, T, string name, size_t len, size_t offset)
3749
{

0 commit comments

Comments
 (0)