Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
System.Number Class Reference

Classes

struct  BigInteger
 
struct  DiyFp
 
struct  FloatingPointInfo
 
class  Grisu3
 
struct  NumberBuffer
 

Static Public Member Functions

static void Dragon4Double (double value, int cutoffNumber, bool isSignificantDigits, ref NumberBuffer number)
 
static void Dragon4Half (Half value, int cutoffNumber, bool isSignificantDigits, ref NumberBuffer number)
 
static void Dragon4Single (float value, int cutoffNumber, bool isSignificantDigits, ref NumberBuffer number)
 
static unsafe string FormatDecimal (decimal value, ReadOnlySpan< char > format, NumberFormatInfo info)
 
static unsafe bool TryFormatDecimal (decimal value, ReadOnlySpan< char > format, NumberFormatInfo info, Span< char > destination, out int charsWritten)
 
static string FormatDouble (double value, string format, NumberFormatInfo info)
 
static bool TryFormatDouble (double value, ReadOnlySpan< char > format, NumberFormatInfo info, Span< char > destination, out int charsWritten)
 
static string FormatSingle (float value, string format, NumberFormatInfo info)
 
static bool TryFormatSingle (float value, ReadOnlySpan< char > format, NumberFormatInfo info, Span< char > destination, out int charsWritten)
 
static string FormatHalf (Half value, string format, NumberFormatInfo info)
 
static bool TryFormatHalf (Half value, ReadOnlySpan< char > format, NumberFormatInfo info, Span< char > destination, out int charsWritten)
 
static string FormatInt32 (int value, int hexMask, string format, IFormatProvider provider)
 
static bool TryFormatInt32 (int value, int hexMask, ReadOnlySpan< char > format, IFormatProvider provider, Span< char > destination, out int charsWritten)
 
static string FormatUInt32 (uint value, string format, IFormatProvider provider)
 
static bool TryFormatUInt32 (uint value, ReadOnlySpan< char > format, IFormatProvider provider, Span< char > destination, out int charsWritten)
 
static string FormatInt64 (long value, string format, IFormatProvider provider)
 
static bool TryFormatInt64 (long value, ReadOnlySpan< char > format, IFormatProvider provider, Span< char > destination, out int charsWritten)
 
static string FormatUInt64 (ulong value, string format, IFormatProvider provider)
 
static bool TryFormatUInt64 (ulong value, ReadOnlySpan< char > format, IFormatProvider provider, Span< char > destination, out int charsWritten)
 
static string Int32ToDecStr (int value)
 
static string Int64ToDecStr (long value)
 

Package Types

enum  NumberBufferKind : byte { Unknown , Integer , Decimal , FloatingPoint }
 
enum  ParsingStatus { OK , Failed , Overflow }
 

Static Package Functions

static unsafe void DecimalToNumber (ref decimal d, ref NumberBuffer number)
 
static unsafe byte * UInt32ToDecChars (byte *bufferEnd, uint value, int digits)
 
static unsafe char * UInt32ToDecChars (char *bufferEnd, uint value, int digits)
 
static unsafe string UInt32ToDecStr (uint value)
 
static unsafe string UInt64ToDecStr (ulong value, int digits)
 
static char ParseFormatSpecifier (ReadOnlySpan< char > format, out int digits)
 
static void NumberToString (ref ValueStringBuilder sb, ref NumberBuffer number, char format, int nMaxDigits, NumberFormatInfo info)
 
static unsafe void NumberToStringFormat (ref ValueStringBuilder sb, ref NumberBuffer number, ReadOnlySpan< char > format, NumberFormatInfo info)
 
static unsafe void RoundNumber (ref NumberBuffer number, int pos, bool isCorrectlyRounded)
 
static int ParseInt32 (ReadOnlySpan< char > value, NumberStyles styles, NumberFormatInfo info)
 
static long ParseInt64 (ReadOnlySpan< char > value, NumberStyles styles, NumberFormatInfo info)
 
