cuElim/include/gfp/gfp_header.cuh

27 lines
592 B
Plaintext

#ifndef GFP_HEADER_CUH
#define GFP_HEADER_CUH
#include "../header.cuh"
namespace gfp
{
using gfp_t = uint32_t;
static const gfp_t gfprime = 65521;
static const gfp_t gfp_zero = (gfp_t)0;
static const gfp_t gfp_one = (gfp_t)1;
static const gfp_t gfp_fullmask = (gfp_t)0xFF'FF;
__managed__ gfp_t gfp_inv_table[gfprime];
void init_inv_table()
{
gfp_inv_table[0] = 0;
gfp_inv_table[1] = 1;
for (int i = 2; i < gfprime; ++i)
gfp_inv_table[i] = (gfprime - gfprime / i) * gfp_inv_table[gfprime % i] % gfprime;
}
}
#endif