Records

Functions

  • template <typename V, typename A>
    V align_up (V val, A align)

    Defined at line 24 of file ../../third_party/llvm-libc/src/src/__support/arg_list.h

  • template <typename T>
    T byte_swap (T value)
  • template <>
    uint16_t byte_swap<unsigned short> (uint16_t value)

    Defined at line 34 of file ../../third_party/llvm-libc/src/src/__support/endian_internal.h

  • template <typename CharType>
    size_t first_non_whitespace (const CharType *__restrict src, size_t src_len)

    Returns the idx to the first character in src that is not a whitespace

    character (as determined by isspace())

    Defined at line 36 of file ../../third_party/llvm-libc/src/src/__support/str_to_integer.h

  • template <typename CharType>
    size_t first_non_whitespace (const CharType *__restrict src, size_t src_len)

    Returns the idx to the first character in src that is not a whitespace

    character (as determined by isspace())

    Defined at line 36 of file ../../third_party/llvm-libc/src/src/__support/str_to_integer.h

  • template <>
    uint32_t byte_swap<unsigned int> (uint32_t value)

    Defined at line 42 of file ../../third_party/llvm-libc/src/src/__support/endian_internal.h

  • template <>
    uint64_t byte_swap<unsigned long> (uint64_t value)

    Defined at line 53 of file ../../third_party/llvm-libc/src/src/__support/endian_internal.h

  • template <>
    uint64_t byte_swap<unsigned long long> (uint64_t value)

    Defined at line 53 of file ../../third_party/llvm-libc/src/src/__support/endian_internal.h

  • bool same_string (const char * lhs, const char * rhs)

    Defined at line 69 of file ../../third_party/llvm-libc/src/src/__support/common.h

  • template <typename T, typename CharType>
    StrToNumResult<T> strtointeger (const CharType *__restrict src, int base, const size_t src_len)

    -----------------------------------------------------------------------------

    **** WARNING ****

    This interface is shared with libc++, if you change this interface you need

    to update it in both libc and libc++.

    -----------------------------------------------------------------------------

    Takes a pointer to a string and the base to convert to. This function is used

    as the backend for all of the string to int functions.

    Defined at line 97 of file ../../third_party/llvm-libc/src/src/__support/str_to_integer.h

  • template <typename T, typename CharType>
    StrToNumResult<T> strtointeger (const CharType *__restrict src, int base, const size_t src_len)

    -----------------------------------------------------------------------------

    **** WARNING ****

    This interface is shared with libc++, if you change this interface you need

    to update it in both libc and libc++.

    -----------------------------------------------------------------------------

    Takes a pointer to a string and the base to convert to. This function is used

    as the backend for all of the string to int functions.

    Defined at line 97 of file ../../third_party/llvm-libc/src/src/__support/str_to_integer.h

  • uint32_t log10_pow2 (uint64_t e)

    Returns floor(log_10(2^e)); requires 0

    <

    = e

    <

    = 42039.

    Defined at line 125 of file ../../third_party/llvm-libc/src/src/__support/float_to_string.h

  • uint32_t log10_pow2 (uint64_t e)

    Returns floor(log_10(2^e)); requires 0

    <

    = e

    <

    = 42039.

    Defined at line 125 of file ../../third_party/llvm-libc/src/src/__support/float_to_string.h

  • uint32_t log2_pow5 (uint64_t e)

    Same as above, but with different constants.

    Defined at line 151 of file ../../third_party/llvm-libc/src/src/__support/float_to_string.h

  • uint32_t log2_pow5 (uint64_t e)

    Same as above, but with different constants.

    Defined at line 151 of file ../../third_party/llvm-libc/src/src/__support/float_to_string.h

  • uint32_t ceil_log10_pow2 (uint32_t e)

    Returns 1 + floor(log_10(2^e). This could technically be off by 1 if any

    power of 2 was also a power of 10, but since that doesn't exist this is

    always accurate. This is used to calculate the maximum number of base-10

    digits a given e-bit number could have.

    Defined at line 159 of file ../../third_party/llvm-libc/src/src/__support/float_to_string.h

  • uint32_t div_ceil (uint32_t num, uint32_t denom)

    Defined at line 163 of file ../../third_party/llvm-libc/src/src/__support/float_to_string.h

  • uint32_t length_for_num (uint32_t idx, uint32_t mantissa_width)

    Returns the maximum number of 9 digit blocks a number described by the given

    index (which is ceil(exponent/16)) and mantissa width could need.

    Defined at line 169 of file ../../third_party/llvm-libc/src/src/__support/float_to_string.h

  • template <size_t INT_SIZE>
    UInt<MID_INT_SIZE> get_table_positive (int exponent, size_t i)

    TODO: Fix long doubles (needs bigger table or alternate algorithm.)

    Currently the table values are generated, which is very slow.

    Defined at line 183 of file ../../third_party/llvm-libc/src/src/__support/float_to_string.h

  • template <size_t INT_SIZE>
    UInt<MID_INT_SIZE> get_table_positive (int exponent, size_t i)

    TODO: Fix long doubles (needs bigger table or alternate algorithm.)

    Currently the table values are generated, which is very slow.

    Defined at line 183 of file ../../third_party/llvm-libc/src/src/__support/float_to_string.h

  • template <size_t INT_SIZE>
    UInt<MID_INT_SIZE> get_table_positive_df (int exponent, size_t i)

    Defined at line 221 of file ../../third_party/llvm-libc/src/src/__support/float_to_string.h

  • template <size_t INT_SIZE>
    UInt<MID_INT_SIZE> get_table_positive_df (int exponent, size_t i)

    Defined at line 221 of file ../../third_party/llvm-libc/src/src/__support/float_to_string.h

  • template <size_t INT_SIZE>
    UInt<MID_INT_SIZE> get_table_negative (int exponent, size_t i)

    The formula for the table when i is negative (or zero) is as follows:

    floor(10^(-9i) * 2^(c_0 - e)) % (10^9 * 2^c_0)

    Since we know i is always negative, we just take it as unsigned and treat it

    as negative. We do the same with exponent, while they're both always negative

    in theory, in practice they're converted to positive for simpler

    calculations.

    The formula being used looks more like this:

    floor(10^(9*(-i)) * 2^(c_0 + (-e))) % (10^9 * 2^c_0)

    Defined at line 279 of file ../../third_party/llvm-libc/src/src/__support/float_to_string.h

  • template <size_t INT_SIZE>
    UInt<MID_INT_SIZE> get_table_negative (int exponent, size_t i)

    The formula for the table when i is negative (or zero) is as follows:

    floor(10^(-9i) * 2^(c_0 - e)) % (10^9 * 2^c_0)

    Since we know i is always negative, we just take it as unsigned and treat it

    as negative. We do the same with exponent, while they're both always negative

    in theory, in practice they're converted to positive for simpler

    calculations.

    The formula being used looks more like this:

    floor(10^(9*(-i)) * 2^(c_0 + (-e))) % (10^9 * 2^c_0)

    Defined at line 279 of file ../../third_party/llvm-libc/src/src/__support/float_to_string.h

  • template <size_t INT_SIZE>
    UInt<MID_INT_SIZE> get_table_negative_df (int exponent, size_t i)

    Defined at line 331 of file ../../third_party/llvm-libc/src/src/__support/float_to_string.h

  • template <size_t INT_SIZE>
    UInt<MID_INT_SIZE> get_table_negative_df (int exponent, size_t i)

    Defined at line 331 of file ../../third_party/llvm-libc/src/src/__support/float_to_string.h

  • uint32_t mul_shift_mod_1e9 (const FPBits::StorageType mantissa, const UInt<MID_INT_SIZE> & large, const int32_t shift_amount)

    Defined at line 375 of file ../../third_party/llvm-libc/src/src/__support/float_to_string.h

  • uint32_t mul_shift_mod_1e9 (const FPBits::StorageType mantissaconst UInt<MID_INT_SIZE> & largeconst int32_t shift_amount)

    Defined at line 375 of file ../../third_party/llvm-libc/src/src/__support/float_to_string.h