コード例 #1
0
 public StarrySkyTree(int size)
 {
     this.Length = size;
     rootLength  = 1 << (BitOperationsEx.MSB(size - 1) + 1);
     lazy        = new T[(rootLength << 1) - 1];
     data        = new T[(rootLength << 1) - 1];
     Array.Fill(lazy, op.Identity);
     Array.Fill(data, op.Identity);
 }
コード例 #2
0
 public void ParallelBitDepositInt32(int input, uint mask, int res)
 {
     BitOperationsEx.ParallelBitDeposit(input, mask).Should().Be(res);
 }
コード例 #3
0
 public void ParallelBitExtractUInt32(uint input, uint mask, uint res)
 {
     BitOperationsEx.ParallelBitExtract(input, mask).Should().Be(res);
     BitOperationsEx.ParallelBitExtractLogic(input, mask).Should().Be(res);
 }
コード例 #4
0
 public void BitOperationInt64(long input, int popCount, int msb, int lsb)
 {
     BitOperationsEx.PopCount(input).Should().Be(popCount);
     BitOperationsEx.MSB(input).Should().Be(msb);
     BitOperationsEx.LSB(input).Should().Be(lsb);
 }