Use mask for ActionPool

This commit is contained in:
Asriel Camora
2024-02-29 02:14:46 -08:00
parent 2c15b23f48
commit 85922b225c
4 changed files with 123 additions and 64 deletions
+1 -1
View File
@@ -34,7 +34,7 @@ public struct ActionSet
public readonly bool HasAction(in ActionPool pool, ActionType action) => (bits & pool.ToMask(action)) != 0;
[Pure]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public readonly ActionType ElementAt(in ActionPool pool, int index) => pool.ToAction((byte)(Intrinsics.NthBitSet(bits, index) - 1));
public readonly ActionType ElementAt(in ActionPool pool, int index) => pool.ToAction(Intrinsics.NthBitSet(bits, index) - 1);
[Pure]
public readonly int Count => BitOperations.PopCount(bits);