34 writes to _sign
System.Runtime.Numerics (34)
System\Numerics\BigInteger.cs (34)
58
_sign
= value;
69
_sign
= (int)value;
74
_sign
= +1;
85
_sign
= (int)value;
98
_sign
= -1;
103
_sign
= +1;
127
_sign
= (int)value;
132
_sign
= +1;
138
_sign
= +1;
165
_sign
= 0;
191
_sign
= -_sign;
197
_sign
= -_sign;
218
_sign
= sign;
244
_sign
= bits[0];
245
_sign
*= ((bits[3] & signMask) != 0) ? -1 : +1;
261
_sign
= ((bits[3] & signMask) != 0) ? -1 : +1;
322
_sign
= 0;
330
_sign
= isNegative ? unchecked((int)0xffffffff) : 0;
336
_sign
= (_sign << 8) | value[i];
343
_sign
= (_sign << 8) | value[i];
355
_sign
= +1;
447
_sign
= (-1) * ((int)val[0]);
459
_sign
= -1;
465
_sign
= -1;
471
_sign
= +1;
489
_sign
= sign;
522
_sign
= negative ? -(int)value[0] : (int)value[0];
532
_sign
= negative ? -1 : +1;
538
_sign
= negative ? -1 : +1;
598
_sign
= unchecked((int)value[0]);
604
_sign
= +1;
609
_sign
= unchecked((int)value[0]);
623
_sign
= -1;
627
_sign
= +1;
223 references to _sign
System.Runtime.Numerics (223)
System\Number.BigInteger.cs (6)
621
TChar.CastFrom(value.
_sign
>= 0 ? '0' : (format == 'x') ? 'f' : 'F'),
662
int charsInHighByte = 9 - byte.LeadingZeroCount(value.
_sign
>= 0 ? highByte : (byte)~highByte);
704
sb.Append(TChar.CastFrom(value.
_sign
>= 0 ? '0' : '1'), digits - charsForBits);
783
spanSuccess = value.
_sign
.TryFormat(Unsafe.BitCast<Span<TChar>, Span<byte>>(destination), out charsWritten, formatSpan, info);
788
spanSuccess = value.
_sign
.TryFormat(Unsafe.BitCast<Span<TChar>, Span<char>>(destination), out charsWritten, formatSpan, info);
797
return value.
_sign
.ToString(formatString, info);
System\Numerics\BigInteger.cs (217)
191
_sign = -
_sign
;
197
_sign = -
_sign
;
336
_sign = (
_sign
<< 8) | value[i];
343
_sign = (
_sign
<< 8) | value[i];
348
if (
_sign
< 0 && !isNegative)
354
_bits = new uint[1] { unchecked((uint)
_sign
) };
357
if (
_sign
== int.MinValue)
647
return BitOperations.IsPow2(
_sign
);
649
if (
_sign
!= 1)
658
public bool IsZero { get { AssertValid(); return
_sign
== 0; } }
660
public bool IsOne { get { AssertValid(); return
_sign
== 1 && _bits == null; } }
662
public bool IsEven { get { AssertValid(); return _bits == null ? (
_sign
& 1) == 0 : (_bits[0] & 1) == 0; } }
666
get { AssertValid(); return (
_sign
>> (kcbitUint - 1)) - (-
_sign
>> (kcbitUint - 1)); }
738
return new BigInteger(unchecked((int)NumericsHelpers.Abs(value.
_sign
)), value._bits);
777
(quotient, remainder) = Math.DivRem(dividend.
_sign
, divisor.
_sign
);
804
BigIntegerCalculator.Divide(dividend._bits, NumericsHelpers.Abs(divisor.
_sign
), quotient, out rest);
806
remainder = dividend.
_sign
< 0 ? -1 * rest : rest;
807
return new BigInteger(quotient, (dividend.
_sign
< 0) ^ (divisor.
_sign
< 0));
839
remainder = new BigInteger(rest, dividend.
_sign
< 0);
840
var result = new BigInteger(quotient, (dividend.
_sign
< 0) ^ (divisor.
_sign
< 0));
864
if (value.
_sign
< 0 || baseValue == 1.0D)
871
return Math.Log(value.
_sign
, baseValue);
904
return BigIntegerCalculator.Gcd(NumericsHelpers.Abs(left.
_sign
), NumericsHelpers.Abs(right.
_sign
));
910
return left.
_sign
!= 0
911
? BigIntegerCalculator.Gcd(right._bits, NumericsHelpers.Abs(left.
_sign
))
918
return right.
_sign
!= 0
919
? BigIntegerCalculator.Gcd(left._bits, NumericsHelpers.Abs(right.
_sign
))
1007
uint bits = trivialValue && trivialExponent ? BigIntegerCalculator.Pow(NumericsHelpers.Abs(value.
_sign
), NumericsHelpers.Abs(exponent.
_sign
), NumericsHelpers.Abs(modulus.
_sign
)) :
1008
trivialValue ? BigIntegerCalculator.Pow(NumericsHelpers.Abs(value.
_sign
), exponent._bits!, NumericsHelpers.Abs(modulus.
_sign
)) :
1009
trivialExponent ? BigIntegerCalculator.Pow(value._bits!, NumericsHelpers.Abs(exponent.
_sign
), NumericsHelpers.Abs(modulus.
_sign
)) :
1010
BigIntegerCalculator.Pow(value._bits!, exponent._bits!, NumericsHelpers.Abs(modulus.
_sign
));
1012
result = value.
_sign
< 0 && !exponent.IsEven ? -1 * bits : bits;
1026
BigIntegerCalculator.Pow(NumericsHelpers.Abs(value.
_sign
), NumericsHelpers.Abs(exponent.
_sign
), modulus._bits!, bits);
1030
BigIntegerCalculator.Pow(NumericsHelpers.Abs(value.
_sign
), exponent._bits!, modulus._bits!, bits);
1035
BigIntegerCalculator.Pow(value._bits!, NumericsHelpers.Abs(exponent.
_sign
), modulus._bits!, bits);
1042
result = new BigInteger(bits, value.
_sign
< 0 && !exponent.IsEven);
1070
if (value.
_sign
== 1)
1072
if (value.
_sign
== -1)
1074
if (value.
_sign
== 0)
1083
BigIntegerCalculator.Pow(NumericsHelpers.Abs(value.
_sign
), power, bits);
1084
result = new BigInteger(bits, value.
_sign
< 0 && (exponent & 1) != 0);
1095
result = new BigInteger(bits, value.
_sign
< 0 && (exponent & 1) != 0);
1109
return
_sign
;
1113
hash.Add(
_sign
);
1129
return
_sign
== other;
1132
if ((
_sign
^ other) < 0 || (cu = _bits.Length) > 2)
1147
if (
_sign
< 0)
1150
return (ulong)
_sign
== other;
1165
return
_sign
== other.
_sign
&& _bits.AsSpan().SequenceEqual(other._bits);
1173
return ((long)
_sign
).CompareTo(other);
1175
if ((
_sign
^ other) < 0 || (cu = _bits.Length) > 2)
1176
return
_sign
;
1179
return
_sign
* uuTmp.CompareTo(uu);
1187
if (
_sign
< 0)
1190
return ((ulong)
_sign
).CompareTo(other);
1203
if ((
_sign
^ other.
_sign
) < 0)
1206
return
_sign
< 0 ? -1 : +1;
1213
return
_sign
< other.
_sign
? -1 :
_sign
> other.
_sign
? +1 : 0;
1214
return -other.
_sign
;
1218
return
_sign
;
1221
return
_sign
< 0 ? -bitsResult : bitsResult;
1351
int sign =
_sign
;
1564
Debug.Assert(_bits is null ||
_sign
== 0 ? buffer.Length == 2 : buffer.Length >= _bits.Length + 1);
1570
buffer[0] = unchecked((uint)
_sign
);
1571
highDWord = (
_sign
< 0) ? uint.MaxValue : 0;
1577
if (
_sign
== -1)
1679
string signStr =
_sign
< 0 ? NumberFormatInfo.CurrentInfo.NegativeSign : "";
1767
return (long)left.
_sign
- right.
_sign
;
1769
if (left.
_sign
< 0 != right.
_sign
< 0)
1770
return Add(left._bits, left.
_sign
, right._bits, -1 * right.
_sign
);
1771
return Subtract(left._bits, left.
_sign
, right._bits, right.
_sign
);
1858
return value.
_sign
;
1872
return new decimal(lo, mi, hi, value.
_sign
< 0, 0);
1879
int sign = value.
_sign
;
1938
return value.
_sign
; // Value packed into int32 sign
1945
if (value.
_sign
> 0)
1962
return value.
_sign
;
1981
long ll = value.
_sign
> 0 ? unchecked((long)uu) : unchecked(-(long)uu);
1982
if ((ll > 0 && value.
_sign
> 0) || (ll < 0 && value.
_sign
< 0))
1999
return value.
_sign
;
2027
Int128 ll = (value.
_sign
> 0) ? unchecked((Int128)uu) : unchecked(-(Int128)uu);
2029
if (((ll > 0) && (value.
_sign
> 0)) || ((ll < 0) && (value.
_sign
< 0)))
2075
return checked((uint)value.
_sign
);
2077
else if (value._bits.Length > 1 || value.
_sign
< 0)
2093
return checked((ulong)value.
_sign
);
2097
if (len > 2 || value.
_sign
< 0)
2119
return checked((UInt128)value.
_sign
);
2124
if ((len > 4) || (value.
_sign
< 0))
2408
return left.
_sign
& right.
_sign
;
2411
uint xExtend = (left.
_sign
< 0) ? uint.MaxValue : 0;
2412
uint yExtend = (right.
_sign
< 0) ? uint.MaxValue : 0;
2464
return left.
_sign
| right.
_sign
;
2467
uint xExtend = (left.
_sign
< 0) ? uint.MaxValue : 0;
2468
uint yExtend = (right.
_sign
< 0) ? uint.MaxValue : 0;
2515
return left.
_sign
^ right.
_sign
;
2518
uint xExtend = (left.
_sign
< 0) ? uint.MaxValue : 0;
2519
uint yExtend = (right.
_sign
< 0) ? uint.MaxValue : 0;
2576
return LeftShift(value.
_sign
, digitShift, smallShift);
2609
return new BigInteger(value.
_sign
, z);
2667
return new BigInteger(value.
_sign
>> smallShift, null);
2677
return new BigInteger(value.
_sign
>> (kcbitUint - 1), null);
2689
bool neg = value.
_sign
< 0;
2716
return new BigInteger(-value.
_sign
, value._bits);
2741
return (long)left.
_sign
+ right.
_sign
;
2743
if (left.
_sign
< 0 != right.
_sign
< 0)
2744
return Subtract(left._bits, left.
_sign
, right._bits, -1 * right.
_sign
);
2745
return Add(left._bits, left.
_sign
, right._bits, right.
_sign
);
2754
return (long)left.
_sign
* right.
_sign
;
2756
return Multiply(left._bits, left.
_sign
, right._bits, right.
_sign
);
2846
return dividend.
_sign
/ divisor.
_sign
;
2870
BigIntegerCalculator.Divide(dividend._bits, NumericsHelpers.Abs(divisor.
_sign
), quotient);
2871
return new BigInteger(quotient, (dividend.
_sign
< 0) ^ (divisor.
_sign
< 0));
2894
var result = new BigInteger(quotient, (dividend.
_sign
< 0) ^ (divisor.
_sign
< 0));
2913
return dividend.
_sign
% divisor.
_sign
;
2926
uint remainder = BigIntegerCalculator.Remainder(dividend._bits, NumericsHelpers.Abs(divisor.
_sign
));
2927
return dividend.
_sign
< 0 ? -1 * remainder : remainder;
2944
var result = new BigInteger(bits, dividend.
_sign
< 0);
3124
int sign =
_sign
;
3168
Debug.Assert(
_sign
== 1 ||
_sign
== -1);
3181
Debug.Assert(
_sign
> int.MinValue);
3210
return int.LeadingZeroCount(value.
_sign
);
3216
return (value.
_sign
>= 0) ? uint.LeadingZeroCount(value._bits[^1]) : 0;
3226
return int.PopCount(value.
_sign
);
3231
if (value.
_sign
>= 0)
3281
bool neg = value.
_sign
< 0;
3285
uint rs = BitOperations.RotateLeft((uint)value.
_sign
, rotateAmount);
3302
bool neg = value.
_sign
< 0;
3306
uint rs = BitOperations.RotateRight((uint)value.
_sign
, rotateAmount);
3379
return int.TrailingZeroCount(value.
_sign
);
3422
int value =
_sign
;
3436
if (
_sign
>= 0)
3478
int value = BitConverter.IsLittleEndian ? BinaryPrimitives.ReverseEndianness(
_sign
) :
_sign
;
3481
else if (
_sign
>= 0)
3580
int value = BitConverter.IsLittleEndian ?
_sign
: BinaryPrimitives.ReverseEndianness(
_sign
);
3583
else if (
_sign
>= 0)
3681
if (
_sign
< 0)
3731
return 31 ^ uint.LeadingZeroCount((uint)(value.
_sign
| 1));
3785
int currentSign = value.
_sign
;
3792
int targetSign = sign.
_sign
;
3815
return int.Sign(value.
_sign
);
3818
return value.
_sign
;
3898
return (value.
_sign
& 1) == 0;
3922
return value.
_sign
< 0;
3938
return (value.
_sign
& 1) != 0;
3947
return value.
_sign
>= 0;
3963
return value.
_sign
== 0;
4503
actualResult = (value.
_sign
>= byte.MaxValue) ? byte.MaxValue :
4504
(value.
_sign
<= byte.MinValue) ? byte.MinValue : (byte)value.
_sign
;
4520
actualResult = (value.
_sign
>= char.MaxValue) ? char.MaxValue :
4521
(value.
_sign
<= char.MinValue) ? char.MinValue : (char)value.
_sign
;
4562
actualResult = (value.
_sign
>= short.MaxValue) ? short.MaxValue :
4563
(value.
_sign
<= short.MinValue) ? short.MinValue : (short)value.
_sign
;
4579
actualResult = (value.
_sign
>= int.MaxValue) ? int.MaxValue :
4580
(value.
_sign
<= int.MinValue) ? int.MinValue : (int)value.
_sign
;
4623
actualResult = (value.
_sign
>= sbyte.MaxValue) ? sbyte.MaxValue :
4624
(value.
_sign
<= sbyte.MinValue) ? sbyte.MinValue : (sbyte)value.
_sign
;
4646
actualResult = (value.
_sign
>= ushort.MaxValue) ? ushort.MaxValue :
4647
(value.
_sign
<= ushort.MinValue) ? ushort.MinValue : (ushort)value.
_sign
;
4709
actualResult = (byte)value.
_sign
;
4732
actualResult = (char)value.
_sign
;
4773
actualResult = (short)value.
_sign
;
4789
actualResult = value.
_sign
;
4820
actualResult = value.
_sign
;
4865
actualResult = value.
_sign
;
4896
actualResult = value.
_sign
;
4918
actualResult = (sbyte)value.
_sign
;
4947
actualResult = (ushort)value.
_sign
;
4970
actualResult = (uint)value.
_sign
;
5001
actualResult = (ulong)value.
_sign
;
5046
actualResult = (UInt128)value.
_sign
;
5077
actualResult = (nuint)value.
_sign
;
5124
return new BigInteger(value.
_sign
>>> smallShift, null);
5138
bool neg = value.
_sign
< 0;
5224
return new BigInteger(value.
_sign
>> (kcbitUint - 1), null);