Skip to content

Commit 2059efd

Browse files
committed
refactor: B2CTZTest
1 parent 116a25a commit 2059efd

File tree

2 files changed

+26
-25
lines changed

2 files changed

+26
-25
lines changed

src/Box2D.NET/B2CTZs.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
// SPDX-FileCopyrightText: 2025 Ikpil Choi([email protected])
33
// SPDX-License-Identifier: MIT
44

5-
using System.Numerics;
65
using System.Runtime.CompilerServices;
76

87
namespace Box2D.NET

test/Box2D.NET.Test/B2CTZTest.cs

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -10,40 +10,42 @@ namespace Box2D.NET.Test;
1010

1111
public class B2CTZTest
1212
{
13-
// uint에 대해 trailing zero count (CTZ)
14-
public static uint CTZ32(uint block)
15-
{
16-
return (uint)BitOperations.TrailingZeroCount(block);
17-
}
18-
19-
// uint에 대해 leading zero count (CLZ)
20-
public static uint CLZ32(uint value)
21-
{
22-
return (uint)BitOperations.LeadingZeroCount(value);
23-
}
24-
25-
// ulong에 대해 trailing zero count (CTZ)
26-
public static uint CTZ64(ulong block)
27-
{
28-
return (uint)BitOperations.TrailingZeroCount(block);
29-
}
30-
3113
[Test]
3214
public void Test()
3315
{
3416
// 추가적인 엣지 케이스 테스트
35-
uint[] testCases32 = { 0, 1, 2, 4, 8, 16, 31, 32, 64, 128, 255, 256, 1023, 1024, 4294967295, uint.MaxValue };
36-
ulong[] testCases64 = { 0, 1, 2, 4, 8, 16, 31, 32, 64, 128, 255, 256, 1023, 1024, 18446744073709551615, ulong.MaxValue };
17+
uint[] testCases32 =
18+
{
19+
0, 1, 2, 4,
20+
8, 16, 31, 32,
21+
64, 128, 255, 256,
22+
1023, 1024, 4294967295, uint.MaxValue,
23+
0x0000FFFF, 0xFFFF0000, 0x0F0F0F0F, 0xF0F0F0F0,
24+
0xAAAAAAAA, 0x55555555, 0x80000001, 0x7FFFFFFF,
25+
0x0000F000, 0x00FF00FF, 0xC0000000, 0x00000003, 0xFFFFFFFF
26+
};
27+
ulong[] testCases64 =
28+
{
29+
0, 1, 2, 4,
30+
8, 16, 31, 32,
31+
64, 128, 255, 256,
32+
1023, 1024, 18446744073709551615, ulong.MaxValue,
33+
0x00000000FFFFFFFFul, 0xFFFFFFFF00000000ul, 0xAAAAAAAAAAAAAAAAul, 0x8000000000000001ul,
34+
0x7FFFFFFFFFFFFFFFul, 0x000F000000000000ul, 0xF0F0F0F0F0F0F0F0ul, 0x000000000000FFFFul,
35+
0x00FF00FF00FF00FFul
36+
};
3737

3838
foreach (uint value in testCases32)
3939
{
40-
Assert.That(b2CTZ32(value), Is.EqualTo(CTZ32(value)), $"CTZ32 failed for {value}");
41-
Assert.That(b2CLZ32(value), Is.EqualTo(CLZ32(value)), $"CLZ32 failed for {value}");
40+
Assert.That(b2CTZ32(value), Is.EqualTo(BitOperations.TrailingZeroCount(value)), $"CTZ32 failed for {value}");
41+
Assert.That(b2CLZ32(value), Is.EqualTo(BitOperations.LeadingZeroCount(value)), $"CLZ32 failed for {value}");
42+
Assert.That(b2PopCount64(value), Is.EqualTo(BitOperations.PopCount(value)), $"PopCount64 failed for {value}");
4243
}
4344

4445
foreach (ulong value in testCases64)
4546
{
46-
Assert.That(b2CTZ64(value), Is.EqualTo(CTZ64(value)), $"CTZ64 failed for {value}");
47+
Assert.That(b2CTZ64(value), Is.EqualTo(BitOperations.TrailingZeroCount(value)), $"CTZ64 failed for {value}");
48+
Assert.That(b2PopCount64(value), Is.EqualTo(BitOperations.PopCount(value)), $"PopCount64 failed for {value}");
4749
}
4850
}
49-
}
51+
}

0 commit comments

Comments
 (0)