-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
138 lines (91 loc) · 4.57 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
a) Math::Pari is the PERL interface to the PARI part of GP/PARI
(version 2.*). The info about GP/PARI is on
http://www.parigp-home.de/
Integer part and the first 4 digits after the point in the version
of Math::Pari reflect the latest version of GP/PARI it was tested with.
(2.01080* still fully supports only 2.1.7, but mostly works with 2.3.*
too.)
The next paragraph is an excerpt from documentation inside Pari.pm:
Package Math::Pari is a Perl interface to famous library PARI for
numerical/scientific/number-theoretic calculations. It allows
use of most PARI functions (>500) as Perl functions, and (almost)
seamless merging of PARI and Perl data.
The code is distributed with the same license as Perl (i.e., Artistic or
or GPL); however, it uses GP/PARI code, which is purely GPL.
b) This module includes a part written in C; thus it is requires a *fully*
working Perl installation, including a C compiler which Perl knows about.
Since prebuild configurations are typically broken (in many subtle ways),
build is not supported unless your perl executable was build on your machine
(or otherwise you show that you know what you are talking about ;-).
Given this, in most cases, this module can be installed as all the others:
perl -MCPAN -e shell
CPAN> install Math::Pari
or
perl -MCPAN -e 'install Math::Pari'
or (if you manually downloaded the archive, and change version numbers):
tar -zxfv Math-Pari-2.001200.tar.gz
cd Math-Pari-2.001200
perl Makefile.PL && make && make test && make install
Possible complications are addressed in the file INSTALL:
x) Not having Net::FTP installed and working, and not having
GP/PARI build directory "nearby" (as parent, kid or sibling);
x) Failing compile or configuration: wrong assembler
architecture, wrong paricfg.h (CLK_TCK etc.);
x) the rest of it...
IMPORTANT REMARK: If you try to compile with a different
configuration, please run
make realclean
in between. Otherwise significant problems may arise. [A typical
symptom: the symbol overflow cannot be found.]
c) How the tests work
Lowercase test scripts translate native GP/PARI tests from GP
syntax to Perl syntax. You can get a better understanding of these
translations by running the tests manually, as in
perl t/all.t
after install, or
perl -Mblib t/all.t
before install. Currently two subtests of t/nfields 'leak' PARI
warnings. Until the test engine is taught to look-for/eat these
warnings, they *must* appear.
d) Reporting bugs/problems (REQUIRED!!!!!!!!!!!!!!!!!!!!!!!!!)
0) I need to see the output of
perl Makefile.PL
perl -V
and the relevant messages from the `make' step "near the failure point".
1) Additionally, Math::Pari can be build in several way (see INSTALL);
unless you know what you are doing, please rebuild with
cp libPARI/paricfg.h libPARI/paricfg.h-no-configure
make realclean
perl Makefile.PL Configure
and retest the bug you found. If this does not fix the bug, just mention
this in your bug report. If this fixes the bug, please supply the result
of
diff -u libPARI/paricfg.h-no-configure libPARI/paricfg.h
too.
2) Additionally, if this does not fix the bug, and your build is
architecture-specific (you saw a message similar to
...I will use assembler build of type 'ix86'.
during `perl Makefile.PL'), please also do
make realclean
perl Makefile.PL machine=none
retest your problem, and report whether it fixed the bug.
3) elliptic.t subtest 41 often fails on GP/PARI itself, so currently I
do not consider its failure to be a Math::Pari's bug.
4) If build succeeds, but test not, you can get higher-granularity reports
from test files by running them as (in bash/DOSISH, and in tcsh syntax):
perl -Mblib t/55_intnum.t 2>&1 > intnum-log
perl -Mblib t/55_intnum.t >& intnum-log
Please inspect and include the generated log file in your report too.
e) Documentation to this package is contained inside Pari.pm. After
installing it is accessible by standard means, like
perldoc Math::Pari
man Math::Pari
and possibly in other forms particular for your system.
A copy of documentation of the PARI library in POD format is
provided as well, access it as Math::libPARI:
perldoc Math::libPARI
man Math::libPARI
Since many POD converters are too stupid/buggy to process these
docs, an alternative Math::libPARI.dumb is provided; use as in
perldoc Math::libPARI.dumb
etc.