236 {
238 {
241 low = num;
242 return result;
243 }
245 {
246 }
247 return SoftwareFallback(a, b, out low);
248 static ulong SoftwareFallback(ulong a, ulong b, out ulong low)
249 {
250 uint num2 = (uint)a;
251 uint num3 = (uint)(a >> 32);
252 uint num4 = (uint)b;
253 uint num5 = (uint)(b >> 32);
254 ulong num6 = (ulong)num2 * (ulong)num4;
255 ulong num7 = (ulong)((long)num3 * (long)num4) + (num6 >> 32);
256 ulong num8 = (ulong)((long)num2 * (long)num5 + (uint)num7);
257 low = (num8 << 32) | (uint)num6;
258 return (ulong)((long)num3 * (long)num5 + (long)(num7 >> 32)) + (num8 >> 32);
259 }
260 }
static ulong MultiplyNoFlags(ulong left, ulong right)
static new bool IsSupported