public static bool ReadBit(this EdgeData data, int index) { Assert.IsTrue(index >= 0 && index < 256, "Index must be in range [0..255]"); uint4x2 u4x2 = data.value; int x = (int)math.floor(index / 128); int y = (int)math.floor(index / 32) % 4; int bitIndex = index % 32; return(u4x2[x][y].GetBitValue(bitIndex, 1) == 1); }
public static EdgeData WriteBit(this EdgeData data, int index, bool bit) { Assert.IsTrue(index >= 0 && index < 256, "Index must be in range [0..255]"); uint4x2 u4x2 = data.value; int x = (int)math.floor(index / 128); int y = (int)math.floor(index / 32) % 4; int bitIndex = index % 32; u4x2 = u4x2[x][y].SetBitValue(1, bitIndex, 1); return(u4x2); }
public static void AreEqual(uint4x2 a, uint4x2 b) { AreEqual(a.c0, b.c0); AreEqual(a.c1, b.c1); }
public static void AreEqual(uint4x2 expected, uint4x2 actual) { AreEqual(expected.c0, actual.c0); AreEqual(expected.c1, actual.c1); }
public fp4x2(uint4x2 v) { this.c0 = (fp4)v.c0; this.c1 = (fp4)v.c1; }
public static fp4x2 fp4x2(uint4x2 v) { return(new fp4x2(v)); }