Lines Matching refs:r

21 nxt_inline void nxt_random_start_schedule(nxt_random_t *r);
22 static void nxt_random_stir(nxt_random_t *r);
23 static void nxt_random_add(nxt_random_t *r, const u_char *key, uint32_t len);
24 nxt_inline uint8_t nxt_random_byte(nxt_random_t *r);
28 nxt_random_init(nxt_random_t *r) in nxt_random_init() argument
30 nxt_random_start_schedule(r); in nxt_random_init()
32 nxt_random_stir(r); in nxt_random_init()
37 nxt_random_start_schedule(nxt_random_t *r) in nxt_random_start_schedule() argument
41 r->i = 0; in nxt_random_start_schedule()
42 r->j = 0; in nxt_random_start_schedule()
45 r->s[i] = i; in nxt_random_start_schedule()
51 nxt_random_stir(nxt_random_t *r) in nxt_random_stir() argument
105 nxt_random_add(r, key.bytes, NXT_RANDOM_KEY_SIZE); in nxt_random_stir()
109 (void) nxt_random_byte(r); in nxt_random_stir()
113 r->count = 400000; in nxt_random_stir()
118 nxt_random_add(nxt_random_t *r, const u_char *key, uint32_t len) in nxt_random_add() argument
124 val = r->s[r->i]; in nxt_random_add()
125 r->j += val + key[n % len]; in nxt_random_add()
127 r->s[r->i] = r->s[r->j]; in nxt_random_add()
128 r->s[r->j] = val; in nxt_random_add()
130 r->i++; in nxt_random_add()
134 r->i--; in nxt_random_add()
136 r->j = r->i; in nxt_random_add()
141 nxt_random(nxt_random_t *r) in nxt_random() argument
145 r->count--; in nxt_random()
147 if (r->count <= 0) { in nxt_random()
148 nxt_random_stir(r); in nxt_random()
151 val = nxt_random_byte(r) << 24; in nxt_random()
152 val |= nxt_random_byte(r) << 16; in nxt_random()
153 val |= nxt_random_byte(r) << 8; in nxt_random()
154 val |= nxt_random_byte(r); in nxt_random()
161 nxt_random_byte(nxt_random_t *r) in nxt_random_byte() argument
165 r->i++; in nxt_random_byte()
166 si = r->s[r->i]; in nxt_random_byte()
167 r->j += si; in nxt_random_byte()
169 sj = r->s[r->j]; in nxt_random_byte()
170 r->s[r->i] = sj; in nxt_random_byte()
171 r->s[r->j] = si; in nxt_random_byte()
175 return r->s[si]; in nxt_random_byte()
185 nxt_random_t r; in nxt_random_test() local
187 nxt_random_start_schedule(&r); in nxt_random_test()
189 r.count = 400000; in nxt_random_test()
191 nxt_random_add(&r, (u_char *) "arc4random", nxt_length("arc4random")); in nxt_random_test()
198 if (nxt_random(&r) == 0xD6270B27) { in nxt_random_test()
201 (void) nxt_random(&r); in nxt_random_test()
204 if (nxt_random(&r) == 0x6FCAE186) { in nxt_random_test()