private static BigInteger createValueOf(
long value)
{
if (value < 0)
{
if (value == long.MinValue)
return createValueOf(~value).Not();
return createValueOf(-value).Negate();
}
return createUValueOf((ulong)value);
// // store value into a byte array
// byte[] b = new byte[8];
// for (int i = 0; i < 8; i++)
// {
// b[7 - i] = (byte)value;
// value >>= 8;
// }
//
// return new BigInteger(b);
}