// output of ./demo/mod/modarithtables-demo.cc:
// Description:
//% Addition-, multiplication- and power tables with modular arithmetic.

arg 1: 13 == m  [Modulus]  default=13
arg 2: 0 == wh  [Which table: 1=add 2=sub 3=mul 4=pow 0=all]  default=0
arg 3: 0 == gq  [Whether to show noninvertible elements with mul/pow tables]  default=0
-------- start MOD_INIT():  m=13 --------
modulus= 13 == 0xd
modulus is cyclic
modulus is prime 
bits(modulus)= 3.7004397  == 4 - 0.29956028
euler_phi(modulus)= 12 == 0xc == 2^2 * 3
maxorder= 12 == 0xc
maxordelem= 2 == 0x2
order(2)= 12 == 2^2 * 3
order(2^3)=2^2
max2pow= 2   (max FFT length = 2**2 == 4)
root2pow(max2pow)=8   root2pow(-max2pow)=5
sqrt(-1) =: i = 8
-------- end MOD_INIT(). --------

 Addition:
         1  2  3  4  5  6  7  8  9 10 11 12
    ----------------------------------------
     1   2  3  4  5  6  7  8  9 10 11 12  0
     2   3  4  5  6  7  8  9 10 11 12  0  1
     3   4  5  6  7  8  9 10 11 12  0  1  2
     4   5  6  7  8  9 10 11 12  0  1  2  3
     5   6  7  8  9 10 11 12  0  1  2  3  4
     6   7  8  9 10 11 12  0  1  2  3  4  5
     7   8  9 10 11 12  0  1  2  3  4  5  6
     8   9 10 11 12  0  1  2  3  4  5  6  7
     9  10 11 12  0  1  2  3  4  5  6  7  8
    10  11 12  0  1  2  3  4  5  6  7  8  9
    11  12  0  1  2  3  4  5  6  7  8  9 10
    12   0  1  2  3  4  5  6  7  8  9 10 11

 Subtraction:
         1  2  3  4  5  6  7  8  9 10 11 12
    ----------------------------------------
     1   0 12 11 10  9  8  7  6  5  4  3  2
     2   1  0 12 11 10  9  8  7  6  5  4  3
     3   2  1  0 12 11 10  9  8  7  6  5  4
     4   3  2  1  0 12 11 10  9  8  7  6  5
     5   4  3  2  1  0 12 11 10  9  8  7  6
     6   5  4  3  2  1  0 12 11 10  9  8  7
     7   6  5  4  3  2  1  0 12 11 10  9  8
     8   7  6  5  4  3  2  1  0 12 11 10  9
     9   8  7  6  5  4  3  2  1  0 12 11 10
    10   9  8  7  6  5  4  3  2  1  0 12 11
    11  10  9  8  7  6  5  4  3  2  1  0 12
    12  11 10  9  8  7  6  5  4  3  2  1  0

 Multiplication:
         1  2  3  4  5  6  7  8  9 10 11 12
    ----------------------------------------
     1   1  2  3  4  5  6  7  8  9 10 11 12
     2   2  4  6  8 10 12  1  3  5  7  9 11
     3   3  6  9 12  2  5  8 11  1  4  7 10
     4   4  8 12  3  7 11  2  6 10  1  5  9
     5   5 10  2  7 12  4  9  1  6 11  3  8
     6   6 12  5 11  4 10  3  9  2  8  1  7
     7   7  1  8  2  9  3 10  4 11  5 12  6
     8   8  3 11  6  1  9  4 12  7  2 10  5
     9   9  5  1 10  6  2 11  7  3 12  8  4
    10  10  7  4  1 11  8  5  2 12  9  6  3
    11  11  9  7  5  3  1 12 10  8  6  4  2
    12  12 11 10  9  8  7  6  5  4  3  2  1

 Powers and order:
         1  2  3  4  5  6  7  8  9 10 11 12
    ----------------------------------------
     1   1  1  1  1  1  1  1  1  1  1  1  1   [  1]
     2   2  4  8  3  6 12 11  9  5 10  7  1   [ 12]
     3   3  9  1  3  9  1  3  9  1  3  9  1   [  3]
     4   4  3 12  9 10  1  4  3 12  9 10  1   [  6]
     5   5 12  8  1  5 12  8  1  5 12  8  1   [  4]
     6   6 10  8  9  2 12  7  3  5  4 11  1   [ 12]
     7   7 10  5  9 11 12  6  3  8  4  2  1   [ 12]
     8   8 12  5  1  8 12  5  1  8 12  5  1   [  4]
     9   9  3  1  9  3  1  9  3  1  9  3  1   [  3]
    10  10  9 12  3  4  1 10  9 12  3  4  1   [  6]
    11  11  4  5  3  7 12  2  9  8 10  6  1   [ 12]
    12  12  1 12  1 12  1 12  1 12  1 12  1   [  2]

