#ifndef params_H
#define params_H

#define p {P}
#define q {Q}
#define w {W}

#define ppadsort {PPADSORT}

#include "crypto_verify_{CIPHERTEXTBYTES}.h"
#define crypto_verify_clen crypto_verify_{CIPHERTEXTBYTES}

#include "crypto_encode_{P}x{Q}.h"
#include "crypto_decode_{P}x{Q}.h"
#define Rq_bytes crypto_encode_{P}x{Q}_STRBYTES
#define Rq_encode crypto_encode_{P}x{Q}
#define Rq_decode crypto_decode_{P}x{Q}

#include "crypto_decode_{P}x{R}.h"
#define Rounded_bytes crypto_decode_{P}x{R}_STRBYTES
#define Rounded_decode crypto_decode_{P}x{R}

#include "crypto_encode_{P}x{R}round.h"
#define Round_and_encode crypto_encode_{P}x{R}round

#include "crypto_encode_{P}x3.h"
#include "crypto_decode_{P}x3.h"
#define Small_bytes crypto_encode_{P}x3_STRBYTES
#define Small_encode crypto_encode_{P}x3
#define Small_decode crypto_decode_{P}x3

#include "crypto_encode_{P}xfreeze3.h"
#define crypto_encode_pxfreeze3 crypto_encode_{P}xfreeze3

#include "crypto_decode_{P}xint32.h"
#define crypto_decode_pxint32 crypto_decode_{P}xint32

#include "crypto_decode_{P}xint16.h"
#define crypto_decode_pxint16 crypto_decode_{P}xint16

#include "crypto_encode_{P}xint16.h"
#define crypto_encode_pxint16 crypto_encode_{P}xint16

#include "crypto_core_wforcesntrup{P}.h"
#define crypto_core_wforce crypto_core_wforcesntrup{P}

#include "crypto_core_scale3sntrup{P}.h"
#define crypto_core_scale3 crypto_core_scale3sntrup{P}

#include "crypto_core_invsntrup{P}.h"
#define crypto_core_inv crypto_core_invsntrup{P}

#include "crypto_core_inv3sntrup{P}.h"
#define crypto_core_inv3 crypto_core_inv3sntrup{P}

#include "crypto_core_mult3sntrup{P}.h"
#define crypto_core_mult3 crypto_core_mult3sntrup{P}

#include "crypto_core_multsntrup{P}.h"
#define crypto_core_mult crypto_core_multsntrup{P}

#endif
