eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › Jak przetestować GMP-a bez Boosta (niskopoziomowo)?
Ilość wypowiedzi w tym wątku: 2

  • 1. Data: 2016-10-14 09:46:15
    Temat: Jak przetestować GMP-a bez Boosta (niskopoziomowo)?
    Od: Borneq <b...@a...hidden.pl>

    Po instalacji w środowisku Linux mamy bibliotekę binarną i jedynie plik
    nagłówkowy gmp.h jest dostępny na zewnątrz a nie gmp-impl.h,longlong.h
    czy mini-gmp.h.
    Jednak GMP w katalogu tests ma plik ułatwiający korzystanie refmpn.c
    który woła
    #include "gmp-impl.h"
    #include "longlong.h"
    tam wszystkie testy, używają tych dwóch headerów.
    Ja potrzebuję nietrywialnego testu bez Boosta, który nie korzysta z
    pozostałych headerów poza gmp.h.
    Ale np. taka funkcja musi:
    void
    mpn_toom22_mul_fun(mp_ptr dst, mp_srcptr src1, mp_srcptr src2, mp_size_t
    size)
    {
    mp_ptr tspace;
    TMP_DECL;
    TMP_MARK;
    tspace = TMP_ALLOC_LIMBS(mpn_toom22_mul_itch(size, size));
    mpn_toom22_mul(dst, src1, size, src2, size, tspace);
    TMP_FREE;
    }

    bo TMP_DECL, TMP_MARK czy TMP_FREE jest w gmp-impl.h


  • 2. Data: 2016-10-14 10:25:33
    Temat: Re: Jak przetestować GMP-a bez Boosta (niskopoziomowo)?
    Od: Borneq <b...@a...hidden.pl>

    W dniu 14.10.2016 o 09:46, Borneq pisze:
    > tam wszystkie testy, używają tych dwóch headerów.
    > Ja potrzebuję nietrywialnego testu bez Boosta, który nie korzysta z
    > pozostałych headerów poza gmp.h.

    https://gmplib.org/list-archives/gmp-discuss/2008-Ma
    rch/003085.html
    #include <stdio.h> /* for printf */
    #include <gmp.h>

    int main(int argc, char *argv[])
    {
    mpz_t a, b; /* working numbers */
    if (argc<3)
    { /* not enough words */
    printf("Please supply two numbers to add.\n");
    return 1;
    }
    mpz_init_set_str (a, argv[1], 10); /* Assume decimal integers */
    mpz_init_set_str (b, argv[2], 10); /* Assume decimal integers */
    mpz_add (a, a, b); /* a=a+b */

    printf("%s + %s => %s\n", argv[1], argv[2], mpz_get_str (NULL, 10, a));
    return 0;
    }

    może być, używa wyższego poziomu, nie deklaruje się Limbs
    nie zwalnia (używa alloca?)

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: