Module Def.Ns

val _min_block_length : int
val _end_padding : int
val _max_match_offset : int
val _max_max_codeword_len : int
val _num_litlen_syms : int
val _max_litlen_codeword_len : int
val _num_offset_syms : int
val _max_offset_codeword_len : int
val _max_num_syms : int
val _num_symbol_bits : int
val _symbol_mask : int
val _min_match_len : int
val _max_match_len : int
val _soft_max_block_length : int
val _num_precode_syms : int
val _end_of_block : int
val _max_pre_codeword_len : int
val _max_extra_length_bits : int
val _max_extra_offset_bits : int
type error = [
| `Invalid_compression_level
| `Unexpected_end_of_output
]
val pp_error : Stdlib.Format.formatter -> [< `Invalid_compression_level | `Unexpected_end_of_output ] -> unit
exception Malformed of error
val err_invalid_compression_level : unit -> 'a
val err_unexpected_end_of_output : unit -> 'a
type lit_off = {
litlen : int array;
offset : int array;
}
type codes = {
codewords : lit_off;
lens : lit_off;
}
type encoder = {
level : int;
min_size_to_compress : int;
max_search_depth : int;
nice_match_length : int;
offset_slot_fast : int array;
freqs : lit_off;
codes : codes;
static_codes : codes;
precode_freqs : int array;
precode_lens : int array;
precode_codewords : int array;
precode_items : int array;
mutable num_litlen_syms : int;
mutable num_offset_syms : int;
mutable num_explicit_lens : int;
mutable num_precode_items : int;
}
type output_bitstream = {
i : bigstring;
mutable i_pos : int;
i_len : int;
o : bigstring;
mutable o_pos : int;
o_len : int;
mutable hold : int;
mutable bits : int;
}
type hc_matchfinder = {
hash4_tab : int array;
mutable next_hash4 : int;
next_tab : int array;
}
val hc_matchfinder_hash4_order : int
val window_size : int
val hc_matchfinder_init : unit -> hc_matchfinder
type sequence = {
mutable litrunlen_and_length : int;
mutable offset : int;
mutable offset_symbol : int;
mutable length_slot : int;
}
val num_literal_observation_types : int
val num_match_observation_types : int
val num_observation_types : int
type block_split_stats = {
new_observations : int array;
observations : int array;
mutable num_new_observations : int;
mutable num_observations : int;
}
val split_stats : block_split_stats
type lens = {
mutable best : int;
mutable nice : int;
mutable max : int;
}
val blocktype_uncompressed : int
val blocktype_static_huffman : int
val blocktype_dynamic_huffman : int
val init_output : bigstring -> bigstring -> output_bitstream
val get_num_counter : int -> int
val sort_symbols : int -> int array -> int array -> int array -> int
val build_tree : int array -> int -> unit
val compute_length_counts : int array -> int -> int array -> int -> unit
val gen_codewords : int array -> int array -> int array -> int -> int -> unit
val make_canonical_huffman_code : int -> int -> int array -> int array -> int array -> unit
val reverse_codeword : int -> int -> int
val make_huffman_code : int -> int -> int array -> int array -> int array -> unit
val make_huffman_codes : lit_off -> codes -> unit
val init_static_codes : lit_off -> codes -> unit
val init_offset_slot_fast : int array -> unit
val add_bits : output_bitstream -> int -> int -> unit
val flush_bits : output_bitstream -> unit
val write_block_header : output_bitstream -> bool -> int -> unit
val align_bitstream : output_bitstream -> unit
val put_unaligned_le16 : output_bitstream -> int -> unit
val memcpy : bigstring -> src_off:int -> bigstring -> dst_off:int -> len:int -> unit
val write_uncompressed_block : output_bitstream -> int -> bool -> unit
val write_uncompressed_blocks : output_bitstream -> int -> bool -> unit
val flush_output : output_bitstream -> int
val compress_none : 'a -> bigstring -> bigstring -> int
val compute_precode_items : int array -> int -> int array -> int array -> int
val precompute_huffman_header : encoder -> unit
val write_huffman_header : encoder -> output_bitstream -> unit
val write_sequences : output_bitstream -> codes -> sequence list -> bigstring -> int Stdlib.ref -> unit
val write_end_of_block : output_bitstream -> codes -> unit
val flush_block : encoder -> output_bitstream -> bigstring -> int Stdlib.ref -> int -> bool -> sequence list -> unit
val init_block_split_stats : block_split_stats -> unit
val reset_symbol_frequencies : encoder -> unit
val num_observations_per_block_check : int
val do_end_block_check : block_split_stats -> int -> bool
val should_end_block : block_split_stats -> int -> int -> int -> bool
val _lz_extend : bigstring -> int -> int -> int -> int -> int
val lz_extend : bigstring -> int -> int -> int -> int -> int
val hc_matchfinder_slide_window : hc_matchfinder -> unit
val lz_hash : bigstring -> int -> int -> int
val _matchfinder_longest_rec : int -> int -> output_bitstream -> lens -> hc_matchfinder -> int -> int -> int
val hc_matchfinder_longest_match : hc_matchfinder -> output_bitstream -> lens -> int -> int
val _matchfinder_skip_rec : output_bitstream -> hc_matchfinder -> int -> unit
val hc_matchfinder_skip_positions : hc_matchfinder -> output_bitstream -> int -> unit
val choose_literal : encoder -> int -> int Stdlib.ref -> unit
val choose_match : encoder -> int -> int -> int -> sequence
val observe_match : block_split_stats -> int -> unit
val observe_literal : block_split_stats -> int -> unit
val compress_greedy : encoder -> bigstring -> bigstring -> int
val compress_lazy : 'a -> 'b -> 'c -> int
val encoder : int -> ( encoder -> bigstring -> bigstring -> int ) * encoder
val compress_bound : int -> int
val deflate : ?level:int -> ( char, Stdlib.Bigarray.int8_unsigned_elt, Stdlib.Bigarray.c_layout ) Stdlib.Bigarray.Array1.t -> ( char, Stdlib.Bigarray.int8_unsigned_elt, Stdlib.Bigarray.c_layout ) Stdlib.Bigarray.Array1.t -> ( int, [> error ] ) Stdlib.result