static uint ParseUInt32 (ReadOnlySpan< char > value, NumberStyles styles, NumberFormatInfo info)
 
static ulong ParseUInt64 (ReadOnlySpan< char > value, NumberStyles styles, NumberFormatInfo info)
 
static ParsingStatus TryParseInt32 (ReadOnlySpan< char > value, NumberStyles styles, NumberFormatInfo info, out int result)
 
static ParsingStatus TryParseInt32IntegerStyle (ReadOnlySpan< char > value, NumberStyles styles, NumberFormatInfo info, out int result)
 
static ParsingStatus TryParseInt64IntegerStyle (ReadOnlySpan< char > value, NumberStyles styles, NumberFormatInfo info, out long result)
 
static ParsingStatus TryParseInt64 (ReadOnlySpan< char > value, NumberStyles styles, NumberFormatInfo info, out long result)
 
static ParsingStatus TryParseUInt32 (ReadOnlySpan< char > value, NumberStyles styles, NumberFormatInfo info, out uint result)
 
static ParsingStatus TryParseUInt32IntegerStyle (ReadOnlySpan< char > value, NumberStyles styles, NumberFormatInfo info, out uint result)
 
static ParsingStatus TryParseUInt32HexNumberStyle (ReadOnlySpan< char > value, NumberStyles styles, out uint result)
 
static ParsingStatus TryParseUInt64 (ReadOnlySpan< char > value, NumberStyles styles, NumberFormatInfo info, out ulong result)
 
static ParsingStatus TryParseUInt64IntegerStyle (ReadOnlySpan< char > value, NumberStyles styles, NumberFormatInfo info, out ulong result)
 
static decimal ParseDecimal (ReadOnlySpan< char > value, NumberStyles styles, NumberFormatInfo info)
 
static unsafe bool TryNumberToDecimal (ref NumberBuffer number, ref decimal value)
 
static double ParseDouble (ReadOnlySpan< char > value, NumberStyles styles, NumberFormatInfo info)
 
static float ParseSingle (ReadOnlySpan< char > value, NumberStyles styles, NumberFormatInfo info)
 
static Half ParseHalf (ReadOnlySpan< char > value, NumberStyles styles, NumberFormatInfo info)
 
static unsafe ParsingStatus TryParseDecimal (ReadOnlySpan< char > value, NumberStyles styles, NumberFormatInfo info, out decimal result)
 
static bool SpanStartsWith (ReadOnlySpan< char > span, char c)
 
static unsafe bool TryParseDouble (ReadOnlySpan< char > value, NumberStyles styles, NumberFormatInfo info, out double result)
 
static unsafe bool TryParseHalf (ReadOnlySpan< char > value, NumberStyles styles, NumberFormatInfo info, out Half result)
 
static unsafe bool TryParseSingle (ReadOnlySpan< char > value, NumberStyles styles, NumberFormatInfo info, out float result)
 
static unsafe bool TryStringToNumber (ReadOnlySpan< char > value, NumberStyles styles, ref NumberBuffer number, NumberFormatInfo info)
 
static void ThrowOverflowOrFormatException (ParsingStatus status, TypeCode type=TypeCode.Empty)
 
static void ThrowOverflowException (TypeCode type)
 
static double NumberToDouble (ref NumberBuffer number)
 
static Half NumberToHalf (ref NumberBuffer number)
 
static float NumberToSingle (ref NumberBuffer number)
 

Static Private Member Functions

static unsafe uint Dragon4 (ulong mantissa, int exponent, uint mantissaHighBitIdx, bool hasUnequalMargins, int cutoffNumber, bool isSignificantDigits, Span< byte > buffer, out int decimalExponent)
 
static int GetFloatingPointMaxDigitsAndPrecision (char fmt, ref int precision, NumberFormatInfo info, out bool isSignificantDigits)
 
static unsafe string FormatDouble (ref ValueStringBuilder sb, double value, ReadOnlySpan< char > format, NumberFormatInfo info)
 
static unsafe string FormatSingle (ref ValueStringBuilder sb, float value, ReadOnlySpan< char > format, NumberFormatInfo info)
 
static unsafe string FormatHalf (ref ValueStringBuilder sb, Half value, ReadOnlySpan< char > format, NumberFormatInfo info)
 
static bool TryCopyTo (string source, Span< char > destination, out int charsWritten)
 
static char GetHexBase (char fmt)
 
static unsafe void Int32ToNumber (int value, ref NumberBuffer number)
 
static unsafe string NegativeInt32ToDecStr (int value, int digits, string sNegative)
 
static unsafe bool TryNegativeInt32ToDecStr (int value, int digits, string sNegative, Span< char > destination, out int charsWritten)
 
static unsafe string Int32ToHexStr (int value, char hexBase, int digits)
 
static unsafe bool TryInt32ToHexStr (int value, char hexBase, int digits, Span< char > destination, out int charsWritten)
 
static unsafe char * Int32ToHexChars (char *buffer, uint value, int hexBase, int digits)
 
static unsafe void UInt32ToNumber (uint value, ref NumberBuffer number)
 
static unsafe string UInt32ToDecStr (uint value, int digits)
 
static unsafe bool TryUInt32ToDecStr (uint value, int digits, Span< char > destination, out int charsWritten)
 
static unsafe void Int64ToNumber (long input, ref NumberBuffer number)
 
static unsafe string NegativeInt64ToDecStr (long input, int digits, string sNegative)
 
static unsafe bool TryNegativeInt64ToDecStr (long input, int digits, string sNegative, Span< char > destination, out int charsWritten)
 
static unsafe string Int64ToHexStr (long value, char hexBase, int digits)
 
static unsafe bool TryInt64ToHexStr (long value, char hexBase, int digits, Span< char > destination, out int charsWritten)
 
static unsafe void UInt64ToNumber (ulong value, ref NumberBuffer number)
 
static unsafe bool TryUInt64ToDecStr (ulong value, int digits, Span< char > destination, out int charsWritten)
 
static void FormatCurrency (ref ValueStringBuilder sb, ref NumberBuffer number, int nMaxDigits, NumberFormatInfo info)
 
static unsafe void FormatFixed (ref ValueStringBuilder sb, ref NumberBuffer number, int nMaxDigits, int[] groupDigits, string sDecimal, string sGroup)
 
static void FormatNumber (ref ValueStringBuilder sb, ref NumberBuffer number, int nMaxDigits, NumberFormatInfo info)
 
static unsafe void FormatScientific (ref ValueStringBuilder sb, ref NumberBuffer number, int nMaxDigits, NumberFormatInfo info, char expChar)
 
static unsafe void FormatExponent (ref ValueStringBuilder sb, NumberFormatInfo info, int value, char expChar, int minDigits, bool positiveSign)
 
static unsafe void FormatGeneral (ref ValueStringBuilder sb, ref NumberBuffer number, int nMaxDigits, NumberFormatInfo info, char expChar, bool bSuppressScientific)
 
static void FormatPercent (ref ValueStringBuilder sb, ref NumberBuffer number, int nMaxDigits, NumberFormatInfo info)
 
static unsafe int FindSection (ReadOnlySpan< char > format, int section)
 
static uint Low32 (ulong value)
 
static uint High32 (ulong value)
 
static uint Int64DivMod1E9 (ref ulong value)
 
static ulong ExtractFractionAndBiasedExponent (double value, out int exponent)
 
static ushort ExtractFractionAndBiasedExponent (Half value, out int exponent)
 
static uint ExtractFractionAndBiasedExponent (float value, out int exponent)
 
static unsafe void AccumulateDecimalDigitsIntoBigInteger (ref NumberBuffer number, uint firstIndex, uint lastIndex, out BigInteger result)
 
