Ejemplo n.º 1
0
Archivo: gBlob.cs Proyecto: Klanly/ncnn
 public static string prtsgn_gua2(gBlob inblob, int lnkidx)
 {
     if (inblob.BeLinked[lnkidx])
     {
         return("\t-" + spgua(inblob.links[lnkidx]));
     }
     else
     {
         return("\t" + spgua(inblob.links[lnkidx]));
     }
 }
Ejemplo n.º 2
0
Archivo: gBlob.cs Proyecto: Klanly/ncnn
 public static string prtsgn(gBlob inblob, int lnkidx)
 {
     if (inblob.BeLinked[lnkidx])
     {
         return("\t-" + inblob.links[lnkidx].ToString(pfm));
     }
     else
     {
         return("\t" + inblob.links[lnkidx].ToString(pfm));
     }
 }
Ejemplo n.º 3
0
Archivo: gBlob.cs Proyecto: Klanly/ncnn
        public static string prtsgn_gua(gBlob inblob, int lnkidx)
        {
            string jiantou = "\n=>";

            if (inblob.BeLinked[lnkidx])
            {
                jiantou = "\n<=";
            }

            int basgua = inblob.gnum;

            string spa1 = string.Format(kordfmt[lnkidx], gua[basgua], liujiu(basgua, lnkidx));


            basgua = inblob.links[lnkidx];
            int    dyst = rmap[lnkidx];
            string spa2 = string.Format(kordfmt[dyst], gua[basgua], liujiu(basgua, dyst));

            return(spa1 + jiantou + spa2 + "\n");
        }
Ejemplo n.º 4
0
Archivo: gBlob.cs Proyecto: Klanly/ncnn
        public static gBlob[] make(int sz)
        {
            gsizex2 = sz * 2;

            gmask = ~((-1 >> gsizex2) << gsizex2);


            gmaskhalf = ~((-1 >> sz) << sz);


            var arrsz = 1 << gsizex2;

            pfm = "X2";            //"D"+((int)(Math.Ceiling(Math.Log10(arrsz)))-1).ToString();


            var rett = new gBlob[arrsz];

            for (int i = 0; i < arrsz; i++)
            {
                rett[i] = new gBlob(i);
            }

            for (int vv = 0; vv < arrsz; vv++)
            {
                for (int k = 0; k < sz; k++)
                {
                    int lower = vv & gmaskhalf;
                    int upper = (vv >> sz) & gmaskhalf;

                    if (((lower >> k) & 1) == ((upper >> k) & 1))
                    {
                        int negvv = ((~vv) & gmask);
                        int dyst  = negvv ^ (1 << k);
                        rett[dyst].links[k]    = vv;
                        rett[dyst].BeLinked[k] = true;

                        rett[vv].links[k + sz] = dyst;

                        dyst = negvv ^ (1 << (k + sz));

                        rett[dyst].links[sz + k]    = vv;
                        rett[dyst].BeLinked[sz + k] = true;

                        rett[vv].links[k] = dyst;
                    }
                }
            }

            for (int i = 0; i < arrsz; i++)
            {
                var tmpr = rett[i];
                Console.WriteLine("\n\n(" + spgua(tmpr.gnum) + "):");                   //tmpr.gnum.ToString(pfm)
                //for(int k=gsizex2-1;k>=0;k--)
                for (int k = 0; k < gsizex2; k++)
                {
                    Console.WriteLine(prtsgn_gua2(tmpr, k));
                }
            }

            return(rett);
        }