Ejemplo n.º 1
0
 public static void ToStorage(FeStorage r, Fe a)
 {
     r.N[0] = a.N[0] | a.N[1] << 26;
     r.N[1] = a.N[1] >> 6 | a.N[2] << 20;
     r.N[2] = a.N[2] >> 12 | a.N[3] << 14;
     r.N[3] = a.N[3] >> 18 | a.N[4] << 8;
     r.N[4] = (uint)((int)(a.N[4] >> 24) | (int)a.N[5] << 2 | (int)a.N[6] << 28);
     r.N[5] = a.N[6] >> 4 | a.N[7] << 22;
     r.N[6] = a.N[7] >> 10 | a.N[8] << 16;
     r.N[7] = a.N[8] >> 16 | a.N[9] << 10;
 }
Ejemplo n.º 2
0
 public static void FromStorage(Fe r, FeStorage a)
 {
     r.N[0] = a.N[0] & 67108863U;
     r.N[1] = a.N[0] >> 26 | (uint)((int)a.N[1] << 6 & 67108863);
     r.N[2] = a.N[1] >> 20 | (uint)((int)a.N[2] << 12 & 67108863);
     r.N[3] = a.N[2] >> 14 | (uint)((int)a.N[3] << 18 & 67108863);
     r.N[4] = a.N[3] >> 8 | (uint)((int)a.N[4] << 24 & 67108863);
     r.N[5] = a.N[4] >> 2 & 67108863U;
     r.N[6] = a.N[4] >> 28 | (uint)((int)a.N[5] << 4 & 67108863);
     r.N[7] = a.N[5] >> 22 | (uint)((int)a.N[6] << 10 & 67108863);
     r.N[8] = a.N[6] >> 16 | (uint)((int)a.N[7] << 16 & 67108863);
     r.N[9] = a.N[7] >> 10;
 }
Ejemplo n.º 3
0
        public static void StorageCmov(FeStorage r, FeStorage a, bool flag)
        {
            uint maxValue = uint.MaxValue;

            if (flag)
            {
                ++maxValue;
            }
            uint num = ~maxValue;

            r.N[0] = (uint)((int)r.N[0] & (int)maxValue | (int)a.N[0] & (int)num);
            r.N[1] = (uint)((int)r.N[1] & (int)maxValue | (int)a.N[1] & (int)num);
            r.N[2] = (uint)((int)r.N[2] & (int)maxValue | (int)a.N[2] & (int)num);
            r.N[3] = (uint)((int)r.N[3] & (int)maxValue | (int)a.N[3] & (int)num);
            r.N[4] = (uint)((int)r.N[4] & (int)maxValue | (int)a.N[4] & (int)num);
            r.N[5] = (uint)((int)r.N[5] & (int)maxValue | (int)a.N[5] & (int)num);
            r.N[6] = (uint)((int)r.N[6] & (int)maxValue | (int)a.N[6] & (int)num);
            r.N[7] = (uint)((int)r.N[7] & (int)maxValue | (int)a.N[7] & (int)num);
        }
Ejemplo n.º 4
0
 public GeStorage()
 {
     X = new FeStorage();
     Y = new FeStorage();
 }
Ejemplo n.º 5
0
 public GeStorage()
 {
     this.X = new FeStorage();
     this.Y = new FeStorage();
 }