Beispiel #1
0
void element_print(const char *s, const Element x)
{
   int size = element_get_str_length(x);
   char *str = (char*)malloc(sizeof(char)*size);

   element_get_str(str, x);
   printf("%s: %s\n", s, str);

   free(str);
}
Beispiel #2
0
//============================================
//  Element の表示用
//============================================
void print(const Element x)
{
    int len = element_get_str_length(x);

    char *s = (char*)malloc(sizeof(char) * len);

    element_get_str(s, x);

    printf("element: %s\n", s);

    free(s);
}
Beispiel #3
0
//============================================
//   入出力のテストプログラム
//============================================
void test_io(Field f)
{
    int i;
    unsigned long long int t1, t2;
    char a_str[390];

    size_t blen;
    unsigned char b_str[192];

    Element a, b, c;

    element_init(a, f);
    element_init(b, f);
    element_init(c, f);

    for (i = 0; i < 100; i++)
    {
        element_random(a);

        element_get_str(a_str, a);
        element_set_str(c, a_str);

        assert(element_cmp(a, c) == 0);
    }

    t1 = rdtsc();
    for (i = 0; i < N; i++) { element_get_str(a_str, a); }
    t2 = rdtsc();

    printf("element get string: %.2lf [clock]\n", (double)(t2 - t1) / N);

    t1 = rdtsc();
    for (i = 0; i < N; i++) { element_set_str(c, a_str); }
    t2 = rdtsc();

    printf("element set string: %.2lf [clock]\n", (double)(t2 - t1) / N);

    for (i = 0; i < 100; i++)
    {
        element_random(b);

        element_to_oct(b_str, &blen, b);
        element_from_oct(c, b_str, blen);

        assert(element_cmp(b, c) == 0);
    }

    t1 = rdtsc();
    for (i = 0; i < N; i++) { element_to_oct(b_str, &blen, b); }
    t2 = rdtsc();

    printf("element to octet string: %.2lf [clock]\n", (double)(t2 - t1) / N);

    t1 = rdtsc();
    for (i = 0; i < N; i++) { element_from_oct(c, b_str, blen); }
    t2 = rdtsc();

    printf("element from octet string: %.2lf [clock]\n", (double)(t2 - t1) / N);

    element_clear(a);
    element_clear(b);
    element_clear(c);
}