package zstd
import (
"fmt"
)
type buildDtableAsmContext struct {
stateTable *uint16
norm *int16
dt *uint64
errParam1 uint64
errParam2 uint64
}
func buildDtable_asm (s *fseDecoder , ctx *buildDtableAsmContext ) int
const (
errorCorruptedNormalizedCounter = 1
errorNewStateTooBig = 2
errorNewStateNoBits = 3
)
func (s *fseDecoder ) buildDtable () error {
ctx := buildDtableAsmContext {
stateTable : &s .stateTable [0 ],
norm : &s .norm [0 ],
dt : (*uint64 )(&s .dt [0 ]),
}
code := buildDtable_asm (s , &ctx )
if code != 0 {
switch code {
case errorCorruptedNormalizedCounter :
position := ctx .errParam1
return fmt .Errorf ("corrupted input (position=%d, expected 0)" , position )
case errorNewStateTooBig :
newState := decSymbol (ctx .errParam1 )
size := ctx .errParam2
return fmt .Errorf ("newState (%d) outside table size (%d)" , newState , size )
case errorNewStateNoBits :
newState := decSymbol (ctx .errParam1 )
oldState := decSymbol (ctx .errParam2 )
return fmt .Errorf ("newState (%d) == oldState (%d) and no bits" , newState , oldState )
default :
return fmt .Errorf ("buildDtable_asm returned unhandled nonzero code = %d" , code )
}
}
return nil
}
The pages are generated with Golds v0.8.4 . (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu .
PR and bug reports are welcome and can be submitted to the issue list .
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds .