Definition at line 1273 of file Decimal.cs.
1274 {
1275 result = default(DecCalc);
1277 if (num < -94)
1278 {
1279 return;
1280 }
1281 if (num > 96)
1282 {
1283 Number.ThrowOverflowException(TypeCode.Decimal);
1284 }
1287 {
1290 }
1292 int num4 = 6 - (num * 19728 >> 16);
1294 {
1296 {
1298 }
1300 }
1301 else if (
num4 != -1 ||
num3 >= 10000000.0)
1302 {
1304 }
1305 else
1306 {
1308 }
1310 {
1313 }
1316 {
1317 num5 = (uint)(
int)Math.Round(
num3);
1318 }
1319 else
1320 {
1323 if (
num3 > 0.5 || (
num3 == 0.5 && (
num5 & (
true ? 1
u : 0
u)) != 0))
1324 {
1326 }
1327 }
1329 {
1330 return;
1331 }
1333 {
1336 {
1338 }
1340 {
1343 }
1344 else
1345 {
1354 }
1355 }
1356 else
1357 {
1360 {
1362 }
1364 {
1367 {
1371 }
1372 }
1374 {
1377 {
1381 }
1382 }
1384 {
1387 {
1390 }
1391 }
1394 }
1396 }
static new bool IsSupported
static void UInt64x64To128(ulong a, ulong b, ref DecCalc result)
static readonly uint[] s_powers10
static unsafe uint GetExponent(float f)
static readonly double[] s_doublePowers10
static ulong UInt32x32To64(uint a, uint b)
References System.Runtime.Serialization.Dictionary, System.Decimal.DecCalc.GetExponent(), System.input, System.Runtime.Intrinsics.X86.Sse41.IsSupported, System.Math.Round(), System.Decimal.DecCalc.s_doublePowers10, System.Decimal.DecCalc.s_powers10, System.Number.ThrowOverflowException(), System.Decimal.DecCalc.UInt32x32To64(), and System.Decimal.DecCalc.UInt64x64To128().
Referenced by System.Decimal.Decimal().