42 references to NumericsHelpers
System.Runtime.Numerics (42)
System\Number.BigInteger.cs (1)
274
NumericsHelpers
.DangerousMakeTwosComplement(bits);
System\Numerics\BigInteger.cs (40)
172
NumericsHelpers
.GetDoubleParts(value, out int sign, out int exp, out ulong man, out _);
467
NumericsHelpers
.DangerousMakeTwosComplement(val); // Mutates val
631
NumericsHelpers
.DangerousMakeTwosComplement(value);
669
NumericsHelpers
.DangerousMakeTwosComplement(value);
866
return new BigInteger((int)
NumericsHelpers
.Abs(value._sign), value._bits);
923
BigIntegerCalculator.Divide(dividend._bits,
NumericsHelpers
.Abs(divisor._sign), quotient, out nuint rest);
1037
return BigIntegerCalculator.Gcd(
NumericsHelpers
.Abs(left._sign),
NumericsHelpers
.Abs(right._sign));
1044
? BigIntegerCalculator.Gcd(right._bits,
NumericsHelpers
.Abs(left._sign))
1052
? BigIntegerCalculator.Gcd(left._bits,
NumericsHelpers
.Abs(right._sign))
1121
nuint bitsResult = trivialValue && trivialExponent ? BigIntegerCalculator.Pow(
NumericsHelpers
.Abs(value._sign),
NumericsHelpers
.Abs(exponent._sign),
NumericsHelpers
.Abs(modulus._sign)) :
1122
trivialValue ? BigIntegerCalculator.Pow(
NumericsHelpers
.Abs(value._sign), exponent._bits!,
NumericsHelpers
.Abs(modulus._sign)) :
1123
trivialExponent ? BigIntegerCalculator.Pow(value._bits!,
NumericsHelpers
.Abs(exponent._sign),
NumericsHelpers
.Abs(modulus._sign)) :
1124
BigIntegerCalculator.Pow(value._bits!, exponent._bits!,
NumericsHelpers
.Abs(modulus._sign));
1136
BigIntegerCalculator.Pow(
NumericsHelpers
.Abs(value._sign),
NumericsHelpers
.Abs(exponent._sign), modulus._bits!, bits);
1140
BigIntegerCalculator.Pow(
NumericsHelpers
.Abs(value._sign), exponent._bits!, modulus._bits!, bits);
1145
BigIntegerCalculator.Pow(value._bits!,
NumericsHelpers
.Abs(exponent._sign), modulus._bits!, bits);
1176
nuint power =
NumericsHelpers
.Abs(exponent);
1199
BigIntegerCalculator.Pow(
NumericsHelpers
.Abs(value._sign), power, bits);
1744
NumericsHelpers
.DangerousMakeTwosComplement(buffer.Slice(0, buffer.Length - 1)); // Mutates limbs
1888
BigIntegerCalculator.Add(rightBits,
NumericsHelpers
.Abs(leftSign), bits);
1899
BigIntegerCalculator.Add(leftBits,
NumericsHelpers
.Abs(rightSign), bits);
1957
BigIntegerCalculator.Subtract(rightBits,
NumericsHelpers
.Abs(leftSign), bits);
1968
BigIntegerCalculator.Subtract(leftBits,
NumericsHelpers
.Abs(rightSign), bits);
2063
return
NumericsHelpers
.GetDoubleFromParts(sign, exp, man);
2632
nuint m =
NumericsHelpers
.Abs(value);
2860
BigIntegerCalculator.Multiply(right,
NumericsHelpers
.Abs(leftSign), bits);
2871
BigIntegerCalculator.Multiply(left,
NumericsHelpers
.Abs(rightSign), bits);
2924
BigIntegerCalculator.Divide(dividend._bits,
NumericsHelpers
.Abs(divisor._sign), quotient);
2973
nuint remainder = BigIntegerCalculator.Remainder(dividend._bits,
NumericsHelpers
.Abs(divisor._sign));
3293
NumericsHelpers
.DangerousMakeOnesComplement(zd.Slice(leadingZeroCount + 1));
3300
NumericsHelpers
.DangerousMakeTwosComplement(zd);
5064
NumericsHelpers
.DangerousMakeOnesComplement(zd.Slice(negLeadingZeroCount + 1));
5069
NumericsHelpers
.DangerousMakeOnesComplement(zd);
5083
NumericsHelpers
.DangerousMakeTwosComplement(zd);
System\Numerics\BigIntegerCalculator.Bitwise.cs (1)
84
mag = i == 0 ? (isNegative ?
NumericsHelpers
.Abs((int)inlineValue) : inlineValue) : 0;