class PoiseArchive::Bzip2::OutputData

This code is free software; you can redistribute it and/or modify it under the terms of the new BSD License.

Copyright © 2011-2013, Sebastian Staudt

Attributes

block[R]
fmap[R]
ftab[R]
generate_mtf_values_yy[R]
heap[R]
in_use[R]
main_sort_big_done[R]
main_sort_copy[R]
main_sort_running_order[R]
mtf_freq[R]
parent[R]
quadrant[R]
selector[R]
selector_mtf[R]
send_mtf_values2_pos[R]
send_mtf_values4_in_use_16[R]
send_mtf_values_code[R]
send_mtf_values_cost[R]
send_mtf_values_fave[R]
send_mtf_values_len[R]
send_mtf_values_rfreq[R]
sfmap[R]
stack_dd[R]
stack_hh[R]
stack_ll[R]
unseq_to_seq[R]
weight[R]

Public Class Methods

new(block_size) click to toggle source
# File lib/poise_archive/bzip2/output_data.rb, line 20
def initialize(block_size)
  n = block_size * BASEBLOCKSIZE
  @block        = Array.new n + 1 + NUM_OVERSHOOT_BYTES, 0
  @fmap         = Array.new n, 0
  @selector     = Array.new MAX_SELECTORS
  @selector_mtf = Array.new MAX_SELECTORS
  @sfmap        = Array.new 2 * n
  @quadrant     = @sfmap

  @in_use       = Array.new 256
  @mtf_freq     = Array.new MAX_ALPHA_SIZE, 0
  @unseq_to_seq = Array.new 256

  @generate_mtf_values_yy = Array.new 256
  @send_mtf_values_code   = Array.new(N_GROUPS) { Array.new MAX_ALPHA_SIZE }
  @send_mtf_values_cost   = Array.new N_GROUPS
  @send_mtf_values_fave   = Array.new N_GROUPS
  @send_mtf_values_len    = Array.new(N_GROUPS) { Array.new MAX_ALPHA_SIZE }
  @send_mtf_values_rfreq  = Array.new(N_GROUPS) { Array.new MAX_ALPHA_SIZE }
  @send_mtf_values2_pos   = Array.new N_GROUPS
  @send_mtf_values4_in_use_16 = Array.new 16

  @stack_dd = Array.new QSORT_STACK_SIZE
  @stack_hh = Array.new QSORT_STACK_SIZE
  @stack_ll = Array.new QSORT_STACK_SIZE

  @main_sort_big_done      = Array.new 256
  @main_sort_copy          = Array.new 256
  @main_sort_running_order = Array.new 256

  @heap   = Array.new MAX_ALPHA_SIZE + 2
  @parent = Array.new MAX_ALPHA_SIZE + 2
  @weight = Array.new MAX_ALPHA_SIZE + 2

  @ftab = Array.new 65537
end