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);
    }
Пример #3
0
 public static void AreEqual(uint4x2 a, uint4x2 b)
 {
     AreEqual(a.c0, b.c0);
     AreEqual(a.c1, b.c1);
 }
Пример #4
0
 public static void AreEqual(uint4x2 expected, uint4x2 actual)
 {
     AreEqual(expected.c0, actual.c0);
     AreEqual(expected.c1, actual.c1);
 }
Пример #5
0
 public fp4x2(uint4x2 v)
 {
     this.c0 = (fp4)v.c0;
     this.c1 = (fp4)v.c1;
 }
Пример #6
0
 public static fp4x2 fp4x2(uint4x2 v)
 {
     return(new fp4x2(v));
 }