Takiego mam pomysła, a nawet trzy.
W pliku PrimeQ64.h zamiast 2 linijek
PTR(n)[0] = value;
SIZ(n) =1;
dać 1 linijkę
mpz_set_ui(n,value);
Jeżeli to nie zadziała, spróbować zamiast powyższych 2 linijek dać 4 linijki
mpz_set_ui(n,(unsigned int)(value>>32));
mpz_mul_ui(n,n,1<<16);
mpz_mul_ui(n,n,1<<16);
mpz_add_ui(n,n,(unsigned int)(value^((1LL<<32)-1));
To drugie rozwiązanie ma szansę działać także na 32 bitach, gdyby tam były problemy.
Można też spróbować na 64 bitach kompilować PrimeQ32.h. Jeżeli ten gmp nie jest w pełni dostosowany do 64 bitów i używa słów 32-bitowych, to to ma szansę pójść.
Jeśli coś zadziała, to ustawienia z 7-ką dadzą masę rozwiązań, a powrót do 15-tki da to, co ma być.
W pliku PrimeQ64.h zamiast 2 linijek
PTR(n)[0] = value;
SIZ(n) =1;
dać 1 linijkę
mpz_set_ui(n,value);
Jeżeli to nie zadziała, spróbować zamiast powyższych 2 linijek dać 4 linijki
mpz_set_ui(n,(unsigned int)(value>>32));
mpz_mul_ui(n,n,1<<16);
mpz_mul_ui(n,n,1<<16);
mpz_add_ui(n,n,(unsigned int)(value^((1LL<<32)-1));
To drugie rozwiązanie ma szansę działać także na 32 bitach, gdyby tam były problemy.
Można też spróbować na 64 bitach kompilować PrimeQ32.h. Jeżeli ten gmp nie jest w pełni dostosowany do 64 bitów i używa słów 32-bitowych, to to ma szansę pójść.
Jeśli coś zadziała, to ustawienia z 7-ką dadzą masę rozwiązań, a powrót do 15-tki da to, co ma być.