int main() { GEN x, y, d, u, v; pari_init(1000000,2); printf("x = "); x = gp_read_stream(stdin); printf("y = "); y = gp_read_stream(stdin); d = extgcd(x, y, &u, &v); pari_printf("gcd = %Ps\nu = %Ps\nv = %Ps\n", d, u, v); pari_close(); return 0; }
int pari_gen_turn_arr(int **turn_arr, int size_hint) { ulong m; int i = 0; ulong p = 0; *turn_arr = malloc(size_hint * sizeof(**turn_arr)); if (*turn_arr == NULL) { return (int) NULL; } pari_init(10000000, size_hint); m = maxprime(); byteptr ptr = diffptr; while (p < m && i < size_hint) { NEXT_PRIME_VIADIFF(p, ptr); (*turn_arr)[i] = p; i++; } pari_close(); return i; }
void paridroid_close() { pari_close(); }