38 return s1 * 7 + s2 - 13;
56 int32_t seq1_min = (start - (
EO_CHAR_MAX - 1) + 13 + 6) / 7;
62 int32_t seq1_max = (start + 13) / 7;
68 if (seq1_max < seq1_min)
73 int32_t range = seq1_max - seq1_min + 1;
74 int32_t seq1 = (range > 0) ?
eo_rand_range(seq1_min, seq1_max) : seq1_min;
75 int32_t seq2 = start - seq1 * 7 + 13;
82 out_bytes[0] = (uint8_t)seq1;
83 out_bytes[1] = (uint8_t)seq2;
111 int32_t range = high - low + 1;
113 int32_t seq2 = seq1 - start;
120 out_bytes[0] = (uint8_t)seq1;
121 out_bytes[1] = (uint8_t)seq2;
@ EO_INVALID_SEQUENCE_RANGE
@ EO_SEQUENCE_OUT_OF_RANGE
uint32_t eo_rand_range(uint32_t min, uint32_t max)
EoResult eo_sequence_ping_bytes(int32_t start, uint8_t *out_bytes)
EoResult eo_sequencer_next(EoSequencer *sequencer, int32_t *out_value)
int32_t eo_sequence_start_from_ping(int32_t s1, int32_t s2)
EoResult eo_sequence_init_bytes(int32_t start, uint8_t *out_bytes)
int32_t eo_sequence_start_from_init(int32_t s1, int32_t s2)
int32_t eo_generate_sequence_start()
EoSequencer eo_sequencer_init(int32_t start)