2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1 ... 25, 26, 27, 28, 29

А вам пакет PARI/GP интересен?
Да 84%  84%  [ 54 ]
Нет 5%  5%  [ 3 ]
Не уверен(а) 11%  11%  [ 7 ]
Всего голосов : 64
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение16.04.2021, 16:16 


05/09/16
9454
fosnie в сообщении #1514598 писал(а):
А вот замена слешей на обратные слеши, кавычек на апострофы пока не помогли запустить ни одну программу из другой директории.

Да, я уже даже у себя установил. У меня работает. Но у меня путь латинский весь и без пробелов,
\r "C:\Users\wrest\Documents\myscripty1.gp"
Кириллица портится... Я бы кириллицу вообще бы не использовал, раз такое дело.
Текст макроса, у меня работает:
Код:
{print("Input number of counters");
cnt=vector(input());
for(i=1,1000,
   if(!issquarefree(i), next);
   cnt[omega(i)%#cnt+1]++;
   print1("mod0=", cnt[1]); for(k=1,#cnt-1, print1(", mod", k, "=", cnt[k+1]); ); print;
);}


Результат работы:
Код:
Reading GPRC: gprc.txt ...Done.

                                      GP/PARI CALCULATOR Version 2.11.3 (released)
                              amd64 running mingw (x86-64/GMP-6.1.2 kernel) 64-bit version
                                compiled: Feb 17 2020, gcc version 6.3.0 20170516 (GCC)
                                                threading engine: single
                                     (readline v8.0 enabled, extended help enabled)

                                         Copyright (C) 2000-2018 The PARI Group

PARI/GP is free software, covered by the GNU General Public License, and comes WITHOUT ANY WARRANTY WHATSOEVER.

Type ? for help, \q to quit.
Type ?17 for how to get moral (and possibly technical) support.

parisize = 8000000, primelimit = 500000
(16:20) gp > \r "C:\Users\wrest\Documents\myscripty1.gp"
Input number of counters
5
mod0=1, mod1=0, mod2=0, mod3=0, mod4=0
mod0=1, mod1=1, mod2=0, mod3=0, mod4=0
mod0=1, mod1=2, mod2=0, mod3=0, mod4=0

и так далее, ещё много строк.

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение16.04.2021, 16:23 


09/04/21

21
Dmitriy40 в сообщении #1514595 писал(а):
fosnie
Значит не кладите файлы в папки с русскими символами. Чтобы полный путь к файлу был только из латинских символов.


Да, спасибо, помогло, но тогда и в теле программы нельзя использовать кирилицу, иначе вот что при исполнении вылезает:
Цитата:
break[17]> \r C:\myscriptty2.txt
┬тхфшЄх ъюышўхёЄтю ёў╕Єўшъют:


-- 16.04.2021, 16:28 --

wrest в сообщении #1514599 писал(а):
Да, я уже даже у себя установил. У меня работает. Но у меня путь латинский весь и без пробелов,
\r "C:\Users\wrest\Documents\myscripty1.gp"
Кириллица портится... Я бы кириллицу вообще бы не использовал, раз такое дело.
Текст макроса, у меня работает:



Да, спасибо, после установки скобок по рекомендации Dmitriy40 и у меня все заработало, и в латинских директориях нормально все работает, только коверкает кириллицу при исполнении кода. И из папок, путь к которым содержит кириллицу, не запускается.

Рекомендации услышал. Всем еще раз большое спасибо.

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение16.04.2021, 16:42 


05/09/16
9454
fosnie
Вряд ли вы решитесь, но вот я, у себя, установил pari в так называемые windows services for linux. Вот тот же файл, с кириллицей в тексте, (сохраненный из блокнота в UTF-8) и в том же месте.

(Оффтоп)

Код:
wrest@wrestpc:~$ gp
Reading GPRC: /etc/gprc ...Done.

                                      GP/PARI CALCULATOR Version 2.11.2 (released)
                              amd64 running linux (x86-64/GMP-6.1.2 kernel) 64-bit version
                            compiled: Jul 12 2019, gcc version 9.1.0 (Ubuntu 9.1.0-8ubuntu1)
                                               threading engine: pthread
                                     (readline v8.0 enabled, extended help enabled)

                                         Copyright (C) 2000-2018 The PARI Group

PARI/GP is free software, covered by the GNU General Public License, and comes WITHOUT ANY WARRANTY WHATSOEVER.

Type ? for help, \q to quit.
Type ?17 for how to get moral (and possibly technical) support.

parisize = 8000000, primelimit = 500000, nbthreads = 8
? \r /mnt/c/Users/wrest/Documents/myscripty1.gp
Введите количество счетчиков
5
mod0=1, mod1=0, mod2=0, mod3=0, mod4=0
mod0=1, mod1=1, mod2=0, mod3=0, mod4=0
mod0=1, mod1=2, mod2=0, mod3=0, mod4=0
mod0=1, mod1=3, mod2=0, mod3=0, mod4=0

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение16.04.2021, 16:49 


09/04/21

21

(Оффтоп)

wrest
я может и решился бы на это, но, насколько я понимаю, WSL можно поставить только на windows10, а у меня гораздо более ранняя версия )

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение16.04.2021, 19:51 


21/05/16
4157
Аделаида
fosnie, можно установить Linux на виртуальную машину (к примеру, VirtualBox).

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение27.11.2021, 02:11 
Заслуженный участник


20/08/14
8870
Россия, Москва
Интересный глюк особенность в PARI/GP:
Код:
? n=1; print1(n); print1(n++); print1(n++); print(n);
1233
А должно быть:
Используется синтаксис C++
int n=1; std::cout << n << n++ << n++ << n << "\n";
1123

Соответственно неправильно работают конструкции типа v[n++]=1;.

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение27.11.2021, 03:12 


05/09/16
9454
Dmitriy40
Из мануала
https://pari.math.u-bordeaux.fr/dochtml/html-stable/operators.html писал(а):
Beware that some GP operators differ slightly from their C counterparts. For instance, GP's postfix ++ returns the new value, like the prefix ++ of C,

...
Цитата:
++ and -- (unary, postfix): if x is an lvaluex++ assigns the value x+1 to x, then returns the new value of x. This corresponds to the C statement ++x: there is no prefix ++ operator in GP. x-- does the same with x-1. These operators are not associative, i.e. x++++ is invalid, since x++ is not an lvalue.

 Профиль  
                  
 
 Re: интерактивный курс: введение в программирование на PARI/GP
Сообщение27.11.2021, 03:51 
Заслуженный участник


20/08/14
8870
Россия, Москва
Я и говорю, особенность. Гады, могли бы сделать и совместимо с С, ++n, а n++ запретить (как сейчас запрещён префикс), и проблем бы ни у кого не было. Или вообще инкремент/декремент не делать, раз он всегда и везде заменим на n±=1.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 428 ]  На страницу Пред.  1 ... 25, 26, 27, 28, 29

Модераторы: maxal, Toucan, PAV, Karan, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group