Beispiel #1
0
        void setupE()
        {
            reset();
                    
            t.normalise();
            t.asVector(vt);

            makeE(q, t, E);
        }
Beispiel #2
0
int main (int argc, char *argv[])
{
  unsigned int n, g1, g2;
  char W[BUF_SIZE], Wp[BUF_SIZE], D[BUF_SIZE], E[BUF_SIZE];
  
  if ( argc != 2 )
    {
      fprintf (stderr, "%s <n>\n", argv[0]);
      fprintf (stderr, "\tgenerate SPL for Rader's Algorithm on vector's\n");
      fprintf (stderr, "\tof length n, where n is prime.\n");
      exit (1);
    }

  /* make sure that "n" is prime */
  sscanf (argv[1], "%u", &n);
  if (!isprime (n))
    {
      fprintf (stderr, "%u is not a prime number ... ABORT!\n", n);
      exit (1);
    }
  
  /* find generator(s) */
  FindGenerators (n, &g1, &g2);

  makeW  (n, g1, W);
  makeWp (n, g2, Wp);
  /* makeD  (n, g2, D); */
  makeE  (n, /* D, */ g2,  E);
  
  printf ("(compose %s\n", Wp); 
  printf ("         (direct_sum (matrix (1)) (conj_trans F%u))\n", n-1);
  printf ("         %s\n", E);
  printf ("         (direct_sum (matrix (1)) F%u)\n", n - 1);
  printf ("         %s)\n", W);
  
  return 0;  
}