static ulong AssembleFloatingPointBits (in FloatingPointInfo info, ulong initialMantissa, int initialExponent, bool hasZeroTail)
 
static ulong ConvertBigIntegerToFloatingPointBits (ref BigInteger value, in FloatingPointInfo info, uint integerBitsOfPrecision, bool hasNonZeroFractionalPart)
 
static unsafe uint DigitsToUInt32 (byte *p, int count)
 
static unsafe ulong DigitsToUInt64 (byte *p, int count)
 
static unsafe ulong NumberToDoubleFloatingPointBits (ref NumberBuffer number, in FloatingPointInfo info)
 
static unsafe ushort NumberToHalfFloatingPointBits (ref NumberBuffer number, in FloatingPointInfo info)
 
static unsafe uint NumberToSingleFloatingPointBits (ref NumberBuffer number, in FloatingPointInfo info)
 
static ulong NumberToFloatingPointBitsSlow (ref NumberBuffer number, in FloatingPointInfo info, uint positiveExponent, uint integerDigitsPresent, uint fractionalDigitsPresent)
 
static ulong RightShiftWithRounding (ulong value, int shift, bool hasZeroTail)
 
static bool ShouldRoundUp (bool lsbBit, bool roundBit, bool hasTailBits)
 
static unsafe bool TryNumberToInt32 (ref NumberBuffer number, ref int value)
 
static unsafe bool TryNumberToInt64 (ref NumberBuffer number, ref long value)
 
static unsafe bool TryNumberToUInt32 (ref NumberBuffer number, ref uint value)
 
static unsafe bool TryNumberToUInt64 (ref NumberBuffer number, ref ulong value)
 
static unsafe bool TryParseNumber (ref char *str, char *strEnd, NumberStyles styles, ref NumberBuffer number, NumberFormatInfo info)
 
static unsafe ParsingStatus TryParseInt32Number (ReadOnlySpan< char > value, NumberStyles styles, NumberFormatInfo info, out int result)
 
static unsafe ParsingStatus TryParseInt64Number (ReadOnlySpan< char > value, NumberStyles styles, NumberFormatInfo info, out long result)
 
static unsafe ParsingStatus TryParseUInt32Number (ReadOnlySpan< char > value, NumberStyles styles, NumberFormatInfo info, out uint result)
 
static unsafe ParsingStatus TryParseUInt64Number (ReadOnlySpan< char > value, NumberStyles styles, NumberFormatInfo info, out ulong result)
 
static ParsingStatus TryParseUInt64HexNumberStyle (ReadOnlySpan< char > value, NumberStyles styles, out ulong result)
 
static bool TrailingZeros (ReadOnlySpan< char > value, int index)
 
static bool IsSpaceReplacingChar (char c)
 
static unsafe char * MatchNegativeSignChars (char *p, char *pEnd, NumberFormatInfo info)
 
static unsafe char * MatchChars (char *p, char *pEnd, string value)
 
static bool IsWhite (int ch)
 
static bool IsDigit (int ch)
 
static Exception GetException (ParsingStatus status, TypeCode type)
 

Static Private Attributes

static readonly string[] s_singleDigitStringCache = new string[10] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" }
 
static readonly string[] s_posCurrencyFormats = new string[4] { "$#", "#$", "$ #", "# $" }
 
static readonly string[] s_negCurrencyFormats
 
static readonly string[] s_posPercentFormats = new string[4] { "# %", "#%", "%#", "% #" }
 
static readonly string[] s_negPercentFormats
 
static readonly string[] s_negNumberFormats = new string[5] { "(#)", "-#", "- #", "#-", "# -" }
 
static readonly float[] s_Pow10SingleTable
 
static readonly double[] s_Pow10DoubleTable
 

Detailed Description

Definition at line 12 of file Number.cs.


The documentation for this class was generated from the following file: