Macaulay2 Engine
Loading...
Searching...
No Matches

◆ initialize_tables()

void M2::ARingZZp::initialize_tables ( )
private

Definition at line 25 of file aring-zzp.cpp.

26{
27 int i, n;
28
30
33
34 for (i = 0, n = 1; i < p - 1; i++, n = (n * prim_root) % p)
35 {
36 log_table[n] = i; // i = log_(base _prim_root)(n)
37 exp_table[i] = n; // n = (_prim_root)^i
38 }
39 exp_table[p1] = 1;
40 exp_table[0] = 0;
41 log_table[1] = p1;
42 log_table[0] = 0;
43
44#if 0
45 fprintf(stderr, "char %d primitive %d\n", p, prim_root);
46 fprintf(stderr, "exp: ");
47 for (int i=0; i<p; i++)
48 fprintf(stderr, "%d ", exp_table[i]);
49 fprintf(stderr, "\nlog: ");
50 for (int i=0; i<p; i++)
51 fprintf(stderr, "%d ", log_table[i]);
52 fprintf(stderr, "\n");
53#endif
54}
static int findPrimitiveRoot(int P)
Definition aring-zzp.cpp:7
#define newarray_atomic(T, len)
Definition newdelete.hpp:91

References exp_table, findPrimitiveRoot(), log_table, newarray_atomic, p, p1, and prim_root.

Referenced by ARingZZp().