| Iwao KIMURA on Sun, 23 May 1999 01:54:40 +0900 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| patch for galconj.c |
Hi all,
I built 2.0.15.beta on AIX 4.2 by C Set ++ for AIX (ver3 rel1).
The following modification was needed (as Igor and Ilya said):
--------------------
iwao@math02:/export/home1/math/staff/iwao/pari-csetpp/pari-2.0.15.beta/
{64}% diff -u src/basemath/galconj.c.orig src/basemath/galconj.c
--- src/basemath/galconj.c.orig Sat May 22 23:15:13 1999
+++ src/basemath/galconj.c Sun May 23 01:09:58 1999
@@ -1313,7 +1313,7 @@
GEN
a4galoisgen(GEN T,struct test_data *td)
{
- int ltop=avma,av,av2;
+ long ltop=avma,av,av2;
int i,j,k;
int n;
int N,hop=0;
@@ -1326,14 +1326,17 @@
res=cgetg(4,t_VEC);
ry=cgetg(3,t_VEC);
res[1]=(long)ry;
- (long)pft=ry[1]=lgetg(n+1,t_VECSMALL);
+ ry[1]=lgetg(n+1,t_VECSMALL);
+ pft=(GEN) ry[1];
ry[2]=(long)stoi(2);
ry=cgetg(3,t_VEC);
- (long)pfu=ry[1]=lgetg(n+1,t_VECSMALL);
+ ry[1]=lgetg(n+1,t_VECSMALL);
+ pfu=(GEN)ry[1];
ry[2]=(long)stoi(2);
res[2]=(long)ry;
ry=cgetg(3,t_VEC);
- (long)pfv=ry[1]=lgetg(n+1,t_VECSMALL);
+ ry[1]=lgetg(n+1,t_VECSMALL);
+ pfv=(GEN)ry[1];
ry[2]=(long)stoi(3);
res[3]=(long)ry;
av=avma;
--------------------
Typecasting in lvalue is allowed in gcc, but would you please recall
that there are another compiler in the world. After this
modification, gp-sta pass the test.
As G. Niklasch wrote in
http://hasse.mathematik.tu-muenchen.de/ntsw/pari/inst/aix.html
when one compiles PARI by C Set ++ for AIX, optimization shold not be
specified (oterwise the binary runs very slow). But when one use gcc
2.8.1, the optimization flag is important. I compiled PARI by C Set
++ for AIX and gcc 2.8.1 in many optimization flag, I found that the
fastest one is that compiled by gcc optimised as `-O2 -DGCC_INLINE
-mtune=604e' (though the assembler produce many warnigs). I hope this
helps somebody :-)
;# Iwao KIMURA ;#
;# Faculty. Math, Dept. of Sciece ;#
;# Toyama University ;#