public static string ToString(BitVector64 value)
        {
            StringBuilder sb = new StringBuilder(0x2d);

            sb.Append("BitVector64{");
            ulong data = (ulong)value.Data;

            for (int i = 0; i < 0x40; i++)
            {
                sb.Append(((data & 0x8000000000000000) == 0) ? '0' : '1');
                data = data << 1;
            }

            sb.Append("}");
            return(sb.ToString());

            //StringBuilder b = new StringBuilder();
            //b.Append("BitVector64{");
            //ulong mask = (ulong)Convert.ToInt64(0x8000000000000000);
            //while (mask > 0)
            //{
            //    b.Append((((ulong)value.Data & mask) == 0) ? '0' : '1');
            //    mask >>= 1;
            //}
            //b.Append('}');
            //return b.ToString();
        }
 public BitVector64(BitVector64 source)
 {
     this.data = source.data;
 }