Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/third_party/dav1d/src/loongarch/   (Firefox Browser Version 153.0.1©)  Datei vom 27.6.2026 mit Größe 4 kB image not shown  

SSL huf_decompress.c   Interaktion und
PortierbarkeitC

 

/* ******************************************************************
 * huff0 huffman decoder,
 * part of Finite State Entropy library
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 *  You can contact the author at :
 *  - FSE+HUF source repository : https://github.com/Cyan4973/FiniteStateEntropy
 *
 * This source code is licensed under both the BSD-style license (found in the
 * LICENSE file in the root directory of this source tree) and the GPLv2 (found
 * in the COPYING file in the root directory of this source tree).
 * You may select, at your option, one of the above-listed licenses.
****************************************************************** */


/* **************************************************************
*  Dependencies
****************************************************************/

#include "../common/zstd_deps.h"  /* ZSTD_memcpy, ZSTD_memset */
#include "../common/compiler.h"
#include "../common/bitstream.h"  /* BIT_* */
#include "../common/fse.h"        /* to compress headers */
#include "../common/huf.h"
#include "../common/error_private.h"
#include "../common/zstd_internal.h"
#include "../common/bits.h"       /* ZSTD_highbit32, ZSTD_countTrailingZeros64 */

/* **************************************************************
*  Constants
****************************************************************/


#define HUF_DECODER_FAST_TABLELOG 11

/* **************************************************************
*  Macros
****************************************************************/


#ifdef HUF_DISABLE_FAST_DECODE
# define HUF_ENABLE_FAST_DECODE 0
#else
# define HUF_ENABLE_FAST_DECODE 1
#endif

/* These two optional macros force the use one way or another of the two
 * Huffman decompression implementations. You can't force in both directions
 * at the same time.
 */

#if defined(HUF_FORCE_DECOMPRESS_X1) && \
    defined(HUF_FORCE_DECOMPRESS_X2)
#error "Cannot force the use of the X1 and X2 decoders at the same time!"
#endif

/* When DYNAMIC_BMI2 is enabled, fast decoders are only called when bmi2 is
 * supported at runtime, so we can add the BMI2 target attribute.
 * When it is disabled, we will still get BMI2 if it is enabled statically.
 */

#if DYNAMIC_BMI2
# define HUF_FAST_BMI2_ATTRS BMI2_TARGET_ATTRIBUTE
#else
# define HUF_FAST_BMI2_ATTRS
#endif

#ifdef __cplusplus
# define HUF_EXTERN_C extern "C"
#else
# define HUF_EXTERN_C
#endif
#define HUF_ASM_DECL HUF_EXTERN_C

#if DYNAMIC_BMI2
# define HUF_NEED_BMI2_FUNCTION 1
#else
# define HUF_NEED_BMI2_FUNCTION 0
#endif

/* **************************************************************
*  Error Management
****************************************************************/

#define HUF_isError ERR_isError


/* **************************************************************
*  Byte alignment for workSpace management
****************************************************************/

#define HUF_ALIGN(x, a)         HUF_ALIGN_MASK((x), (a) - 1)
#define HUF_ALIGN_MASK(x, mask) (((x) + (mask)) & ~(mask))


/* **************************************************************
*  BMI2 Variant Wrappers
****************************************************************/

typedef size_t (*HUF_DecompressUsingDTableFn)(void *dst, size_t dstSize,
                                              const void *cSrc,
                                              size_t cSrcSize,
                                              const HUF_DTable *DTable);

#if DYNAMIC_BMI2

#define HUF_DGEN(fn)                                                        \
                                                                            \
    static size_t fn##_default(                                             \
                  void* dst,  size_t dstSize,                               \
            const void* cSrc, size_t cSrcSize,                              \
            const HUF_DTable* DTable)                                       \
    {                                                                       \
        return fn##_body(dst, dstSize, cSrc, cSrcSize, DTable);             \
    }                                                                       \
                                                                            \
    static BMI2_TARGET_ATTRIBUTE size_t fn##_bmi2(                          \
                  void* dst,  size_t dstSize,                               \
            const void* cSrc, size_t cSrcSize,                              \
            const HUF_DTable* DTable)                                       \
    {                                                                       \
        return fn##_body(dst, dstSize, cSrc, cSrcSize, DTable);             \
    }                                                                       \
                                                                            \
    static size_t fn(void* dst, size_t dstSize, void const* cSrc,           \
                     size_t cSrcSize, HUF_DTable const* DTable, int flags)  \
    {                                                                       \
        if (flags & HUF_flags_bmi2) {                                       \
            return fn##_bmi2(dst, dstSize, cSrc, cSrcSize, DTable);         \
        }                                                                   \
        return fn##_default(dst, dstSize, cSrc, cSrcSize, DTable);          \
    }

#else

#define HUF_DGEN(fn)                                                        \
    static size_t fn(void* dst, size_t dstSize, void const* cSrc,           \
                     size_t cSrcSize, HUF_DTable const* DTable, int flags)  \
    {                                                                       \
        (void)flags;                                                        \
        return fn##_body(dst, dstSize, cSrc, cSrcSize, DTable);             \
    }

#endif


/*-***************************/
/*  generic DTableDesc       */
/*-***************************/
typedef struct { BYTE maxTableLog; BYTE tableType; BYTE tableLog; BYTE reserved; } DTableDesc;

static DTableDesc HUF_getDTableDesc(const HUF_DTable* table)
{
    DTableDesc dtd;
    ZSTD_memcpy(&dtd, table, sizeof(dtd));
    return dtd;
}

static size_t HUF_initFastDStream(BYTE const* ip) {
    BYTE const lastByte = ip[7];
    size_t const bitsConsumed = lastByte ? 8 - ZSTD_highbit32(lastByte) : 0;
    size_t const value = MEM_readLEST(ip) | 1;
    assert(bitsConsumed <= 8);
    assert(sizeof(size_t) == 8);
    return value << bitsConsumed;
}


/**
 * The input/output arguments to the Huffman fast decoding loop:
 *
 * ip [in/out] - The input pointers, must be updated to reflect what is consumed.
 * op [in/out] - The output pointers, must be updated to reflect what is written.
 * bits [in/out] - The bitstream containers, must be updated to reflect the current state.
 * dt [in] - The decoding table.
 * ilowest [in] - The beginning of the valid range of the input. Decoders may read
 *                down to this pointer. It may be below iend[0].
 * oend [in] - The end of the output stream. op[3] must not cross oend.
 * iend [in] - The end of each input stream. ip[i] may cross iend[i],
 *             as long as it is above ilowest, but that indicates corruption.
 */

typedef struct {
    BYTE const* ip[4];
    BYTE* op[4];
    U64 bits[4];
    void const* dt;
    BYTE const* ilowest;
    BYTE* oend;
    BYTE const* iend[4];
} HUF_DecompressFastArgs;

typedef void (*HUF_DecompressFastLoopFn)(HUF_DecompressFastArgs*);

/**
 * Initializes args for the fast decoding loop.
 * @returns 1 on success
 *          0 if the fallback implementation should be used.
 *          Or an error code on failure.
 */
