DCCL v3
arithmetic.proto
1 
2 import "dccl/option_extensions.proto";
3 
4 package dccl.arith.protobuf;
5 
6 message ArithmeticModel
7 {
8  required string name = 1;
9 
10  repeated uint32 frequency = 10; // frequency of the symbol given by the repeated field index
11  // probability is (frequency / sum(frequency))
12  optional uint32 eof_frequency = 11 [default = 1]; // frequency of EOF symbol
13  optional uint32 out_of_range_frequency = 12 [default = 0]; // frequency of the out-of-range value, that is, the value not within the range defined by [symbol_to_value(0), maximum_value). This *may* be zero, in this case, out of range values end encoding and return EOF there.
14 
15  repeated double value_bound = 20; // set of bounds of value in double space that maps to symbol given by repeated field index; upper bound is given by lower bound of the next symbol. Size must be size(frequency) + 1 (number of symbols + 1).
16 
17  optional bool is_adaptive = 30 [default = false];
18 
19 }