Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
BitArray32.cs
Go to the documentation of this file.
1using System;
2using Unity.Burst;
3
4public struct BitArray32 : IEquatable<BitArray32>
5{
6 public uint Bits;
7
8 public bool this[int index]
9 {
10 get
11 {
12 uint num = (uint)(1 << index);
13 return (Bits & num) == num;
14 }
15 set
16 {
17 uint num = (uint)(1 << index);
18 if (value)
19 {
20 Bits |= num;
21 }
22 else
23 {
24 Bits &= ~num;
25 }
26 }
27 }
28
29 public int Length => 32;
30
31 public BitArray32(uint bits)
32 {
33 Bits = bits;
34 }
35
36 public void SetBit(int index)
37 {
39 uint num = (uint)(1 << index);
40 Bits |= num;
41 }
42
43 public void UnsetBit(int index)
44 {
46 uint num = (uint)(1 << index);
47 Bits &= ~num;
48 }
49
50 public uint GetBits(uint mask)
51 {
52 return Bits & mask;
53 }
54
55 public void SetBits(uint mask)
56 {
57 Bits |= mask;
58 }
59
60 public void UnsetBits(uint mask)
61 {
62 Bits &= ~mask;
63 }
64
65 public override bool Equals(object obj)
66 {
67 if (obj is BitArray32)
68 {
69 return Bits == ((BitArray32)obj).Bits;
70 }
71 return false;
72 }
73
74 public bool Equals(BitArray32 arr)
75 {
76 return Bits == arr.Bits;
77 }
78
79 public override int GetHashCode()
80 {
81 return Bits.GetHashCode();
82 }
83
84 public int ToInt()
85 {
86 return (int)Bits;
87 }
88
89 public void SetInt(int i)
90 {
91 Bits = (uint)i;
92 }
93
94 public override string ToString()
95 {
96 char[] array = new char[44];
97 int i;
98 for (i = 0; i < 11; i++)
99 {
100 array[i] = "BitArray32{"[i];
101 }
102 uint num = 2147483648u;
103 while (num != 0)
104 {
105 array[i] = (((Bits & num) != 0) ? '1' : '0');
106 num >>= 1;
107 i++;
108 }
109 array[i] = '}';
110 return new string(array);
111 }
112
113 [BurstDiscard]
114 public void RequireIndexInBounds(int index)
115 {
116 }
117}
BitArray32(uint bits)
Definition: BitArray32.cs:31
int Length
Definition: BitArray32.cs:29
void UnsetBit(int index)
Definition: BitArray32.cs:43
void SetBit(int index)
Definition: BitArray32.cs:36
void RequireIndexInBounds(int index)
Definition: BitArray32.cs:114
override bool Equals(object obj)
Definition: BitArray32.cs:65
uint Bits
Definition: BitArray32.cs:6
override int GetHashCode()
Definition: BitArray32.cs:79
bool Equals(BitArray32 arr)
Definition: BitArray32.cs:74
void SetBits(uint mask)
Definition: BitArray32.cs:55
void UnsetBits(uint mask)
Definition: BitArray32.cs:60
void SetInt(int i)
Definition: BitArray32.cs:89
uint GetBits(uint mask)
Definition: BitArray32.cs:50
override string ToString()
Definition: BitArray32.cs:94
int ToInt()
Definition: BitArray32.cs:84