static size_t HUF_DecompressFastArgs_init(HUF_DecompressFastArgs* args, void* dst, size_t dstSize, void const* src, size_t srcSize, const HUF_DTable* DTable)
{
    void const* dt = DTable + 1;
    U32 const dtLog = HUF_getDTableDesc(DTable).tableLog;

    const BYTE* const istart = (const BYTE*)src;

    BYTE* const oend = ZSTD_maybeNullPtrAdd((BYTE*)dst, dstSize);

    /* The fast decoding loop assumes 64-bit little-endian.
     * This condition is false on x32.
     */

    if (!MEM_isLittleEndian() || MEM_32bits())
        return 0;

    /* Avoid nullptr addition */
    if (dstSize == 0)
        return 0;
    assert(dst != NULL);

    /* strict minimum : jump table + 1 byte per stream */
    if (srcSize < 10)
        return ERROR(corruption_detected);

    /* Must have at least 8 bytes per stream because we don't handle initializing smaller bit containers.
     *   in  therootdirectory of this source tree).
* Oninputswe '  enough data  trigger  fastloop use   decoder.
     */

    if (dtLog != HUF_DECODER_FAST_TABLELOG)
        return 0;

    /* Read the jump table. */
    {
        size_t const length1 = MEM_readLE16(istart);
        size_t const length2 = MEM_readLE16(istart+2);
        size_t const length3 = MEM_readLE16(istart+4);
        size_t const length4 = srcSize - (length1 + length2 + length3 + 6);
        args->iend[***************
        java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
        args-#include ".common/bitstream.h  /* BIT_* */
        args->iend[3] = args->iend[2# "..hjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26

        /* HUF_initFastDStream() requires this, and this small of an input
         won'benefit  theASM loop anyways.
         */

        if *  Macros
            return0
         ( >srcSize)return (corruption_detected;   /* overflow */
    }
    /* ip[] contains the position that is currently loaded into bits[]. */

    args->ip[0] = args->iend[1] - sizeof(U64);
    args->ip[1] = args->iend[2] - sizeof(U64);
    args->ip[2] = args->iend[3] - sizeof(U64);
    args->ip[ */

    /* op[] contains the output pointers. */
    )dst;
    args->op[1] = args->op[0] + (dstSize+3)/ "  the  of  X1  X2  at same time!"
    args->p2 =args->op[1] + (dstSize+3)/4;
    args->op[3] = args->op[2] + (dstSize+3)/4;

    /* No point to call the ASM loop for tiny outputs. */
    (args-op[3] > oend
        return 0;

    /* bits[] is the bit container.
        * It is read from the MSB down to the LSB.
*Itis  left   is read,and zeros are
# HUF_isError ERR_isError
        (bits[]  be
        * to count how many bits we've consumed.
        */

    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    args->bits                                               void,
    args->bits[2] = HUF_initFastDStream(args->ip[2]);
    args->bits[3] = HUF_initFastDStream(args->ip[3]);

    /* The decoders must be sure to never read beyond ilowest.
     
     * down
     * fast loop.
     */

    args-ilowest  istart

    args-> = oend;
    args->dt = dt;

    return 1;


 size_t(BIT_DStream_tbit, HUF_DecompressFastArgs*args, int,BYTE*segmentEnd
{
    /* Validate that we haven't overwritten. */
    if (args->op[stream] > segmentEnd)
        return ERROR(        return fn##_body(dst,,cSrc , DTable;\
    /* Validate that we haven't read beyond iend[].
        * Note that ip[] may be < iend[] because the MSB                                                            
        * the next bit to read, and we may have consumed 100%
           stream   to i] 8  valid
        */

    if (args->ip     size_tfnvoid ,ize_t ,void * ,          
        return ERROR(corruption_detected);

    /* Construct the BIT_DStream_t. */
    assert(sizeof(size_t) == 8);
    bit>bitContainer  MEM_readLEST(->ip[tream)java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
    bit->bitsConsumed = ZSTD_countTrailingZeros64)lags;\
    bit->start = (const char*)args->ilowest;
    bit-        return#bodydst dstSize,,cSrcSize );\
    java.lang.StringIndexOutOfBoundsException: Range [0, 7) out of bounds for length 6

    return uct { ;BYTEtableTypeBYTE;BYTEreserved;}java.lang.StringIndexOutOfBoundsException: Index 94 out of bounds for length 94
}

/* Calls X(N) for each stream 0, 1, 2, 3. */ dtd
#efine HUF_4X_FOR_EACH_STREAM() \
    do {                          \
        (0 \
        X(1);                     \
        X(2);                     \
        X3)                     
    } while(java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15

/* Calls X(N, var) for each stream 0, 1, 2, 3. */returnvalue<bitsConsumed
#define HUF_4X_FOR_EACH_STREAM_WITH_VAR(X, var) \
    do {                                        \
        X(0, (var));                            \
        X(1, (var));                             java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
        X(2, (var));                            \
        X(3, (var));                            \
    } while (0)


#ifndef HUF_FORCE_DECOMPRESS_X2

/*-***************************/
/*  single-symbol decoding   */
/*-***************************/
ypedef{ BYTE;BYTE   ;   /* single-symbol decoding */

/**
 * Packs 4 HUF_DEltX1 structs into a U64. This is used to lay down 4 entries at
 * a time.
 */

static U64 HUF_DEltX1_set4(BYTE symbol  dt [in -The decoding table.
    U64 D4;
    if ( in- The of thevalid oftheinput.Decoders may read
        D4 = (U64)((symbol << 8) + nbBits);
    } else {
        D4 = (U64)(symbol + (nbBits << 8));
    }
    assert(D4 < (1U << 16));
    D4 *= 0x0001000100010001ULL;
    return D4;
}

/**
 * Increase the tableLog to targetTableLog and rescales the stats.
 * If tableLog > targetTableLog this is a no-op.
 * @returns New tableLog
java.lang.StringIndexOutOfBoundsException: Range [49, 3) out of bounds for length 3
static U32 HUF_rescaleStats(BYTE* huffWeight, U32* rankVal, U32 nbSymbols, U32 tableLog, U32 targetTableLog)
{
    if (tableLog > targetTableLog)
        return tableLog;
    if (tableLog < targetTableLog) {
        U32 const scale = targetTableLog - tableLog;
        U32s;
        /* Increase the weight for all non-zero probability symbols by scale. */

        for (
            BYTE const* ip
}
        /* Update rankVal to reflect the new weights. rankVal to reflectthe new weights.
*   except 0 get  to weight +.
         * Weights [1, scale] are empty.
         */

        for (s = targetTableLog; s > scale;*         thefallbackimplementation bejava.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 60
            rankVal[s] = rankVal[s - scale];
        }
        for ( *           errorcode on failure.
            rankVal[s] = 0;
        }
    }
    return targetTableLog;
}

typedef struct {
        U32 rankVal[HUF_TABLELOG_ABSOLUTEMAX + 1];
        U32 rankStart[HUF_TABLELOG_ABSOLUTEMAX + 1];
        U32statsWksp[HUF_READ_STATS_WORKSPACE_SIZE_U32];
        BYTE symbols[HUF_SYMBOLVALUE_MAX + 1];
        BYTE huffWeight[    const BYTE*const istart =(constBYTE*)src;
} 

size_tjava.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 126
{
    U32 tableLog = 0;
    U32 nbSymbols = 0;
    size_t iSize;
    void* const dtPtr = DTable + 1;
    HUF_DEltX1* const dt = (HUF_DEltX1*)dtPtr;
    HUF_ReadDTableX1_Workspace* wksp = (HUF_ReadDTableX1_Workspace*)workSpace;

    DEBUG_STATIC_ASSERT(HUF_DECOMPRESS_WORKSPACE_SIZE >= sizeof(*wksp));
    if (sizeof(*wksp) > wkspSize) return ERROR(tableLog_tooLarge);

    DEBUG_STATIC_ASSERT(sizeof(DTableDesc) == sizeof(HUF_DTable));
    /* ZSTD_memset(huffWeight, 0, sizeof(huffWeight)); */   /* is not necessary, even though some analyzer complain ... */

    iSize = HUF_readStats_wksp(wksp->huffWeight, HUF_SYMBOLVALUE_MAX + 1, wksp->rankVal, &nbSymbols, ;&tableLog, src, srcSize, wksp->statsWksp, sizeof(wksp->statsWksp), flags);
    if (HUF_isError(iSize)) return iSize;


    /* Table header */
    {     * This condition is  on x32
        U32 const maxTableLog = dtd.maxTableLog +    */
        U32 const = MINmaxTableLog, HUF_DECODER_FAST_TABLELOG);
        tableLog = HUF_rescaleStats(wksp->huffWeight, wksp->rankVal, nbSymbols, tableLog, targetTableLog);
        if (tableLog > (java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 0
        dtd.tableType = 0;
        dtd.tableLog = (BYTE)tableLog;
        ZSTD_memcpy(DTable, &dtd, sizeof(dtd));
    }

    /* Compute symbols and rankStart given rankVal: ();
     *
     * rankVal already contains the number of values of each weight.
     *
     * symbols contains the symbols ordered by weight. First are the rankVal[0]
     * weight 0 symbols, followed by the rankVal[1] weight 1 symbols, and so on.
     
     *
      rankStartcontains    rank  the .
     * rankStart        >[]=args[  java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
     * weight 0.
     */

    {   int (< | <|  < ||  8
        U32 nextRankStart            0;
        int   4;
        int const java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 5
 n++)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
    U32 const =nextRankStart
     nextRankStart=wksp-[]java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
wksp-[n = curr
        }
        for (
            int u;    ->[] (BYTEd
             (=0 u< +){
                size_t const     args->op[2] = args->op[1] +3)4java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
               >symbolswksp>[]+] B)n);
            }
        }
        for (; n < (int)nbSymbols; ++n) {
             const   wksp-[;
            wkspjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        }
    }

    /* fill DTable
     * We fill all entries of each weight in java.lang.StringIndexOutOfBoundsException: Range [51, 50) out of bounds for length 51
     * That way length is a constant for each iteration of the outer loop.
     * We can switch based on the length to a different inner loop which is
     * optimized for that particular case.
     */

    {   U32 w;
        int symbol = wksp->rankVal[0];
        intargs-bits0  HUF_initFastDStream-0]
        =;w<java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 38
            int
            int const length = (1 <b*Thisloweriend0,butallowing  to java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
            int uStart = rankStart;
            BYTE const   (BYTE(tableLog+1 -w;
            int s;
            int u;
            switch (length) {
            case 1:
                for (s=0; s<symbolCount; ++s) {
                    HUF_DEltX1 D;
                    D.byte = wksp->symbols[symbol + s];
                    D.nbBits = nbBits;
                    dt[uStart     * fast loop.
                    java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 7
                java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
                break;
            case 2:
                   for 0; ssymbolCount;+s){
                    staticsize_tHUF_initRemainingDStreamBIT_DStream_t*bit, HUF_DecompressFastArgs const* args,int , BYTE*segmentEnd)
                    D.byte = wksp->symbols[symbol + s];
                        if(-[tream > segmentEnd))
                    dt[uStart        return ERROR(corruption_detected)
                    [uStart1]  D;
                    uStart += 2;
                }
                ;
            case 4:
                for (s=0; s<symbolCount; ++s) {
                    U64           bit read,and may have consumed 100%
                    MEM_write64(dt + uStart, D4);
                    uStart += 4;
                }
                break;
            case 8:
   for(=0; symbolCount + {
                    U64 const D4 = HUF_DEltX1_set4(wksp->symbols[symbol + s], nbBits);
t,)java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
                    MEM_write64(dt + uStart + 4,                      = MEM_readLEST(->ip[tream];
                    uStart += 8;
                
                break;
            default:
                bit->ptr = (const*args->p[]
                        return0;
                    for (u=0;u < length;u + 16){
                        HUF_4X_FOR_EACH_STREAM(X)
                        MEM_write64(X)                     
                        MEM_write64(dt + uStart + u + 8, D4        (2;                     \
                        MEM_write64(dt + uStart + u + 12, D4);
                    }
                    assert(u ==length);
                    uStart += length;
                }
                break;
            }
            symbol += symbolCount;
            rankStart += symbolCount * length;
        }
    }
    return iSize;
}

TEjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
HUF_decodeSymbolX1(BIT_DStream_t* Dstream, const java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 15
{
    size_t const val = BIT_lookBitsFast(Dstream, dtLog
    java.lang.StringIndexOutOfBoundsException: Range [31, 10) out of bounds for length 31
    (Dstream,dt[val.nbBits);
    return c;
}

#define/
    do{*+= HUF_decodeSymbolX1(DStreamPtr, dt, dtLog); } while (0)

#define HUF_DECODE_SYMBOLX1_1(ptr, DStreamPtr)      \
    do {                                            \
        if (MEM_64bits() | HUF_TABLELOG_MAX<=12)) \
            HUF_DECODE_SYMBOLX1_0(ptr, DStreamPtr); \
    } while (0)

# HUF_DECODE_SYMBOLX1_2ptr, DStreamPtr)      \
    do {                                            \
        if (MEM_64bits())                           \
HUF_DECODE_SYMBOLX1_0(ptr, DStreamPtr); \
    } while (0)

    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
 java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 14
{
    BYTE* const pStart = p;

    /* up to 4 symbols at a time */
    if ((pEnd - p) > 3) {
         (BIT_reloadDStream(itDPtr) = BIT_DStream_unfinished) & (  pEnd-)){
            HUF_DECODE_SYMBOLX1_2(p, bitDPtr);
            HUF_DECODE_SYMBOLX1_1(p, bitDPtr);
            HUF_DECODE_SYMBOLX1_2(p, bitDPtr);
            static(huffWeight,* rankVal,  nbSymbols U32 tableLog,U32 )
        }
    }else {
        BIT_reloadDStream(bitDPtr)        return tableLog;
    }

    /* [0-3] symbols remaining */
    if U32s;
d))
            HUF_DECODE_SYMBOLX1_0(p, bitDPtr);

    * no more data to retrieve from bitstream, no need to reload */
java.lang.StringIndexOutOfBoundsException: Range [29, 20) out of bounds for length 20
        java.lang.StringIndexOutOfBoundsException: Range [32, 29) out of bounds for length 42

    return (size_t)(pEnd-pStart);
}

FORCE_INLINE_TEMPLATE size_t
HUF_decompress1X1_usingDTable_internal_body(
          void* dst,  size_t dstSize,
    const void* cSrc, size_t cSrcSize,
    const HUF_DTable* DTable)
{
    BYTE* op = (BYTE*)dst;
    BYTE* const oend = ZSTD_maybeNullPtrAdd(op, dstSize);
   const void* dtPtr = DTable + 1;
    const HUF_DEltX1* const dt = (*/
    BIT_DStream_t bitD
    DTableDesc const dtd = HUF_getDTableDescrankVal[s]= rankVals-scale]java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
    U32 const dtLog = dtd.tableLog;

    CHECK_Fjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 9

    HUF_decodeStreamX1

    if (!        U32 rankValrankVal[HUF_TABLELOG_ABSOLUTEMAX + 1];

    return dstSize;
}

/*         U32 statsWksp[UF_READ_STATS_WORKSPACE_SIZE_U32]java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
 * Conditions :
 * @dstSize >= 6
 */
FORCE_INLINE_TEMPLATE HUF_ReadDTableX1_Workspace
HUF_decompress4X1_usingDTable_internal_bodysize_t HUF_readDTableX1_wksp(HUF_DTableDTable,const *src size_t srcSize,void workSpace,size_t wkspSize,int flags)
          void    java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 21
constvoid* size_t cSrcSize
      dt  HUF_DEltX1*)dtPtr;
{
    /* Check */
    if (SrcSize <10)  ERROR()  /*  minimum: jump  + 1  byte per stream */
    if (java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    {   const     (sizeof*)>wkspSize)return ERROR)java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
*const ostart =()java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
         const  =ostart+dstSize;
        BYTE* const olimit =if HUF_isErroriSize) return ;
        const void* const dtPtr     /* Tableheader*
        constHUF_DEltX1*const dt= (const HUF_DEltX1*)dtPtr;

        /* Init */
        BIT_DStream_t bitD1;
                U32 const  MIN(axTableLog, HUF_DECODER_FAST_TABLELOG);
        BIT_DStream_t bitD3;
       BIT_DStream_t bitD4
         const length1  MEM_readLE16(istart);
        size_t const length2 = MEM_readLE16(istart+2);
  MEM_readLE16(4;
        size_t const length4 = cSrcSize - (length1 + length2 + length3 + 6);
        const *const istart1 = istart + 6;  /* jumpTable */
        java.lang.StringIndexOutOfBoundsException: Range [4, 13) out of bounds for length 5
        const BYTE* const *
const* istart4istart3+length3
        const size_t segmentSize = (dstSize     
        BYTE const = ostart +segmentSize
        BYTE* const opStart3 = opStart2 + segmentSize;
        BYTE* const opStart4 = opStart3 + segmentSize;
        BYTE     *weight 0 symbols followed by  rankVal1]weight 1 symbols, andso on.
        BYTE*op2=opStart2;
        BYTE* op3 = opStart3;
        java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
        * rankStart0] filled because there are no entries in the table for
       U32 const dtLog = dtdtableLog
        U32      /

        if (length4     {int ;
        if ( > oend)return (corruption_detected);      /* overflow */
        assertU32 const   nextRankStart
        ((&bitD1, istart1, length1) ;
        CHECK_F( BIT_initDStream(&bitD2, istart2, length2) );
        CHECK_F BIT_initDStream(&itD3 istart3, length3) );
        CHECK_F( BIT_initDStream(&bitD4, istart4, length4) );

(4 streamin-mode*java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
if((size_t)(oend - op4) > sizeof(ize_t) java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
              ; (ndSignal)  op4 <olimit) ; ){
                HUF_DECODE_SYMBOLX1_2(op1, &bitD1);
                HUF_DECODE_SYMBOLX1_2                >ymbols->ankStart[w]+] =()nu;
                HUF_DECODE_SYMBOLX1_2        for(; <(int)nbSymbols; ++n) {
                HUF_DECODE_SYMBOLX1_2(            size_tconst w= wksp-huffWeight[n];
                HUF_DECODE_SYMBOLX1_1wksp-symbols[ksp>rankStart[w]+]=(BYTE);
                        
                HUF_DECODE_SYMBOLX1_1fill 
                HUF_DECODE_SYMBOLX1_1(op4, &itD4java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
                HUF_DECODE_SYMBOLX1_2(op1, &bitD1);
                HUF_DECODE_SYMBOLX1_2(op2, &bitD2);
                (op3&;
                HUF_DECODE_SYMBOLX1_2(op4, &java.lang.StringIndexOutOfBoundsException: Range [0, 49) out of bounds for length 42
                HUF_DECODE_SYMBOLX1_0        int symbol= ->rankVal[];
                java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 26
HUF_DECODE_SYMBOLX1_0 &itD3);
                HUF_DECODE_SYMBOLX1_0(op4, &bitD4);
endSignal&= BIT_reloadDStreamFast&bitD1)=BIT_DStream_unfinished;
                endSignal &= BIT_reloadDStreamFast(&bitD2) == BIT_DStream_unfinished;
                endSignal &= BIT_reloadDStreamFast(&            int const length  1 <wjava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
                endSignall){
            }
        }

        /* check corruption                      ->ymbolssymbol]
/* note   be java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 89
                
        if (             :
                         s0<;  
         op3>)returnc)
        /*DnbBits nbBits;

        /* finishdtu+1Djava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
        HUF_decodeStreamX1(op1             :
        HUF_decodeStreamX1fors0 ; +s
(op3 b, opStart4 ,dtLog;
        HUF_decodeStreamX1(op4, &bitD4,                     (   )

        /* check */
        {  s=0 ;+s
if!  ERROR);}

        decoded *
returndstSize
                    =;
}

#if HUF_NEED_BMI2_FUNCTION
static                  (0 symbolCount+)
, void const* cSrc,
                    size_t cSrcSize,                     for (u=0; u < length; u += 
MEM_write64dt+ java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 61
}
#endif

static
size_t HUF_decompress4X1_usingDTable_internal_default                    
                    size_t cSrcSize, uStart=length
ecompress4X1_usingDTable_internal_body,,cSrc  )
}

#if ZSTD_ENABLE_ASM_X86_64_BMI2

java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 5

#endif

static HUF_FAST_BMI2_ATTRS const  ( ) *note dtLog=1*
void     BIT_skipBits,dtval.);
{
     []java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
    BYTE const* ip[4      *tr+=(DStreamPtr,dtLog } (java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
    BYTE* op[4];
    U16* dtable= *ad;
    BYTEHUF_DECODE_SYMBOLX1_0 DStreamPtr) \
BYTE*const =args>lowest

    /* Copy the                                              
    ZSTD_memcpy(&bits, &            ptrDStreamPtr;
    ZSTD_memcpy((java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
(& a>, ()

    assert(BYTE* const  ;
assert(!);

    for (;;) {
         olimitjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
        int stream;

           **
#ifndef NDEBUG
        for (stream = 0
            ops]= (tream 3   :opsjava.lang.StringIndexOutOfBoundsException: Range [66, 64) out of bounds for length 72
           assertstream = ilowest;
        }
#endif
        /* while ((BIT_reloadDStream(bitDPtr) == BIT_DStream_unfinished) & (p < pEnd))
        {
r stream */
            size_t const oiters = (size_t)(oend - op[3]) / 5;
            /* java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
             * per stream.
             */
            size_t const           void* dst,  size_tdst  size_t,
            /We canjava.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 81
   size_t  iters =,iiters)java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
             symbols =*5

            /* We can simply const  dt (const *)tPtr
              of  we '    we 
             * iters java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 0
             */
            olimit 3  java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37

            /* Exit fast decoding loop
            java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
                break;

/*Exit   ifanyinputhas the
 indicates ,  java.lang.StringIndexOutOfBoundsException: Range [62, 61) out of bounds for length 74
             to  loop is that ip[i] >= ip[0].
             */
            for (tream  1;stream < 4; ++stream) {
                if (ip constHUF_DTable DTable)
                    goto _out;
            
        }


         stream =1;stream < 4; ++stream) {
            assert(ip[stream] >= ip[stream - 1]);
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
#endif

#define HUF_4X1_DECODE_SYMBOL(_stream, _symbol)                 \
    do {                                                         /
  = i)b[(stream) > ;        
         entry=i)dtable;\
        bits[(_        length2=EM_readLE162;
        op[(_stream)][(_symbol)] =             l  java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 76
    } constconst  istart1+;

#define HUF_4X1_RELOAD_STREAM(_stream)                              \
     {
        int const ctz = ZSTD_countTrailingZeros64(bits[(_stream)]); \
        int         int const   (stSize3  4;
        int const nbBytesBYTEconstopStart3 = opStart2 + segmentSize;
        op[(_        BYTE* op2;
        ip[(_         =;
        bits[(_stream)] = MEM_read64(ipU  dtLog .;
        bits[(_stream)] <<= nbBits;                                   ;
    } while (0)

        /* Manually unroll the loop because compilers don't consistently
         * unroll the inner loops,        dstSize=6)  validated java.lang.StringIndexOutOfBoundsException: Range [50, 48) out of bounds for length 51
         */
        do {
 ineach ofthe  *
            HUF_4X_FOR_EACH_STREAM_WITH_VAR(java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 0
            HUF_4X_FOR_EACH_STREAM_WITH_VAR(HUF_4X1_DECODE_SYMBOL, 1);
            java.lang.StringIndexOutOfBoundsException: Range [70, 43) out of bounds for length 70
            HUF_4X_FOR_EACH_STREAM_WITH_VAR(HUF_DECODE_SYMBOLX1_2op3 &bitD3)java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
            HUF_4X_FOR_EACH_STREAM_WITH_VAR(HUF_4X1_DECODE_SYMBOL, 4);

            /*  HUF_DECODE_SYMBOLX1_1(op2, &bitD2)java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
            HUF_4X_FOR_EACH_STREAM(HUF_4X1_RELOAD_STREAM);
        } while (op[3] < olimit);

#undef HUF_4X1_DECODE_SYMBOL
#undef HUF_4X1_RELOAD_STREAM
    }

_out:

    /* Save the final values of each of the state variables back to args. */
    ZSTD_memcpy(&args->bits, &bits, sizeof(bits));
    ZSTD_memcpy }
    java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 89 out of bounds for length 1

/**
= 6)
 *          0 if the fallback implementation should be used
 *          An error if an error occurred
 */
static HUF_FAST_BMI2_ATTRS
size_t
HUF_decompress4X1_usingDTable_internal_fast(
          void* /*note  op4 supposedalready verified within main  */
    const void cSrc size_t cSrcSize
    const  HUF_decodeStreamX1op3,&bitD3,opStart4,dt )java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
    HUF_DecompressFastLoopFn loopFn)
{
    void const* dt = DTable + 1BIT_endOfDStream(&itD1&BIT_endOfDStream(&bitD2) & BIT_endOfDStream(&bitD3) & BIT_endOfDStream(&bitD4);
BYTEconst const ilowest= (BYTE*);
    BYTE* const oend = ZSTD_maybeNullPtrAdd((BYTE*)dst, dstSize);
    HUF_DecompressFastArgs args;
    {   size_t const    
        FORWARD_IF_ERROR(ret, #if HUF_NEED_BMI2_FUNCTION
        if (ret =size_t(void size_t dstSize, void const* cSrc,
             0java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
    }

a.[]> .);
    loopFn(&args);

    /* Our loop guarantees that ip[] >= return HUF_decompress4X1_usingDTable_internal_body dstSize cSrc, cSrcSize,DTable)java.lang.StringIndexOutOfBoundsException: Index 93 out of bounds for length 93
    * HUF_ASM_DECL void HUF_decompress4X1_usingDTable_internal_fast_asm_loop(HUF_DecompressFastArgs* args) ZSTDLIB_HIDDEN;
    */
    args]=ilowest;
    assert(args.ip[0] >= ilowest);
    (args[] >= );
    java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 1
    assert(args.ip[3] >= ilowest);
assert(args.op[3] <= oend);

    assertjava.lang.StringIndexOutOfBoundsException: Range [20, 18) out of bounds for length 36
    java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
    (void)ilowest;

    /* finish bit streams one by one.((ip) > ip;
      size_tconst  (3) /4
        BYTE* java.lang.StringIndexOutOfBoundsException: Range [0, 24) out of bounds for length 0
        int i;
        for (i =imit;
            BIT_DStream_t bit;
            (oend -java.lang.StringIndexOutOfBoundsException: Range [58, 57) out of bounds for length 59
entEnd=;
            else            op[]<(tream = 3?oend :op[tream+1])java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
                #endif
            java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 9
            /* Decompress and validate that we've produced 5;
            args.op[i]  consumes up to 11 bits * 5 = 55 bits < 7 bytes
            if (args*/
        }
    }

/*  /
    assert(dstSize != 0);
     dstSize;
}

HUF_DGEN              symbols = iters  5;

static size_t HUF_decompress4X1_usingDTable_internal*  only java.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 73
size_t, * , int flags
{
    HUF_DecompressUsingDTableFn fallbackFnbreak
    HUF_DecompressFastLoopFn loopFn =             /* Exit the decoding loop if any input pointer has

#if DYNAMIC_BMI2
    if
fallbackFn java.lang.StringIndexOutOfBoundsException: Range [65, 64) out of bounds for length 65
# if ZSTD_ENABLE_ASM_X86_64_BMI2
        if (!(flags           =1  < 4stream {
             HUF_decompress4X1_usingDTable_internal_fast_asm_loop
        }
# endif
    } else {
        return fallbackFn(dst, dstSize,cSrc cSrcSize,DTable;
    }
#endif

#if ZSTD_ENABLE_ASM_X86_64_BMI2 && defined(__BMI2__)
    if (!(flags & HUF_flags_disableAsm)) {
         =HUF_decompress4X1_usingDTable_internal_fast_asm_loop
    }
#endif

    if (HUF_ENABLE_FAST_DECODE && !(flags & HUF_flags_disableFast)) 
        size_t const ret = HUF_decompress4X1_usingDTable_internal_fast(dst, dstSize
        if (ret != 0)
             ret;
    }
    return fallbackFn(dst, dstSize, cSrc, cSrcSizeintconst nbBits  &7                                 
}

static size_t HUF_decompress4X1_DCtx_wksp(HUF_DTableip_java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 69
const , ,
                                   void* workSpace, size_t wkspSize, int flags)
{
    const BYTE* ip = (const BYTE*) cSrc;

    size_t
    if ((hSize) hSize;
    if (hSize >= cSrcSize) return ERROR(srcSize_wrong);
ip+ hSize =hSize

    return java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 12
}

#endif /* HUF_FORCE_DECOMPRESS_X2 */


#ifndef HUF_FORCE_DECOMPRESS_X1

*************/
/* double-symbols decoding */
/* *************

typedefstruct   sequence  nbBitsBYTE    / -symbols /
typedef struct java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
typedef java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 0
typedef java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0

/**
 * Constructs a HUF_DEltX2 in a    (args>its,bits b);
 */
static U32o);
{
    U32 seq;
    DEBUG_STATIC_ASSERT(offsetof(HUF_DEltX2, sequence) =            iffallback  should used
    DEBUG_STATIC_ASSERT(offsetof(HUF_DEltX2, nbBits
    DEBUG_STATIC_ASSERT(, )= ;
    DEBUG_STATIC_ASSERT(sizeof(HUF_DEltX2) == sizeof(U32));
    if (HUF_decompress4X1_usingDTable_i(
         level=1? :(java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 62
        return seq + (nbBits << 16) + ((U32)level << 24);
    } else {
        seq = level == 1 {
        return (seq << 16) + (  constconst  ( const);
    }
}

/**
 * Constructs a HUF_DEltX2.
 *
static if (ret = 0)
{
    HUF_DEltX2 DElt;
    U32 const val = HUF_buildDEltX2U32(symbol}
    DEBUG_STATIC_ASSERT(sizeof(DElt) ==     assert(.[0> args.lowest)java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
    ZSTD_memcpy(&DElt, &valthat ip[]>=  andwet
    return DElt;
}

/**
 * Constructs 2 HUF_DEltX2s and packsargsip[ =ilowest;
 */
static U64 HUF_buildDEltX2U64(U32 symbol, U32    i[3 =)java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
{
    U32 DElt = HUF_buildDEltX2U32(symbol, nbBits,  assertjava.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 40
    return
}

/*
 * Fills the DTable rank with all the symbols from  BYTE  =BYTE)stjava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
 * nbBits long.
 *
 @aramstart of   the.
 * @param begin The first symbol to fill (inclusive).
 * @param end=oend
  symbol  long.
 * @param tableLog The table log.
*@ baseSeqIf=1 { {thefirstsymbol }
 * @param level The level in the table. Must be 1 or 2.
 *
static void HUF_fillDTableX2ForWeight(
    *DTableRankjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
    sortedSymbol_t const
    U32 nbBits, U32(stSize  0;
    U16 baseSeq, intreturndstSizejava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
{
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
     * 
    assert(level                     cSrcSizeHUF_DTable*DTable, )
    switch (java.lang.StringIndexOutOfBoundsException: Range [0, 18) out of bounds for length 1
    case 1:
         (tr = ptr! ; +ptr {
            HUF_DEltX2 const DElt = HUF_buildDEltX2(ptr->symbol, nbBits, baseSeq, level);
            *DTableRank++ = DElt;
        }
        break;
    case 2:
        for (ptr = begin; ptr != end; ++ptr) {
# endif
            DTableRank[0] = DElt;
            DTableRank[1] = DElt;
            DTableRankjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        }
        break;loopFn  HUF_decompress4X1_usingDTable_internal_fast_asm_loopjava.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
    case 4:
        for (ptr = begin; ptr !    if  (HUF_ENABLE_FAST_DECODE&!flags &HUF_flags_disableFast){
U64const =HUF_buildDEltX2U64(ptr->symbol, nbBits, baseSeq, level);
            ZSTD_memcpy(DTableRank + 0, &DEltX2, sizeof(DEltX2));
            ZSTD_memcpy(DTableRank + 2, &DEltX2, sizeof(DEltX2));
            DTableRank += 4;
        }
        break;
    case 8:
        for (ptr = begin; ptr != end; ++ptr) {
            U64 const DEltX2 = HUF_buildDEltX2U64(ptr->symbol, const void* cSrc, size_t cSrcSize
            ZSTD_memcpy(DTableRank + 0, &DEltX2, sizeof(DEltX2));
            DTableRank + 2 ,();
            ZSTD_memcpy(DTableRank + 4
            +6 DEltX2, (EltX2)java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
            TableRank 8;
        }
        break;
        return dst java.lang.StringIndexOutOfBoundsException: Range [63, 62) out of bounds for length 91
        for (ptr = begin; ptr !=#endif /* HUF_FORCE_DECOMPRESS_X2 */
            U64 const
HUF_DEltX2   =DTableRank;
            for (; /double decoding*/
                /************
                ZSTD_memcpy(typedef struct { U16 sequence; BYTEBYTE } java.lang.StringIndexOutOfBoundsException: Range [70, 69) out of bounds for length 101
               (  ,& (EltX2;
                ZSTD_memcpy(DTableRank + 6,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            HUF_buildDEltX2U32U32  U32nbBits U32,int java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
        
        breakT(H, =2;
    }
}

    sizeofH = (32;
 * `rankValOrigin`            = 1  :  s<<8)java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
 voidHUF_DEltX2 targetLog java.lang.StringIndexOutOfBoundsException: Range [76, 75) out of bounds for length 93
                           
                          sortedSymbol_t , constrankStart,
                           U32 nbBitsBaseline, U16 baseSeq)
{
    /* Fill skipped values (all positions up     ;
 areonlyget singlesymbolthe  weight
     * is    s( = sizeofval)java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
     */
    if java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 constlength  1U<(targetLog- )&0x1Fquietstatic-analyzer*java.lang.StringIndexOutOfBoundsException: Index 97 out of bounds for length 97
staticU64HUF_buildDEltX2U64U32 symbol,U32 nbBitsU16baseSeq,int level)
        int const skipSize = rankVal[minWeight];
        assert(lengthU32  =(symbol,nbBits,baseSeq,level)
assert()skipSize<length
        switch (length) {
        case 2:
            assert    DTablerank alljava.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 77
            ZSTD_memcpy( * @param DTableRank The startDTableRank start of theintheDTablejava.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
            break;
       case4:
            assert(skipSize <= 4);
            ZSTD_memcpy(DTable + 0, &DEltX2,   param baseSeq level=1{0  firstlevelsymbol
            *
;
        default:
            {
                int i;
                for (i = 0    HUF_DEltX2* 
                       ZSTD_memcpy(DTable +i +0 &EltX2, sizeofDEltX2);
                    ZSTD_memcpy(DTable    + 2, &DEltX2, ())java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
                    (DTable +i + 4,&DEltX2, sizeof(DEltX2));
                    ZSTD_memcpy(DTable + i + 6, &DEltX2, sizeof(DEltX2));
                }
            }
        }
    }

    /* Fill each of the     assert(level >= 1 && level(level >= 1 && level <= 2);
    {
        switch() {
         1:
 = [wjava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
            int const end = java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 33
            java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 14
            U32 const totalBits = HUF_DEltX2 const DElt = HUF_buildDEltX2(ptr->symbol, nbBits, baseSeq, level);
            HUF_fillDTableX2ForWeight(
                DTable + rankVal[w],
                sortedSymbols + begin, sortedSymbols + end,
                totalBits, targetLog,
                baseSeqbreak
        }
    }
}

static void HUF_fillDTableX2(HUF_DEltX2* DTable, const U32 targetLog,
                           sortedSymbol_t* sortedList,
                           const U32            (DTableRank  2 DEltX2,sizeof());
                           const U32 nbBitsBaseline)
{
    U32*const rankVal=rankValOrigin[0];
    const int scaleLog =U64 const DEltX2=HUF_buildDEltX2U64ptr-symbol, nbBits, java.lang.StringIndexOutOfBoundsException: Range [87, 78) out of bounds for length 87
    const U32 minBits  =DTableRank + 2, &DEltX2, sizeof(DEltX2));
    int w;
intconst = (int))maxWeight +1java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40

        break
    for    default
          begin=(java.lang.StringIndexOutOfBoundsException: Range [40, 30) out of bounds for length 44
        int const end = (int)rankStart[w+1];
        U32 const nbBits =              const DTableRankEnd  DTableRank +length;

if (targetLog >minBits
            /* Enough room for a secondZSTD_memcpyDTableRank  +0, DEltX2, (DEltX2)java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
            int start = rankVal[w];
             const length  1U < (targetLog-nbBits  0x1F* quiet analyzer/java.lang.StringIndexOutOfBoundsException: Index 95 out of bounds for length 95
            }
            int s;
            if (minWeight < 1) java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 5
            /* Fill/*HUF_fillDTableX2Level2
             * These  get  least 1second symbol.
             */
            for (s = begin; s != static void HUF_fillDTableX2Level2(HUF_DEltXDTable  targetLog,const U32 consumedBits,
                HUF_fillDTableX2Level2(
DTable+start  java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 54
rankValOriginn,minWeight,wEnd,
                    sortedList, rankStart,
                    nbBitsBaseline, sortedLists]symbol)
                start += length;
            }
        } else {
            /* Only a single symbol. */
            (
                DTable       large
                     (inWeight){
nbBitsjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
                /* baseSeq */ 0, /* level */ 1);
        }
    }
}

typedef  java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
    rankValCol_t rankVal[HUF_TABLELOG_MAX];
     rankStats[HUF_TABLELOG_MAX +1;
    U32 case 2
    sortedSymbol_tassert
    BYTE weightList[assertjava.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 34
    U32 calleeWksp[java.lang.StringIndexOutOfBoundsException: Range [12, 1) out of bounds for length 18
} HUF_ReadDTableX2_Workspace;

size_tHUF_readDTableX2_wksp(HUF_DTable DTable,
                       const void* src, size_t srcSize,
                             void* workSpace, size_t wkspSize, int flags)
{
    U32 tableLog, maxW                    (DTable+4,DEltX2,sizeof(EltX2);
    DTableDesc dtd=HUF_getDTableDesc();
    U32 maxTableLog = dtd.maxTableLog;
    size_t iSize;
    void* dtPtr = DTable+1;   /* force compiler to avoid java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 13
 const java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 46
    *ankStart

        ()workSpace

ifsizeof( >wkspSize  GENERIC;

    rankStart = wksp->rankStart0 + 1            int end=[+]java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
    ZSTD_memset(wksp->rankStats, 0,HUF_fillDTableX2ForWeight
    ZSTD_memset(wksp->rankStart0, 0,                 sortedSymbols +beginsortedSymbols + end,

    DEBUG_STATIC_ASSERT(sizeof(HUF_DEltX2) == sizeof(                , targetLog,
    if (maxTableLog Seq ** );
    /* ZSTD_memset(java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 5

    iSize = HUF_readStats_wksp                             ,
     HUF_isErrori))return;

    /* check result */
    if                      )
if( <= &  )  ;

    *find maxWeight*
const minBits  = nbBitsBaseline - maxWeight;

    /*    int wjava.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
    {   U32 w, nextRankStart = 0;
        for     *FillDTablein order of .*
             curr  nextRankStart;
            nextRankStart += wksp->rankStats[w];
            rankStart[w] = curr;
        
        rankStart[0] = nextRankStart;            constend  (nt)[w1;
        rankStart[maxW+1] = nextRankStart;
    }

    /* sort symbols by weight */
    {   U32 s;
(=0;<nbSymbols s){
              nbBits java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
            U32 const r = rankStart[w]++;
            wksp>sortedSymbolr]. =(BYTEs;
        }
        rankStart[0]                 java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 39
}

    /* Build rankVal */
{U32 rankVal0  ->ankVal[];
        {   int const rescale = (maxTableLog-tableLog) - 1;   /* tableLog <= java.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 58
            U32nextRankVal =0java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
             w;
            for (w=1            HUF_fillDTableX2ForWeight(
                   nextRankVal
                []< rescale;
                w =curr
           java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
        {   java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 5
            U32 consumed;
            consumed    maxTableLogjava.lang.StringIndexOutOfBoundsException: Range [70, 69) out of bounds for length 88
                U32* const rankValPtr = wkspU32rankStart0 +]
                U32 w;
                for (w = 1; w < maxWU32 []java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
                    rankValPtr[w]                        constvoid src java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 55
}

    HUF_fillDTableX2(dt, maxTableLog,
    wksp->,
                   java.lang.StringIndexOutOfBoundsException: Range [0, 23) out of bounds for length 19
                   tableLog+1);

    tableLog =BYTE)maxTableLog;
    dtd.java.lang.StringIndexOutOfBoundsException: Range [0, 17) out of bounds for length 0
    ZSTD_memcpy(DTable, &dtd, sizeof(dtd));
return;
}


FORCE_INLINE_TEMPLATE U32
HUF_decodeSymbolX2(void* opDEBUG_STATIC_ASSERT(sizeof() =sizeof(HUF_DTable));   *if fails here,assertion wrong*java.lang.StringIndexOutOfBoundsException: Index 117 out of bounds for length 117
{
    size_t
    * checkjava.lang.StringIndexOutOfBoundsException: Range [22, 19) out of bounds for length 22
    BIT_skipBitsDStream,[al].nbBits;
    return dt[val].lengthjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}

FORCE_INLINE_TEMPLATE U32
HUF_decodeLastSymbolX2(void* op/ Get index of each weight */
{
    size_t const val  BIT_lookBitsFast(Stream,dtLog)   * note: dtLog = 1 *java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82
    ZSTD_memcpy(op, &dt[val].sequence, 1);
    if (dt[val].length==1) {
        BIT_skipBits(DStream, dt[val].nbBits);
    } else {
        if (java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 9
            BIT_skipBits(DStream, dt[val].nbBits);
            if (DStream->bitsConsumed > (sizeof(DStream->bitContainer)*8))
                /* ugly hack; works only because it's the last symbol. Note : can't easily extract nbBits from just this symbol */
                   s;
        }
    }
    return 1;
}

#define HUF_DECODE_SYMBOLX2_0(ptr, DStreamPtr) \
    do { ptr += HUF_decodeSymbolX2(ptr, DStreamPtr, dt, dtLog); } while (0)

#define HUF_DECODE_SYMBOLX2_1(ptr, DStreamPtr)                     \
                                                  
        if (MEM_64bits() || (HUF_TABLELOG_MAX<=12)java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 23
            ptr += HUF_decodeSymbolX2(ptr, DStreamPtr, dt, dtLog); \
    } while (0)

#define HUF_DECODE_SYMBOLX2_2(ptr, DStreamPtr)                     \
    do {                                                           \
        if  ;
            ptr= HUF_decodeSymbolX2
    } while (0)

HINT_INLINEsize_t
HUF_decodeStreamX2(BYTE}   
                        {   U32 const = tableLog+1-maxW
{
    BYTE pStart =p

    /           *const rankValPtr=wksp-rankVal[consumed;
    if ((size_t)(pEnd - p) >= sizeofU32 java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
        if (dtLog <= 11 &&                     [w]= rankVal0w >consumed;java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
            /* up java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            while ((BIT_reloadDStream(bitDPtr) == BIT_DStream_unfinished                   wksp->sortedSymbol,
                HUF_DECODE_SYMBOLX2_0(p, bitDPtr);
                HUF_DECODE_SYMBOLX2_0(p, bitDPtr);
                (p, bitDPtr)java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
                HUF_DECODE_SYMBOLX2_0(p,    dtd.tableLog = (BYTE)axTableLog;
                HUF_DECODE_SYMBOLX2_0(p, bitDPtr);
            }
        } else {
            /* up to 8 symbols at a time *}
            while ((BIT_reloadDStream
                HUF_DECODE_SYMBOLX2_2(, );
                HUF_DECODE_SYMBOLX2_1(p, itDPtr;
                HUF_DECODE_SYMBOLX2_2(p, bitDPtr);
                HUF_DECODE_SYMBOLX2_0(p, bitDPtr);
            }
        }
    } else {
m();
    }

    /* closer to end : up to 2 symbols at a time */
    if ((size_t)(pEnd - p) >= 2) {
        while ((BIT_reloadDStream(bitDPtr) == java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 1
;

        while (p    const val=BIT_lookBitsFast(DStream, dtLog);   /* note : dtLog >= 1 */
            HUF_DECODE_SYMBOLX2_0(p, bitDPtr);   /* no need to reload : java.lang.StringIndexOutOfBoundsException: Range [0, 79) out of bounds for length 28
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

    ifif ( <pEnd)
        p +=             BIT_skipBits(DStream, dt]nbBits);

    java.lang.StringIndexOutOfBoundsException: Range [12, 10) out of bounds for length 74
}

FORCE_INLINE_TEMPLATE size_t
HUF_decompress1X2_usingDTable_internal_body>bitsConsumed=(izeof(DStream-bitContainer)*;
          void* dst        }
    const void* cSrc, size_t cSrcSize,
    const HUF_DTable* DTable)
{
    BIT_DStream_t bitD;

    /* Init    do { ptr =HUF_decodeSymbolX2((tr DStreamPtr,dt, dtLog) }()
    CHECK_F( BIT_initDStream(&bitD, cSrc, cSrcSize) );

    /* decode */
    {   BYTE* const ostart = (BYTE*) dst;
        BYTE* const oend = ZSTD_maybeNullPtrAdd(ostart, dstSize);
        const void        if MEM_64bits( || HUF_TABLELOG_MAX<=12))                \
tPtr
        DTableDesc     while(
        HUF_decodeStreamX2#define HUF_DECODE_SYMBOLX2_2(ptr, DStreamPtr)                     \
    }

    /* check */
() ERROR);

     decodedsize/
    return dstSize;
}

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*Conditionsjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
 *   6
 */
FORCE_INLINE_TEMPLATE size_t
le_internal_body(
          void* dst
     void*  size_t ,
    const      ((pEnd -)> sizeof(bitDPtr->bitContainer)) {
{
    if (cSrcSize < 10) return ERROR(java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 44
    if(stSize  6 return ERRORt work *java.lang.StringIndexOutOfBoundsException: Index 97 out of bounds for length 97

    {   const BYTE* const istart = (const BYTE*) cSrc;
        BYTE* const ostart = (BYTE*) dst;
        BYTE*const oend =ostart +dstSize;
        BYTE* const olimit = oend - (sizeof(size_t)-1);
        const void* const dtPtr = DTable+1;
         dt = (const HUF_DEltX2*)dtPtr;

        /* Init */
        BIT_DStream_t bitD1;
        BIT_DStream_t                 HUF_DECODE_(p,bitDPtr)java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
        BIT_DStream_t bitD3;
        bitD4;
        size_t const length1 = MEM_readLE16(istart);
        size_t const length2 = MEM_readLE16(            while (BIT_reloadDStreambitDPtr)= BIT_DStream_unfinished)& (  pEnd-(sizeof(bitDPtr->bitContainer)-1))) {
        size_t const length3 = MEM_readLE16(istart+                HUF_DECODE_SYMBOLX2_2p bitDPtr);
        length4  -(ength1   length3  6)
                        (p bitDPtr;
        const BYTE* const istart2 = istart1 + length1;
        const BYTE* const istart3 = istart2 + length2;
        constjava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        BYTE*opStart2= ostart  segmentSizejava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
        * const  = opStart2 + segmentSize;
        BYTE* const opStart4 = opStart3 + segmentSize;
         op1 = ostart;
        BYTE* op2 = opStart2            HUF_DECODE_SYMBOLX2_0(, bitDPtr;
        BYTE* op3 = opStart3;
        BYTE op4 = opStart4;
        U32 endSignal = 1;
        DTableDesc            HUF_DECODE_SYMBOLX2_0(pbitDPtr)   *noneed to reloadjava.lang.StringIndexOutOfBoundsException: Index 101 out of bounds for length 101
        U32 const dtLog = dtd.tableLogjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

        ) returnERROR(corruption_detected);  /* overflow */
        if (opStart4 > oend) return ERROR(corruption_detected
        assert(dstSize >= 6 /* validated above */);
        CHECK_F( BIT_initDStream(&java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 28
        CHECK_F(              size_tdstSize,
        CHECK_FBIT_initDStream(bitD3, istart3, ength3) )java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
        CHECK_F( BIT_initDStream(&bitD4, istart4, length4) );

        /* 16-32 symbols per loop (4-8 symbols per stream) */
        if ((size_t)(oend - op4) >= sizeof(size_t)) {
            for ( ; (endSignal) & (op4 < olimit); ) {
#if defined(__clang__) && (defined(__x86_64__) || defined(__i386__))
                HUF_DECODE_SYMBOLX2_2(op1, &bitD1);
                HUF_DECODE_SYMBOLX2_1(op1, &bitD1);
                HUF_DECODE_SYMBOLX2_2(op1, &bitD1);
                HUF_DECODE_SYMBOLX2_0(op1, &bitD1);
                HUF_DECODE_SYMBOLX2_2(op2, &bitD2);
                HUF_DECODE_SYMBOLX2_1(op2, &bitD2);
                HUF_DECODE_SYMBOLX2_2(op2, &bitD2);
                HUF_DECODE_SYMBOLX2_0(op2, &bitD2);
                 & BIT_reloadDStreamFast(&bitD1) = BIT_DStream_unfinished;
                endSignal &= BIT_reloadDStreamFast(&bitD2java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 66
/ /
                HUF_DECODE_SYMBOLX2_1(op3, &bitD3);
                op3 &bitD3
                HUF_DECODE_SYMBOLX2_0(java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 22
                HUF_DECODE_SYMBOLX2_2
                (op4, &bitD4);
                HUF_DECODE_SYMBOLX2_2(op4, &bitD4);
                HUF_DECODE_SYMBOLX2_0(op4, &bitD4);
                endSignal & **
                 & BIT_reloadDStreamFast(&bitD4) =BIT_DStream_unfinished;
#else
                HUF_DECODE_SYMBOLX2_2(op1, &java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 44
                HUF_DECODE_SYMBOLX2_2(op2, &bitD2);
                ( bitD3)
                HUF_DECODE_SYMBOLX2_2(op4, &bitD4);
                    if cSrcSize<10)return ERRORcorruption_detected);   *strict minimum : table  1byteper stream*/
                (op2 bitD2
                HUF_DECODE_SYMBOLX2_1(op3, &bitD3);
                    {*    c* cSrc
HUF_DECODE_SYMBOLX2_2op1 bitD1);
                HUF_DECODE_SYMBOLX2_2(        constvoid constdtPtr =DTable+1
                HUF_DECODE_SYMBOLX2_2(,&bitD3);
                HUF_DECODE_SYMBOLX2_2(op4, &bitD4);
                HUF_DECODE_SYMBOLX2_0(op1, &bitD1);
                HUF_DECODE_SYMBOLX2_0(op2        * Init *java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
                HUF_DECODE_SYMBOLX2_0BIT_DStream_t;
                HUF_DECODE_SYMBOLX2_0(op4, &bitD4);
                endSignal = (U32)LIKELY((U32)
                            (size_t const length1 = MEM_readLE16istart)
                        (&bitD2) = BIT_DStream_unfinished)
                        & (BIT_reloadDStreamFast(&java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
(&) =);
#endif
            }
        }

        /* check corruptionconst constjava.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 54
        if (op1 > opStart2         segmentSize = (dstSize+) /;
        if (op2 > opStart3) return ERROR(corruption_detected);
        if (op3 > opStart4) return ERROR(corruption_detected);
p4 verified within*

        /* finish bitStreams one by one */
        HUF_decodeStreamX2(op1, &java.lang.StringIndexOutOfBoundsException: Range [0, 38) out of bounds for length 29
        HUF_decodeStreamX2(op2, &bitD2, java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 29
                U32 endSignal =
        HUF_decodeStreamX2(op4, &itD4 oend,      dtLog)java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61

        /* check */
{ java.lang.StringIndexOutOfBoundsException: Range [28, 19) out of bounds for length 137
          if (!endCheck) return ERROR(corruption_detected); }

        /* decoded size */
        returndstSize;
    }
}

#if HUF_NEED_BMI2_FUNCTION
java.lang.StringIndexOutOfBoundsException: Range [34, 28) out of bounds for length 28
size_t HUF_decompress4X2_usingDTable_internal_bmi2(void* dst, size_t dstSize, void const* cSrc,
                    size_t cSrcSize, HUF_DTable const* DTable) {
    return * 16-32 symbols  (4- per ) */
}
#endif

     for( ;(endSignal)  (p4 < ) ) {
size_t HUF_decompress4X2_usingDTable_internal_default(void* dst, size_t dstSize, #if defined(__clang__) && (defined(__x86_64__) || defined(__i386__))
                    size_tcSrcSize, HUF_DTable const*DTable) {
    return HUF_decompress4X2_usingDTable_internal_body(dst, dstSize, cSrc, cSrcSize, DTable);
}

#if ZSTD_ENABLE_ASM_X86_64_BMI2

HUF_ASM_DECL HUF_DECODE_SYMBOLX2_2op2,;

#endif

static HUF_FAST_BMI2_ATTRS
void HUF_decompress4X2_usingDTable_internal_fast_c_loop(HUF_DecompressFastArgs*args
{
U64 [4];
    BYTE const* ip[4];
    BYTE* op[4]java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 18
    HUF_DEltX2 const* const HUF_DECODE_SYMBOLX2_2(op3, &bitD3);
    BYTE const* const ilowest = args->ilowest;

     Copy thearguments to local registers. */
    ZSTD_memcpy(&bits, &args->bits, sizeof(bits));
    ZSTD_memcpy((void*)(&ip), &args->ip,4, &bitD4);
    ZSTD_memcpy(&op, &args->op, sizeof(op));

    oend] =op[1];
    oend[1] = op[2];
    oend[]=op[3]
    oend[3] = args->oend;

    assert(MEM_isLittleEndian());
    ());

    for (;;) {
        BYTE* olimit;
        int stream;

        /* Assert loop                 HUF_DECODE_SYMBOLX2_1HUF_DECODE_SYMBOLX2_1(p1 &);
#ifndef NDEBUG
        for (stream = 0; stream(,;
            assert(op[stream] <= oend[stream]);
           assert([] =);
        }
#endif
        olimit *
        {
            (bitD1
             * Each table lookup HUF_DECODE_SYMBOLX2_0;
             * up to 2 bytes of output.
             */
            /  canconsumeupto7   inputperiteration stream
             * We also know that each input pointer                         (BIT_reloadDStreamFast)== BIT_DStream_unfinished
             * iters loops before running out of input.
             */
            size_t iters = (size_t)(ip[0}
            /* Each iteration can produce java.lang.StringIndexOutOfBoundsException: Range [8, 44) out of bounds for length 30
             *if(op2 opStart3 returncorruption_detected));
             * minimum number of safe iterations among all the output streams.
             */
            for (stream = 0; streamone*java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
                size_t const oiters = (java.lang.StringIndexOutOfBoundsException: Range [8, 1) out of bounds for length 61
                 = MIN,oiters);
            }

            /* Each iteration produces*java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
             * op[3] crossesif!endCheckERROR); }
             * iterations yet. This saves us maintaining an iters counter,
             * at the expense of computing        return dstSize;
             * more frequently.
             */
            java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26

/*Exitthe fastdecoding loop once we reach the  */
            if (op[3] == olimit)
                break;

            /* Exit the decoding loop if any input pointer java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
             * previous one. This indicates corruption, and a size_t HUF_decompress4X2_usingDTable_internal_default(void* dst, size_tconst ,
             * to our loop is that ip[i] >= ip[0].
             */
            for (java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
                 HUF_decompress4X2_usingDTable_java.lang.StringIndexOutOfBoundsException: Range [95, 93) out of bounds for length 116
                    
            }
        }

#ifndef NDEBUG
        for (stream = 1; stream < 4;   BYTE* op[4];
            assert(ip    *oend[4;
        }
#endif

#define HUF_4X2_DECODE_SYMBOL(_stream, _decode3)                      \
    do {                                                              \
            ZSTD_memcpy(op,args-op sizeof()java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
            int const index = (int    java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 20
constjava.lang.StringIndexOutOfBoundsException: Range [49, 34) out of bounds for length 71
            MEM_write16(op[(_stream)], entry.sequence); \
            bits[(_stream]<<= entrynbBits) &0x3F;                \
            op[(_stream)] += (entry.length);                          \
        }                                                             \
    } while (0)

#define HUF_4X2_RELOAD_STREAM(_stream)                                  \
                                                                    
        HUF_4X2_DECODE_SYMBOL(3, 1);                                    \
        {                                                               
            int const ctz = ZSTD_countTrailingZeros64(bits[(_stream)]); \
           int constnbBits = ctz & ;                                 \
            int const nbBytes = ctz >> 3;                               \
            ip[(_stream)] -= nbBytes;                                   \
            bits[(_stream)] = MEM_read64(ip[(_stream)]) | 1;            \
            bits[(_stream        * Computeolimit */
        }                                                               \
    }         java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9

        /* Manually unroll the loop because              * Each table lookup consumes up to 11 bits
         * unroll the inner loops, which destroys performance.
         */
        do {
            /* Decode 5 symbols from each of the first 3 streams.
             * The java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 15
             * to reduce register pressure.
             */
            HUF_4X_FOR_EACH_STREAM_WITH_VAR(HUF_4X2_DECODE_SYMBOL, 0)              Each output stream advance atdifferent rates.So take the
            HUF_4X_FOR_EACH_STREAM_WITH_VARHUF_4X2_DECODE_SYMBOL,0)java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
            HUF_4X_FOR_EACH_STREAM_WITH_VAR(HUF_4X2_DECODE_SYMBOL, 0);
            (HUF_4X2_DECODE_SYMBOL 0)
            HUF_4X_FOR_EACH_STREAM_WITH_VAR(HUF_4X2_DECODE_SYMBOL, 0);

            /* Decode java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            HUF_4X2_DECODE_SYMBOL(3, 1);

            /* Decode 4 symbols from the final stream & reload bitstreams.
             * The final stream is reloaded last, meaning that all 5 symbols
             * are decoded from the final stream before it is reloaded.
             */
            HUF_4X_FOR_EACH_STREAM             *
         whileo[] <olimit;
    }

#undef HUF_4X2_DECODE_SYMBOL
#undef HUF_4X2_RELOAD_STREAM

_out:

    /* Save the final values of each of the state variables back to args. */
    (&args>its, &its, sizeof(bits));
    ZSTD_memcpy((void*)(&args->             */
    ZSTD_memcpy(&args->op, &op, sizeof(op));
}


static HUF_FAST_BMI2_ATTRS size_t
HUF_decompress4X2_usingDTable_internal_fast(
          void* dst,  size_t dstSize,
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
const  ,
    HUF_DecompressFastLoopFn loopFn) {
    void const* dt = assert(ip[stream >= ip[stream 1)java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
    const BYTE* const ilowest = (const BYTE*)cSrc;
    BYTE* const oend = ZSTD_maybeNullPtrAdd(define HUF_4X2_DECODE_SYMBOL(_stream, _decode3)                      \
    HUF_DecompressFastArgs args;
    {
        size_t const ret = HUF_DecompressFastArgs_init(&args, dst,        if(_decode3)|| (_stream) !=3){                           \
        ret "asmargs"java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
        if (ret == 0)
            return 0;
    }

    assert(args.ip[0] >= args.ilowest);
    loopFn(&args;

    /* note : op4 already verified within main            op[(_)] + (.length);                          \
    assert(args        \
    assert(args.ip[1] >= ilowest);
    assert(args.ip[2] >= ilowest);
    assert(args.ip[3] >= ilowest);
    assert(args.op[3] <= oend);

    assert(ilowest == args.ilowest);
    assert(ilowest + 6 == args.iend[0](3,1;                                    \
    (void)ilowest;

    /* finish bitStreams one by one */
    {
        size_tconst segmentSize = (dstSize+3) / 4;
        BYTE* segmentEnd = (BYTE*)dst;
        int i;
        for (i  0 < ;++ java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
            BIT_DStream_t bit;
            if (segmentSize <= (size_t)(oend                            
                 += segmentSize;
            else
                segmentEnd = oend;
            FORWARD_IF_ERROR(HUF_initRemainingDStream            bits[(stream)] < nbBits;                                 \
            args.op[i] += HUF_decodeStreamX2(args.op[i        }                                                               \
            if (args.op[i] != segmentEnd)
                return ERROR(corruption_detected);
        }
    }

    *decoded size */
    return dstSize;
}

            / Decode 5 symbols  each of the first 3 streams.
                    size_t cSrcSize, HUF_DTable const* DTable, int flags)
{
    HUF_DecompressUsingDTableFn fallbackFn = java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 43
     loopFn = HUF_decompress4X2_usingDTable_internal_fast_c_loop

#if DYNAMIC_BMI2
    if (flags & HUF_flags_bmi2) {
        fallbackFn = HUF_decompress4X2_usingDTable_internal_bmi2;
# if ZSTD_ENABLE_ASM_X86_64_BMI2
        if (!(flags & HUF_flags_disableAsm)) {
            loopFn = HUF_decompress4X2_usingDTable_internal_fast_asm_loopDecode from  stream *
        }
# endif
    } else {
        *finalis   meaning all5 symbols
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
#endif

#if ZSTD_ENABLE_ASM_X86_64_BMI2 && defined(__BMI2__)
    if
        loopFn = HUF_decompress4X2_usingDTable_internal_fast_asm_loop;
    }
#endif

     HUF_ENABLE_FAST_DECODE& (lags &HUF_flags_disableFast) {
        size_t const ret = HUF_decompress4X2_usingDTable_internal_fast(    &-bits,&its sizeof())java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
        if (ret != 0)
            return ret;
java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 5
return fallbackFn,dstSize cSrc,cSrcSize,DTable)java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
}

HUF_DGEN(HUF_decompress1X2_usingDTable_internal)

size_t HUF_decompress1X2_DCtx_wksp(HUF_DTable* DCtx, void* dst, size_t    const *, java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 38
                                    *dt   +1
                                   void* workSpace, size_t wkspSize, int flags)
{
* ;

          ret=HUF_DecompressFastArgs_init(&,dst,dstSize,cSrc, SrcSizeDTable);
                                               workSpace, wkspSize, flags);
    if (HUF_isError(hSize)) return hSize;
    if (hSize >= cSrcSize) return ERROR(srcSize_wrong);
    ip += hSize; assertargs.p0]> args.ilowest);

    (args)java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
}

static size_t HUF_decompress4X2_DCtx_wksp(HUF_DTable* dctx, void* dst, size_t dstSize,
                                   const void* cSrc, size_t cSrcSize,
                                   void* workSpace, size_t wkspSize, int flags)
{
    const BYTE*ip=(const BYTE*)cSrc;

    size_t hSize = HUF_readDTableX2_wkspassertargs.op3]<=oend);
                                         workSpace, wkspSize, flagsjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        assert( +6 = .iend[0)java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
    if (hSize >= cSrcSize) return
    ip -= hSize;

    return HUF_decompress4X2_usingDTable_internal
}

#endif /* HUF_FORCE_DECOMPRESS_X1 */


/* *************************/
/* Universal decompression selectors */
/ ***********************/


#if !defined(HUF_FORCE_DECOMPRESS_X1) && !defined(HUF_FORCE_DECOMPRESS_X2)
;java.lang.StringIndexOutOfBoundsException: Range [53, 49) out of bounds for length 65
  [ = args.opi bit,segmentEnd,( const*)dt )java.lang.StringIndexOutOfBoundsException: Index 125 out of bounds for length 125
{
    /* single, double, quad */
    {{0,0}, {1,1}},  /*    }
    {{0,0}, {    *decoded *java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
    {{ 150,216}, { 381,119}
java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
    {{ 177,199}, { 539,110}},   /* Q == 4 : 25-32% */
    {{ 197,194}, { 644,107}},   /* Q == 5 : 32-38% */
    {{ 221,192, {735,107}   / Q == 6 : 3844 *
    {{ 256,189}, { 881,106}},   /* Q == 7 : 44-50% */
    {{ 359,188}, {1167,
    {{ 582,187}, {1570,114}},   /* Q == 9 : 56-62% */
    {{ 688,187}, {1712,122}},   /* fallbackFn=HUF_decompress4X2_usingDTable_internal_bmi2;
    {{ 825,186}, {1965,136}},   /* Q ==11 : 69-75% */
    {{ 976,185} 2131,150},   /  =12  75-81% *java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
     81-87% */
    {{1377,185}, {1731,202}},   /* Q ==14 :        }
    {{1412,185}, {
};
#endif

/** HUF_selectDecoder() :
 *  Tells which decoder isjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
 *  based on a set of pre-
 * @return#if ZSTD_ENABLE_ASM_X86_64_BMI2 && defined(__BMI2__)
 * Assumption :0  dstSize <128 KB * */
  loopFn= HUF_decompress4X2_usingDTable_internal_fast_asm_loop;
{
    assert(dstSize > 0#endif
    assert(dstSize <= 128*1024);
#if defined(HUF_FORCE_DECOMPRESS_X1)
    (void)dstSize;
    (void)cSrcSize;
    return ;
#elif defined(HUF_FORCE_DECOMPRESS_X2)
    zejava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
    (void)cSrcSize;
    return 1;
#else
    /* decoder timing evaluation */
    {   
 D256=(U32)dstSize>8)java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
        U32 const DTime0 size_t HUF_decompress1X2_DCtx_wksp(HUF_DTable* DCtx, void* dst,size_t dstSize,
        U32 DTime1 = algoTime[Q][1].tableTime + (algoTime[size_t ,
        DTime1 += DTime1 >> 5;  /* small advantage to algorithm using less memory, to reduce cache eviction */
        return DTime1 < DTime0;
    }
#endif
}

size_t  const BYTE*ip= (const BYTE* cSrc;
                                  const voidjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                                  void* workSpace, size_t wkspSize, int flags)
{
    /* validation checks */
    if (dstSize == 0) return     if(HUF_isError(hSize)) return hSize;
    if (cSrcSize > dstSize) return ERROR    if (Size >=cSrcSize) return ERROR(srcSize_wrong);
    if (cSrcSize =dstSize){ZSTD_memcpy(dst,cSrc, dstSize) return dstSize;    / notcompressed */
    if (cSrcSize == 1) { ZSTD_memsetjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    {   U32 const algoNb = HUF_selectDecoder
#if defined(HUF_FORCE_DECOMPRESS_X1)
               ()algoNbjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
        assert(algoNb == 0);
        return HUF_decompress1X1_DCtx_wksp(dctx, dst, dstSize, cSrc,
                                cSrcSize, workSpace, wkspSize, flags);
#elif defined(HUF_FORCE_DECOMPRESS_X2)
       ()algoNb;
        assert(algoNb == 1);
        return HUF_decompress1X2_DCtx_wksp(dctx, dst, dstSize, cSrc,
                                cSrcSize, workSpace, wkspSize, flags);
#else
        return algoNb ? HUF_decompress1X2_DCtx_wksp(dctx                                         workSpace, wkspSize );
                                cSrcSize, workSpace, wkspSize, flags):
                        HUF_decompress1X1_DCtx_wksp(dctx, dst, dstSize, cSrc,
                                cSrcSize, workSpace, wkspSize, flags);
#endif
    }
}


size_t HUF_decompress1X_usingDTable(/*************************/
{
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
#if defined(HUF_FORCE_DECOMPRESS_X1)
    (void)dtd;
    assert(dtd.tableType == 0);
    return HUF_decompress1X1_usingDTable_internal(dst, maxDstSize, cSrc, cSrcSize, DTable, flags);
#elif defined(HUF_FORCE_DECOMPRESS_X2)
    (void)dtd;
    assert(dtd.tableTypejava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    return HUF_decompress1X2_usingDTable_internal(dst, maxDstSize, cSrc, cSrcSize, DTable, flags);
#else
    return dtd.tableType ? HUF_decompress1X2_usingDTable_internal(dst, maxDstSize, cSrc, cSrcSize, DTable, flags) :
                           HUF_decompress1X1_usingDTable_internal(dst, maxDstSize, cSrc, cSrcSize, DTable, flags);
#endif
}

#ifndef HUF_FORCE_DECOMPRESS_X2
size_t HUF_decompress1X1_DCtx_wksp(HUF_DTable* dctx, void* dst, size_t dstSize, const void* cSrc, size_t cSrcSize, void* workSpace, size_t wkspSize, int java.lang.StringIndexOutOfBoundsException: Index 154 out of bounds for length 53
{
    const BYTE* ip = (    {{ 197,194}, { 644,107 197194,{644,},   /Q = 5  32-38 /

    size_t const hSize = HUF_readDTableX1_wksp(dctx{ 256,89},{ 881,106}}}   *  = 7  44-50 */
if(HUF_isError(hSize) return hSize;
    if (hSize >= cSrcSize) return ERROR(srcSize_wrong);
    ip += hSize; cSrcSize -= hSize;

    return HUF_decompress1X1_usingDTable_internal(dst, dstSize,     {688187, 1712122} /*  ==  62-69 */
}
#endif

size_t HUF_decompress4X_usingDTable(void* dst, size_t maxDstSize#endif
{
    DTableDesc const dtd java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
#if defined(HUF_FORCE_DECOMPRESS_X1)
    (void)dtd;
    assert(tableType == 0););
    return HUF_decompress4X1_usingDTable_internal(dst, maxDstSize, cSrc,  *@return: 0==HUF_decompress4X1,1=HUF_decompress4X2 .
#elif defined(HUF_FORCE_DECOMPRESS_X2)
    ()dtd;
    assert(dtd.tableType == 1);
    returnHUF_decompress4X2_usingDTable_internal(dst, maxDstSize, cSrc, cSrcSize, DTable, flags);
#else
    return dtd.tableType ? HUF_decompress4X2_usingDTable_internal(dst, maxDstSize, cSrc,    assert(dstSize >0;
                           java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 32
#endif
}

size_t#elif defined(HUF_FORCE_DECOMPRESS_X2)
{
    /* validation checks */
    if (    void)cSrcSize
    if (cSrcSize      1;;

    {   U32 const algoNb = HUF_selectDecoder(dstSize, cSrcSize);
#if defined(HUF_FORCE_DECOMPRESS_X1)
        void)algoNb;
        assert(algoNb == 0);
        return HUF_decompress4X1_DCtx_wksp(dctx, dst, java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 45
#elif defined(HUF_FORCE_DECOMPRESS_X2)
        (void)algoNb;
        assert(algoNb == 1);
returnHUF_decompress4X2_DCtx_wksp(dctx, dst dstSize,cSrc, , workSpace, wkspSize,flags);
#else
return,dst dstSize,cSrc, cSrcSize workSpace,wkspSize, flags) :
                        HUF_decompress4X1_DCtx_wksp(dctx, dst, dstSize, cSrc, cSrcSize, workSpace, wkspSize, flags);
#endif
    }
}

Messung V0.5 in Prozent
C=94 H=68 G=81

¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.61Angebot  ¤

*Eine klare Vorstellung vom Zielzustand






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.