Class: Omnizip::Algorithms::PPMd8
- Inherits:
-
PPMdBase
- Object
- Omnizip::Algorithm
- PPMdBase
- Omnizip::Algorithms::PPMd8
- Includes:
- Constants
- Defined in:
- lib/omnizip/algorithms/ppmd8.rb,
lib/omnizip/algorithms/ppmd8/model.rb,
lib/omnizip/algorithms/ppmd8/context.rb,
lib/omnizip/algorithms/ppmd8/decoder.rb,
lib/omnizip/algorithms/ppmd8/encoder.rb,
lib/omnizip/algorithms/ppmd8/constants.rb,
lib/omnizip/algorithms/ppmd8/restoration_method.rb
Overview
PPMd8 (PPMdI) compression algorithm
PPMd8 is an improved variant of PPMd7 that adds:
- Multiple restoration methods (RESTART, CUT_OFF)
- Enhanced memory management with glue counting
- Improved context update algorithms
- Run-length encoding support for better repetition handling
This implementation follows the PPMd8 specification from 7-Zip.
Defined Under Namespace
Modules: Constants Classes: Context, Decoder, Encoder, Model, RestorationMethod
Constant Summary
Constants included from Constants
Constants::BIN_SCALE, Constants::DEFAULT_RESTORE_METHOD, Constants::GLUE_COUNT_THRESHOLD, Constants::INIT_ESCAPE_FREQ, Constants::INTERVAL, Constants::INT_BITS, Constants::MAX_FREQ, Constants::MAX_STATES, Constants::PERIOD_BITS, Constants::PROB_TOTAL, Constants::RESTORE_METHOD_CUT_OFF, Constants::RESTORE_METHOD_RESTART, Constants::SEE_CONTEXTS, Constants::SUFFIX_CONTEXTS, Constants::UNIT_ALLOC_SIZE, Constants::UNIT_SIZE
Constants included from Omnizip::Algorithms::PPMdBase::BaseConstants
Omnizip::Algorithms::PPMdBase::BaseConstants::ALPHABET_SIZE, Omnizip::Algorithms::PPMdBase::BaseConstants::BOT_VALUE, Omnizip::Algorithms::PPMdBase::BaseConstants::DEFAULT_MEM_SIZE, Omnizip::Algorithms::PPMdBase::BaseConstants::DEFAULT_ORDER, Omnizip::Algorithms::PPMdBase::BaseConstants::MAX_MEM_SIZE, Omnizip::Algorithms::PPMdBase::BaseConstants::MAX_ORDER, Omnizip::Algorithms::PPMdBase::BaseConstants::MIN_MEM_SIZE, Omnizip::Algorithms::PPMdBase::BaseConstants::MIN_ORDER, Omnizip::Algorithms::PPMdBase::BaseConstants::TOP_VALUE
Instance Attribute Summary
Attributes inherited from Omnizip::Algorithm
Class Method Summary collapse
-
.metadata ⇒ AlgorithmMetadata
Algorithm metadata.
Methods inherited from PPMdBase
Methods inherited from Omnizip::Algorithm
#compress, #decompress, inherited, #initialize, #with_filter
Constructor Details
This class inherits a constructor from Omnizip::Algorithm
Class Method Details
.metadata ⇒ AlgorithmMetadata
Algorithm metadata
52 53 54 55 56 57 58 59 60 |
# File 'lib/omnizip/algorithms/ppmd8.rb', line 52 def self. Models::AlgorithmMetadata.new.tap do |m| m.name = "ppmd8" m.description = "PPMd8 (PPMdI) - Enhanced Prediction by " \ "Partial Matching with improved restoration" m.version = "1.0.0" m.supports_streaming = true end end |