static void encode_b(unsigned char *r, const poly *b, const poly *c) { int i; poly_tobytes(r,b); for(i=0;i<1024;i++) r[2*i+1] |= c->v[i] << 6; }
static void encode_a(unsigned char *r, const poly *pk, const unsigned char *seed) { int i; poly_tobytes(r, pk); for(i=0;i<NEWHOPE_SEEDBYTES;i++) r[POLY_BYTES+i] = seed[i]; }
static void encode_b(unsigned char *r, const poly *b, const poly *c) { int i; poly_tobytes(r,b); for(i=0;i<PARAM_N/4;i++) r[POLY_BYTES+i] = c->coeffs[4*i] | (c->coeffs[4*i+1] << 2) | (c->coeffs[4*i+2] << 4) | (c->coeffs[4*i+3] << 6); }
inline void encode_b(uint8_t* r, const poly* b, const poly* c) { poly_tobytes(r, b); for(size_t i = 0; i < PARAM_N/4; i++) { r[NEWHOPE_POLY_BYTES+i] = c->coeffs[4*i] | (c->coeffs[4*i+1] << 2) | (c->coeffs[4*i+2] << 4) | (c->coeffs[4*i+3] << 6); } }
inline void encode_a(uint8_t* r, const poly* pk, const uint8_t* seed) { poly_tobytes(r, pk); for(size_t i = 0; i < NEWHOPE_SEED_BYTES; i++) { r[NEWHOPE_POLY_BYTES+i] = seed[i]; } }
static void encode_a(unsigned char *r, const poly *pk, const unsigned char *seed) { int i,j; poly_tobytes(r, pk); unsigned char t; for(i=0;i<NEWHOPE_SEEDBYTES;i++) { t = seed[i]; for(j=0;j<4;j++) { r[2*(4*i+j)+1] |= t << 6; t >>= 2; } } }