├── .gitattributes ├── .github ├── FUNDING.yml ├── dependabot.yml └── workflows │ ├── CI.yml │ ├── coverage.yml │ ├── pr-name.yml │ └── release.yml ├── .gitignore ├── .rustfmt.toml ├── CHANGELOG.md ├── CONTRIBUTING.md ├── Cargo.lock ├── Cargo.toml ├── README.md ├── arithmetic-coding-core ├── CHANGELOG.md ├── Cargo.toml ├── README.md └── src │ ├── bitstore.rs │ ├── lib.rs │ ├── model.rs │ └── model │ ├── fixed_length.rs │ ├── max_length.rs │ └── one_shot.rs ├── benches ├── common │ └── mod.rs └── sherlock.rs ├── deny.toml ├── examples ├── README.md ├── common │ └── mod.rs ├── concatenated.rs ├── fenwick_adaptive.rs ├── fenwick_context_switching.rs ├── fixed_length.rs ├── integer.rs ├── max_length.rs ├── sherlock.rs └── symbolic.rs ├── fenwick-model ├── CHANGELOG.md ├── Cargo.toml ├── README.md └── src │ ├── context_switching.rs │ ├── lib.rs │ └── simple.rs ├── fuzz ├── .gitignore ├── Cargo.lock ├── Cargo.toml └── fuzz_targets │ ├── fuzz_target_1.rs │ └── round_trip.rs ├── resources └── sherlock.txt ├── src ├── common.rs ├── decoder.rs ├── encoder.rs └── lib.rs └── tests ├── common └── mod.rs ├── concatenated.rs ├── fixed_length.rs ├── fuzz.rs ├── max_length.rs ├── precision_checking.rs └── sherlock.rs /.gitattributes: -------------------------------------------------------------------------------- 1 | Cargo.lock -diff merge=ours 2 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/.github/FUNDING.yml -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/CI.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/.github/workflows/CI.yml -------------------------------------------------------------------------------- /.github/workflows/coverage.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/.github/workflows/coverage.yml -------------------------------------------------------------------------------- /.github/workflows/pr-name.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/.github/workflows/pr-name.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /.rustfmt.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/.rustfmt.toml -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/Cargo.toml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/README.md -------------------------------------------------------------------------------- /arithmetic-coding-core/CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/arithmetic-coding-core/CHANGELOG.md -------------------------------------------------------------------------------- /arithmetic-coding-core/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/arithmetic-coding-core/Cargo.toml -------------------------------------------------------------------------------- /arithmetic-coding-core/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/arithmetic-coding-core/README.md -------------------------------------------------------------------------------- /arithmetic-coding-core/src/bitstore.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/arithmetic-coding-core/src/bitstore.rs -------------------------------------------------------------------------------- /arithmetic-coding-core/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/arithmetic-coding-core/src/lib.rs -------------------------------------------------------------------------------- /arithmetic-coding-core/src/model.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/arithmetic-coding-core/src/model.rs -------------------------------------------------------------------------------- /arithmetic-coding-core/src/model/fixed_length.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/arithmetic-coding-core/src/model/fixed_length.rs -------------------------------------------------------------------------------- /arithmetic-coding-core/src/model/max_length.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/arithmetic-coding-core/src/model/max_length.rs -------------------------------------------------------------------------------- /arithmetic-coding-core/src/model/one_shot.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/arithmetic-coding-core/src/model/one_shot.rs -------------------------------------------------------------------------------- /benches/common/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/benches/common/mod.rs -------------------------------------------------------------------------------- /benches/sherlock.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/benches/sherlock.rs -------------------------------------------------------------------------------- /deny.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/deny.toml -------------------------------------------------------------------------------- /examples/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/examples/README.md -------------------------------------------------------------------------------- /examples/common/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/examples/common/mod.rs -------------------------------------------------------------------------------- /examples/concatenated.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/examples/concatenated.rs -------------------------------------------------------------------------------- /examples/fenwick_adaptive.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/examples/fenwick_adaptive.rs -------------------------------------------------------------------------------- /examples/fenwick_context_switching.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/examples/fenwick_context_switching.rs -------------------------------------------------------------------------------- /examples/fixed_length.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/examples/fixed_length.rs -------------------------------------------------------------------------------- /examples/integer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/examples/integer.rs -------------------------------------------------------------------------------- /examples/max_length.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/examples/max_length.rs -------------------------------------------------------------------------------- /examples/sherlock.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/examples/sherlock.rs -------------------------------------------------------------------------------- /examples/symbolic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/examples/symbolic.rs -------------------------------------------------------------------------------- /fenwick-model/CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/fenwick-model/CHANGELOG.md -------------------------------------------------------------------------------- /fenwick-model/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/fenwick-model/Cargo.toml -------------------------------------------------------------------------------- /fenwick-model/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/fenwick-model/README.md -------------------------------------------------------------------------------- /fenwick-model/src/context_switching.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/fenwick-model/src/context_switching.rs -------------------------------------------------------------------------------- /fenwick-model/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/fenwick-model/src/lib.rs -------------------------------------------------------------------------------- /fenwick-model/src/simple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/fenwick-model/src/simple.rs -------------------------------------------------------------------------------- /fuzz/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | corpus 3 | artifacts 4 | -------------------------------------------------------------------------------- /fuzz/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/fuzz/Cargo.lock -------------------------------------------------------------------------------- /fuzz/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/fuzz/Cargo.toml -------------------------------------------------------------------------------- /fuzz/fuzz_targets/fuzz_target_1.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/fuzz/fuzz_targets/fuzz_target_1.rs -------------------------------------------------------------------------------- /fuzz/fuzz_targets/round_trip.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/fuzz/fuzz_targets/round_trip.rs -------------------------------------------------------------------------------- /resources/sherlock.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/resources/sherlock.txt -------------------------------------------------------------------------------- /src/common.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/src/common.rs -------------------------------------------------------------------------------- /src/decoder.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/src/decoder.rs -------------------------------------------------------------------------------- /src/encoder.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/src/encoder.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/src/lib.rs -------------------------------------------------------------------------------- /tests/common/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/tests/common/mod.rs -------------------------------------------------------------------------------- /tests/concatenated.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/tests/concatenated.rs -------------------------------------------------------------------------------- /tests/fixed_length.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/tests/fixed_length.rs -------------------------------------------------------------------------------- /tests/fuzz.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/tests/fuzz.rs -------------------------------------------------------------------------------- /tests/max_length.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/tests/max_length.rs -------------------------------------------------------------------------------- /tests/precision_checking.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/tests/precision_checking.rs -------------------------------------------------------------------------------- /tests/sherlock.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/danieleades/arithmetic-coding/HEAD/tests/sherlock.rs --------------------------------------------------------------------------------