Вызов внешней функции из пари / gp - PullRequest
0 голосов
/ 10 февраля 2020

Можно ли вызвать primesieve (инструмент Кима Валиша) из pari / gp и передать значение в переменную в pari / gp? Я хотел бы заменить функцию primePi () на эту (как внешнюю функцию, может быть, на системную ("f")), поскольку предварительное сито намного быстрее находит простые числа.

1 Ответ

0 голосов
/ 12 февраля 2020

Я не пробовал взаимодействовать с primesieve, но вы определенно можете использовать функцию system для вызова внешних программ. Детали могут немного отличаться в зависимости от используемой операционной системы.

Вкл. Windows:

 system(Str("echo ", 17, ">c:/work/temp.txt"))

вызовет команду echo, передав ей значение 17 и записав результат во временный файл. (Обратите внимание, что в пути я использую forward sla sh (/), а не Windows обычный backsla sh (\), потому что backsla sh также является escape-символом PARI.

Затем, чтобы прочитать результат обратно в PARI:

read("c:/work/temp.txt")

, кажется, делает свое дело.

...