package rfc1951

  1. Overview
  2. Docs
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 = [
  1. | `Invalid_compression_level
  2. | `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 = {
  1. litlen : int array;
  2. offset : int array;
}
type codes = {
  1. codewords : lit_off;
  2. lens : lit_off;
}
type encoder = {
  1. level : int;
  2. min_size_to_compress : int;
  3. max_search_depth : int;
  4. nice_match_length : int;
  5. offset_slot_fast : int array;
  6. freqs : lit_off;
  7. codes : codes;
  8. static_codes : codes;
  9. precode_freqs : int array;
  10. precode_lens : int array;
  11. precode_codewords : int array;
  12. precode_items : int array;
  13. mutable num_litlen_syms : int;
  14. mutable num_offset_syms : int;
  15. mutable num_explicit_lens : int;
  16. mutable num_precode_items : int;
}
type output_bitstream = {
  1. i : bigstring;
  2. mutable i_pos : int;
  3. i_len : int;
  4. o : bigstring;
  5. mutable o_pos : int;
  6. o_len : int;
  7. mutable hold : int;
  8. mutable bits : int;
}
type hc_matchfinder = {
  1. hash4_tab : int array;
  2. mutable next_hash4 : int;
  3. next_tab : int array;
}
val hc_matchfinder_hash4_order : int
val window_size : int
val hc_matchfinder_init : unit -> hc_matchfinder
type sequence = {
  1. mutable litrunlen_and_length : int;
  2. mutable offset : int;
  3. mutable offset_symbol : int;
  4. 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 = {
  1. new_observations : int array;
  2. observations : int array;
  3. mutable num_new_observations : int;
  4. mutable num_observations : int;
}
val split_stats : block_split_stats
type lens = {
  1. mutable best : int;
  2. mutable nice : int;
  3. 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