URI:
       tcrttest.c - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       tcrttest.c (805B)
       ---
            1 #include "os.h"
            2 #include <mp.h>
            3 
            4 void
            5 testcrt(mpint **p)
            6 {
            7         CRTpre *crt;
            8         CRTres *res;
            9         mpint *m, *x, *y;
           10         int i;
           11 
           12         fmtinstall('B', mpconv);
           13 
           14         /* get a modulus and a test number */
           15         m = mpnew(1024+160);
           16         mpmul(p[0], p[1], m);
           17         x = mpnew(1024+160);
           18         mpadd(m, mpone, x);
           19 
           20         /* do the precomputation for crt conversion */
           21         crt = crtpre(2, p);
           22 
           23         /* convert x to residues */
           24         res = crtin(crt, x);
           25 
           26         /* convert back */
           27         y = mpnew(1024+160);
           28         crtout(crt, res, y);
           29         print("x %B\ny %B\n", x, y);
           30         mpfree(m);
           31         mpfree(x);
           32         mpfree(y);
           33 }
           34 
           35 void
           36 main(void)
           37 {
           38         int i;
           39         mpint *p[2];
           40         long start;
           41 
           42         start = time(0);
           43         for(i = 0; i < 10; i++){
           44                 p[0] = mpnew(1024);
           45                 p[1] = mpnew(1024);
           46                 DSAprimes(p[0], p[1], nil);
           47                 testcrt(p);
           48                 mpfree(p[0]);
           49                 mpfree(p[1]);
           50         }
           51         print("%d secs with more\n", time(0)-start);
           52         exits(0);
           53 }