Source File
trie.go
Belonging Package
vendor/golang.org/x/text/unicode/norm
// Copyright 2011 The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.package normtype valueRange struct {value uint16 // header: value:stridelo, hi byte // header: lo:n}type sparseBlocks struct {values []valueRangeoffset []uint16}var nfcSparse = sparseBlocks{values: nfcSparseValues[:],offset: nfcSparseOffset[:],}var nfkcSparse = sparseBlocks{values: nfkcSparseValues[:],offset: nfkcSparseOffset[:],}var (nfcData = newNfcTrie(0)nfkcData = newNfkcTrie(0))// lookupValue determines the type of block n and looks up the value for b.// For n < t.cutoff, the block is a simple lookup table. Otherwise, the block// is a list of ranges with an accompanying value. Given a matching range r,// the value for b is by r.value + (b - r.lo) * stride.func ( *sparseBlocks) ( uint32, byte) uint16 {:= .offset[]:= .values[]:= + 1:= + uint16(.lo)for < {:= + (-)/2:= .values[]if .lo <= && <= .hi {return .value + uint16(-.lo)*.value}if < .lo {=} else {= + 1}}return 0}
![]() |
The pages are generated with Golds v0.6.7. (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 @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |