Class: Omnizip::Algorithms::PPMd8::Context
- Inherits:
-
Omnizip::Algorithms::PPMd7::Context
- Object
- Omnizip::Algorithms::PPMd7::Context
- Omnizip::Algorithms::PPMd8::Context
- Includes:
- Constants
- Defined in:
- lib/omnizip/algorithms/ppmd8/context.rb
Overview
PPMd8 Context - Enhanced version with Union types
Represents a context node in the PPMd8 model tree. PPMd8 uses optimized memory layout with Union types.
Constant Summary
Constants included from Constants
Omnizip::Algorithms::PPMd8::Constants::BIN_SCALE, Omnizip::Algorithms::PPMd8::Constants::DEFAULT_RESTORE_METHOD, Omnizip::Algorithms::PPMd8::Constants::GLUE_COUNT_THRESHOLD, Omnizip::Algorithms::PPMd8::Constants::INIT_ESCAPE_FREQ, Omnizip::Algorithms::PPMd8::Constants::INTERVAL, Omnizip::Algorithms::PPMd8::Constants::INT_BITS, Omnizip::Algorithms::PPMd8::Constants::MAX_FREQ, Omnizip::Algorithms::PPMd8::Constants::MAX_STATES, Omnizip::Algorithms::PPMd8::Constants::PERIOD_BITS, Omnizip::Algorithms::PPMd8::Constants::PROB_TOTAL, Omnizip::Algorithms::PPMd8::Constants::RESTORE_METHOD_CUT_OFF, Omnizip::Algorithms::PPMd8::Constants::RESTORE_METHOD_RESTART, Omnizip::Algorithms::PPMd8::Constants::SEE_CONTEXTS, Omnizip::Algorithms::PPMd8::Constants::SUFFIX_CONTEXTS, Omnizip::Algorithms::PPMd8::Constants::UNIT_ALLOC_SIZE, Omnizip::Algorithms::PPMd8::Constants::UNIT_SIZE
Constants included from Omnizip::Algorithms::PPMd7::Constants
Omnizip::Algorithms::PPMd7::Constants::ALPHABET_SIZE, Omnizip::Algorithms::PPMd7::Constants::BIN_SCALE, Omnizip::Algorithms::PPMd7::Constants::BOT_VALUE, Omnizip::Algorithms::PPMd7::Constants::DEFAULT_MEM_SIZE, Omnizip::Algorithms::PPMd7::Constants::DEFAULT_ORDER, Omnizip::Algorithms::PPMd7::Constants::INIT_ESCAPE_FREQ, Omnizip::Algorithms::PPMd7::Constants::INTERVAL, Omnizip::Algorithms::PPMd7::Constants::INT_BITS, Omnizip::Algorithms::PPMd7::Constants::MAX_FREQ, Omnizip::Algorithms::PPMd7::Constants::MAX_MEM_SIZE, Omnizip::Algorithms::PPMd7::Constants::MAX_ORDER, Omnizip::Algorithms::PPMd7::Constants::MAX_STATES, Omnizip::Algorithms::PPMd7::Constants::MIN_MEM_SIZE, Omnizip::Algorithms::PPMd7::Constants::MIN_ORDER, Omnizip::Algorithms::PPMd7::Constants::PERIOD_BITS, Omnizip::Algorithms::PPMd7::Constants::PROB_TOTAL, Omnizip::Algorithms::PPMd7::Constants::SEE_CONTEXTS, Omnizip::Algorithms::PPMd7::Constants::SUFFIX_CONTEXTS, Omnizip::Algorithms::PPMd7::Constants::TOP_VALUE, Omnizip::Algorithms::PPMd7::Constants::UNIT_ALLOC_SIZE, Omnizip::Algorithms::PPMd7::Constants::UNIT_SIZE
Instance Attribute Summary collapse
-
#flags ⇒ Object
Returns the value of attribute flags.
-
#glue_count ⇒ Object
Returns the value of attribute glue_count.
-
#num_stats ⇒ Object
Returns the value of attribute num_stats.
-
#sum_freq ⇒ Object
Returns the value of attribute sum_freq.
Attributes inherited from Omnizip::Algorithms::PPMd7::Context
#escape_freq, #order, #states, #suffix
Instance Method Summary collapse
-
#initialize(order, suffix) ⇒ Context
constructor
A new instance of Context.
-
#needs_restoration? ⇒ Boolean
PPMd8-specific: Check if context needs memory restoration.
Methods inherited from Omnizip::Algorithms::PPMd7::Context
#add_symbol, #find_symbol, #needs_escape?, #num_symbols, #root?, #symbols_by_frequency, #total_freq, #update_symbol
Constructor Details
#initialize(order, suffix) ⇒ Context
Returns a new instance of Context.
17 18 19 20 21 22 23 |
# File 'lib/omnizip/algorithms/ppmd8/context.rb', line 17 def initialize(order, suffix) super @num_stats = 0 @flags = 0 @sum_freq = 0 @glue_count = 0 end |
Instance Attribute Details
#flags ⇒ Object
Returns the value of attribute flags.
15 16 17 |
# File 'lib/omnizip/algorithms/ppmd8/context.rb', line 15 def flags @flags end |
#glue_count ⇒ Object
Returns the value of attribute glue_count.
15 16 17 |
# File 'lib/omnizip/algorithms/ppmd8/context.rb', line 15 def glue_count @glue_count end |
#num_stats ⇒ Object
Returns the value of attribute num_stats.
15 16 17 |
# File 'lib/omnizip/algorithms/ppmd8/context.rb', line 15 def num_stats @num_stats end |
#sum_freq ⇒ Object
Returns the value of attribute sum_freq.
15 16 17 |
# File 'lib/omnizip/algorithms/ppmd8/context.rb', line 15 def sum_freq @sum_freq end |
Instance Method Details
#needs_restoration? ⇒ Boolean
PPMd8-specific: Check if context needs memory restoration
26 27 28 |
# File 'lib/omnizip/algorithms/ppmd8/context.rb', line 26 def needs_restoration? @glue_count >= GLUE_COUNT_THRESHOLD end |