Merge lp:~jtaylor/ubuntu/oneiric/genus2reduction/fix-831247 into lp:ubuntu/oneiric/genus2reduction
- Oneiric (11.10)
- fix-831247
- Merge into oneiric
Proposed by
Julian Taylor
Status: | Merged |
---|---|
Merged at revision: | 5 |
Proposed branch: | lp:~jtaylor/ubuntu/oneiric/genus2reduction/fix-831247 |
Merge into: | lp:ubuntu/oneiric/genus2reduction |
Diff against target: |
325 lines (+307/-0) 3 files modified
debian/changelog (+16/-0) debian/patches/pari_2.5.patch (+290/-0) debian/patches/series (+1/-0) |
To merge this branch: | bzr merge lp:~jtaylor/ubuntu/oneiric/genus2reduction/fix-831247 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Michael Terry | Approve | ||
Ubuntu branches | Pending | ||
Review via email: mp+72882@code.launchpad.net |
Commit message
Description of the change
merge from debian to fix ftbs 831247
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'debian/changelog' |
2 | --- debian/changelog 2011-07-18 18:02:27 +0000 |
3 | +++ debian/changelog 2011-08-25 13:03:53 +0000 |
4 | @@ -1,3 +1,19 @@ |
5 | +genus2reduction (0.3-2.1ubuntu1) oneiric; urgency=low |
6 | + |
7 | + * Merge from debian unstable (LP: #831247). Remaining changes: |
8 | + - Libraries needed to link the package should go into LDADD and after |
9 | + sources on the linker command line to fix an issue with ld --as-needed |
10 | + |
11 | + -- Julian Taylor <jtaylor.debian@googlemail.com> Thu, 25 Aug 2011 14:49:26 +0200 |
12 | + |
13 | +genus2reduction (0.3-2.1) unstable; urgency=medium |
14 | + |
15 | + * Non-maintainer upload. |
16 | + * debian/patches/pari_2.5.patch: |
17 | + - Port to pari 2.5 API (Closes: #635507, #635917). |
18 | + |
19 | + -- Luca Falavigna <dktrkranz@debian.org> Sun, 14 Aug 2011 15:26:01 +0200 |
20 | + |
21 | genus2reduction (0.3-2ubuntu1) oneiric; urgency=low |
22 | |
23 | * Libraries needed to link the package should go into LDADD and after |
24 | |
25 | === added file 'debian/patches/pari_2.5.patch' |
26 | --- debian/patches/pari_2.5.patch 1970-01-01 00:00:00 +0000 |
27 | +++ debian/patches/pari_2.5.patch 2011-08-25 13:03:53 +0000 |
28 | @@ -0,0 +1,290 @@ |
29 | +Index: genus2reduction-0.3/genus2reduction.c |
30 | +=================================================================== |
31 | +--- genus2reduction-0.3.orig/genus2reduction.c 2011-08-13 23:10:02.622871337 +0000 |
32 | ++++ genus2reduction-0.3/genus2reduction.c 2011-08-13 23:13:56.302871205 +0000 |
33 | +@@ -86,7 +86,7 @@ |
34 | + long tt,d,d1,d2,d3,f1,f2,g,h,v1,v2,j2m,r1,r2,r3,r4,dismin,alpha,lambda; |
35 | + long indice,vc6,mm,nb,dism,maxc,condp,R,alpha1,comp,beta,vy,dd,pr,ip,j,temp; |
36 | + |
37 | +- init(10000000,500000); |
38 | ++ pari_init(10000000,500000); |
39 | + jpol2=lisseq("a0;a1;a2;a3;a4;a5;a6;2^-2*(-120*a0*a6+20*a1*a5-8*a2*a4+3*a3^2)"); |
40 | + jpol4=lisseq("a0;a1;a2;a3;a4;a5;a6;2^-7*(240*(a0*a3*a4*a5+a1*a2*a3*a6)-400*(a0*a2*a5^2+a1^2*a4*a6)-64*(a0*a4^3+a2^3*a6)+16*(a1*a3*a4^2+a2^2*a3*a5)-672*a0*a3^2*a6+240*a1^2*a5^2-112*a1*a2*a4*a5-8*a1*a3^2*a5+16*a2^2*a4^2-16*a2*a3^2*a4+3*a3^4+2640*a0^2*a6^2-880*a0*a1*a5*a6+1312*a0*a2*a4*a6)"); |
41 | + jpol6=lisseq("a0;a1;a2;a3;a4;a5;a6;2^-10*(1600*(a0^2*a4^2*a5^2+a1^2*a2^2*a6^2)+1600*(a0*a1*a2*a5^3+a1^3*a4*a5*a6)+640*(a0*a1*a3*a4*a5^2+a1^2*a2*a3*a5*a6)-4000*(a0^2*a3*a5^3+a1^3*a3*a6^2)-384*(a0*a1*a4^3*a5+a1*a2^3*a5*a6)-640*(a0*a2^2*a4*a5^2+a1^2*a2*a4^2*a6)+80*(a0*a2*a3^2*a5^2+a1^2*a3^2*a4*a6)+192*(a0*a2*a3*a4^2*a5+a1*a2^2*a3*a4*a6)-48*(a0*a3^3*a4*a5+a1*a2*a3^3*a6)-224*(a1^2*a3*a4^2*a5+a1*a2^2*a3*a5^2)+64*(a1^2*a4^4+a2^4*a5^2)-64*(a1*a2*a3*a4^3+a2^3*a3*a4*a5)+16*(a1*a3^3*a4^2+a2^2*a3^3*a5)-4096*(a0^2*a4^3*a6+a0*a2^3*a6^2)+6400*(a0^2*a2*a5^2*a6+a0*a1^2*a4*a6^2)+10560*(a0^2*a3*a4*a5*a6+a0*a1*a2*a3*a6^2)+2624*(a0*a1*a3*a4^2*a6+a0*a2^2*a3*a5*a6)-4432*a0*a1*a3^2*a5*a6-8*a2*a3^4*a4+a3^6-320*a1^3*a5^3+64*a1^2*a2*a4*a5^2+176*a1^2*a3^2*a5^2+128*a1*a2^2*a4^2*a5+112*a1*a2*a3^2*a4*a5-28*a1*a3^4*a5+16*a2^2*a3^2*a4^2+5120*a0^3*a6^3-2544*a0^2*a3^2*a6^2+312*a0*a3^4*a6-14336*a0^2*a2*a4*a6^2+1024*a0*a2^2*a4^2*a6-2560*a0^2*a1*a5*a6^2-2240*a0*a1^2*a5^2*a6-6528*a0*a1*a2*a4*a5*a6-1568*a0*a2*a3^2*a4*a6)"); |
42 | +@@ -115,7 +115,7 @@ |
43 | + pr=1; if(!cmpis((GEN)factp[1],2)) pr=2; |
44 | + matmin=cgetg(6,19); |
45 | + for(j=1;j<=5;j++) |
46 | +- matmin[j]=lgetg(lg(factp)-pr+1,18); |
47 | ++ matmin[j]=(long)cgetg(lg(factp)-pr+1,18); |
48 | + for(i=pr;i<lg(factp);i++) |
49 | + { |
50 | + p=(GEN)factp[i]; |
51 | +@@ -400,7 +400,7 @@ |
52 | + { |
53 | + if(myval(c3,p)>1) |
54 | + {printf("bug c3");fflush(stdout);exit(1);} |
55 | +- mm=min(min(3*myval(c4,p)-4,3*myval(c5,p)-5),3*vc6-6); |
56 | ++ mm=minss(minss(3*myval(c4,p)-4,3*myval(c5,p)-5),3*vc6-6); |
57 | + if(alpha) |
58 | + { |
59 | + condp=dismin-mm-16; |
60 | +@@ -473,7 +473,7 @@ |
61 | + else |
62 | + { |
63 | + list=factorpadicnonun(polh,p,dismin-5); |
64 | +- nb=lg(list);prod=polun[varn(polh)]; |
65 | ++ nb=lg(list);prod=pol_1(varn(polh)); |
66 | + for(i=1;i<nb;i++) |
67 | + { |
68 | + facti=(GEN)list[i]; |
69 | +@@ -524,7 +524,7 @@ |
70 | + } |
71 | + if(cmpis(p,3)&&!cmpis(denom(theta),3)) goto modere; |
72 | + list=factorpadicnonun(polh,p,dismin-10*alpha); |
73 | +- nb=lg(list);prod=polun[varn(polh)]; |
74 | ++ nb=lg(list);prod=pol_1(varn(polh)); |
75 | + for(i=1;i<nb;i++) |
76 | + { |
77 | + facti=(GEN)list[i]; |
78 | +@@ -597,7 +597,7 @@ |
79 | + polh1=gcopy(polh); |
80 | + theta1=gcopy(theta); |
81 | + alpha1=alpha; |
82 | +- polh=gmul(gsubst(polh,0,ginv(polx[0])),gpuigs(polx[0],6)); |
83 | ++ polh=gmul(gsubst(polh,0,ginv(pol_x(0))),gpuigs(pol_x(0),6)); |
84 | + polf=polymini(gmul(polh,gpuigs(p,alpha)),p); |
85 | + polh=(GEN)polf[1]; |
86 | + lambda=itos((GEN)polf[2]); |
87 | +@@ -655,7 +655,7 @@ |
88 | + d=val[6]-val[7]+(val[eps2]/eps); |
89 | + if(r1&&alpha1==0) |
90 | + { |
91 | +- polh1=gdiv(gsubst(polh1,0,gmul(p,polx[0])),gpuigs(p,3)); |
92 | ++ polh1=gdiv(gsubst(polh1,0,gmul(p,pol_x(0))),gpuigs(p,3)); |
93 | + } |
94 | + polhp=gmul(unmodp,polh1); |
95 | + if(!gcmp0(discsr(polhp))) |
96 | +@@ -671,10 +671,10 @@ |
97 | + { |
98 | + if(gcmp1(theta1)) |
99 | + { |
100 | +- polh1=gdiv(gsubst(polh1,0,gmul(p,polx[0])),gpuigs(p,3)); |
101 | ++ polh1=gdiv(gsubst(polh1,0,gmul(p,pol_x(0))),gpuigs(p,3)); |
102 | + } |
103 | + d=val[6]-3*val[3]+(val[eps2]/eps); |
104 | +- d1=min(val[7]-3*val[3],d/2); |
105 | ++ d1=minss(val[7]-3*val[3],d/2); |
106 | + if(d==2*d1) indice=d1; |
107 | + else |
108 | + { |
109 | +@@ -720,7 +720,7 @@ |
110 | + { |
111 | + if(r1&&alpha1==0) |
112 | + { |
113 | +- polh1=gdiv(gsubst(polh1,0,gmul(p,polx[0])),gpuigs(p, 3)); |
114 | ++ polh1=gdiv(gsubst(polh1,0,gmul(p,pol_x(0))),gpuigs(p, 3)); |
115 | + } |
116 | + polhp=gmul(unmodp,polh1); |
117 | + if(!gcmp0(discsr(polhp))) d=0; |
118 | +@@ -749,7 +749,7 @@ |
119 | + { |
120 | + if(r2&&alpha==0) |
121 | + { |
122 | +- polh=gdiv(gsubst(polh,0,gmul(p,polx[0])),gpuigs(p,3)); |
123 | ++ polh=gdiv(gsubst(polh,0,gmul(p,pol_x(0))),gpuigs(p,3)); |
124 | + } |
125 | + polhp=gmul(unmodp,polh); |
126 | + if(!gcmp0(discsr(polhp))) indice=0; |
127 | +@@ -1647,7 +1647,7 @@ |
128 | + else |
129 | + { |
130 | + v=myval((GEN)pol[2],p); |
131 | +- for(i=3;i<lx;i++) v=min(myval((GEN)pol[i],p),v); |
132 | ++ for(i=3;i<lx;i++) v=minss(myval((GEN)pol[i],p),v); |
133 | + } |
134 | + return v; |
135 | + } |
136 | +@@ -1673,8 +1673,8 @@ |
137 | + if(contpol) {printf("contenu non trivial, erreur\n");fflush(stdout);exit(1);} |
138 | + pol=gdiv(pol,gpuigs(p,contpol)); |
139 | + r=(lx-4)*ggval(td,p)+r; |
140 | +- upol=gsubst(gmul(pol,gpuigs(td,lx-4)),vx,gdiv(polx[vx],td)); |
141 | +- fact=gsubst(factorpadic4(upol,p,r),vx,gmul(polx[vx],td)); |
142 | ++ upol=gsubst(gmul(pol,gpuigs(td,lx-4)),vx,gdiv(pol_x(vx),td)); |
143 | ++ fact=gsubst(factorpadic4(upol,p,r),vx,gmul(pol_x(vx),td)); |
144 | + list=(GEN)fact[1];ep=(GEN)fact[2];nb=lg(list)-1; |
145 | + for(i=1;i<=nb;i++) |
146 | + if(!gcmp1((GEN)ep[i])) |
147 | +@@ -1698,7 +1698,7 @@ |
148 | + rec1: |
149 | + alpha=polval(pol,p);polh=gdiv(pol,gpuigs(p,alpha)); |
150 | + if(gdivise(truecoeff(polh,6),p)&&gdivise(truecoeff(polh,5),p)&&gdivise(truecoeff(polh,4),p)&&gdivise(truecoeff(polh,3),p)) |
151 | +- {polh=gmul(gpuigs(polx[0],6),gsubst(polh,0,ginv(polx[0])));} |
152 | ++ {polh=gmul(gpuigs(pol_x(0),6),gsubst(polh,0,ginv(pol_x(0))));} |
153 | + alpha=alpha&1; |
154 | + beta=0; |
155 | + lambda=0; |
156 | +@@ -1709,11 +1709,11 @@ |
157 | + |
158 | + labelm6: |
159 | + theta=caltheta(polh,p,lambda); |
160 | +- polf[5]=zero; /* 1 si racine d'ordre 3 non dans F_p, 0 sinon */ |
161 | ++ polf[5]=(long)gen_0; /* 1 si racine d'ordre 3 non dans F_p, 0 sinon */ |
162 | + if(gcmp(theta,gun)>=0) |
163 | + { |
164 | + ent=gfloor(theta);pent=gpui(p,ent,0); |
165 | +- polh=gdiv(gsubst(polh,0,gmul(pent,polx[0])),gpuigs(pent,6-lambda)); |
166 | ++ polh=gdiv(gsubst(polh,0,gmul(pent,pol_x(0))),gpuigs(pent,6-lambda)); |
167 | + alpha=(alpha+lambda*itos(ent))&1; |
168 | + beta=beta+itos(ent); |
169 | + theta=gsub(theta,ent); |
170 | +@@ -1728,11 +1728,11 @@ |
171 | + rac=(GEN)fac[2]; |
172 | + if(lgef(rac)==5) |
173 | + { |
174 | +- polf[5]=un; |
175 | ++ polf[5]=(long)gen_1; |
176 | + goto sortie; |
177 | + } |
178 | + rac=lift(gdiv(gneg(truecoeff(rac,0)),truecoeff(rac,1))); |
179 | +- polh=gsubst(polh,0,gadd(polx[0],rac)); |
180 | ++ polh=gsubst(polh,0,gadd(pol_x(0),rac)); |
181 | + lambda=6-maxord; goto labelm6; |
182 | + } |
183 | + if(maxord<=2&&lgef(polhp)>=7) goto sortie; |
184 | +@@ -1741,7 +1741,7 @@ |
185 | + { |
186 | + if((myval(truecoeff(polh,2),p)>1-alpha)&&(myval(truecoeff(polh,1),p)>2-alpha)&&(myval(truecoeff(polh,0),p)>3-alpha)) |
187 | + { |
188 | +- pol=gsubst(polh,0,gmul(p,polx[0])); |
189 | ++ pol=gsubst(polh,0,gmul(p,pol_x(0))); |
190 | + if(alpha) pol=gmul(p,pol); |
191 | + goto rec1; |
192 | + } |
193 | +@@ -1753,7 +1753,7 @@ |
194 | + { |
195 | + if(myval(truecoeff(polh,6),p)>=3&&myval(truecoeff(polh,5),p)>=2) |
196 | + { |
197 | +- polh=gmul(gsubst(polh,0,gdiv(polx[0],p)),gpuigs(p,3)); |
198 | ++ polh=gmul(gsubst(polh,0,gdiv(pol_x(0),p)),gpuigs(p,3)); |
199 | + theta=gadd(theta,gun); |
200 | + alpha=0; |
201 | + beta=beta-1; |
202 | +@@ -1762,13 +1762,13 @@ |
203 | + } |
204 | + if(lgef(polhp)==9&&!gcmp0(theta)) |
205 | + { |
206 | +- pro=gdiv(polhp,gpuigs(polx[0],3)); |
207 | ++ pro=gdiv(polhp,gpuigs(pol_x(0),3)); |
208 | + fac=factmz(pro,p); |
209 | + if(!cmpis((GEN)fac[1],3)) |
210 | + { |
211 | + rac=(GEN)fac[2]; |
212 | + rac=lift(gdiv(gneg(truecoeff(rac,0)),truecoeff(rac,1))); |
213 | +- pro=gsubst(polh,0,gadd(rac,gmul(p,polx[0]))); |
214 | ++ pro=gsubst(polh,0,gadd(rac,gmul(p,pol_x(0)))); |
215 | + if(polval(pro,p)>=3) |
216 | + { |
217 | + polh=gdiv(pro,gpuigs(p,3)); |
218 | +@@ -1815,7 +1815,7 @@ |
219 | + if(lgef(polhp)!=6) |
220 | + {printf("bug, on ne doit pas arriver dans discpart");fflush(stdout);exit(1);} |
221 | + list=factorpadicnonun(polh,p,ord); |
222 | +- prod=polun[varn(polh)]; |
223 | ++ prod=pol_1(varn(polh)); |
224 | + for(i=1;i<lg(list);i++) |
225 | + { |
226 | + facti=(GEN)list[i]; |
227 | +@@ -1837,7 +1837,7 @@ |
228 | + long |
229 | + myvalzi(GEN b) /* valuation par rapport a 3 dans Z[i] */ |
230 | + { |
231 | +- return min(myval(greal(b),stoi(3)),myval(gimag(b),stoi(3))); |
232 | ++ return minss(myval(greal(b),stoi(3)),myval(gimag(b),stoi(3))); |
233 | + } |
234 | + |
235 | + GEN |
236 | +@@ -1853,15 +1853,15 @@ |
237 | + polh=pol; |
238 | + if(alpha) polh=gdiv(pol,p); |
239 | + beta=0; |
240 | +- rac=gadd(lift(gdiv(gmul(unmodp,truecoeff(polh,3)),gmul(unmodp,truecoeff(polh,6)))),gi); |
241 | ++ rac=gadd(lift(gdiv(gmul(unmodp,truecoeff(polh,3)),gmul(unmodp,truecoeff(polh,6)))),gen_I()); |
242 | + |
243 | + labelm6: |
244 | +- polh=gsubst(polh,0,gadd(polx[0],rac)); |
245 | ++ polh=gsubst(polh,0,gadd(pol_x(0),rac)); |
246 | + theta=calthetazi(polh); |
247 | + if(gcmp(theta,gun)>=0) |
248 | + { |
249 | + ent=gfloor(theta);pent=gpui(p,ent,0); |
250 | +- polh=gdiv(gsubst(polh,0,gmul(pent,polx[0])),gpuigs(pent,3)); |
251 | ++ polh=gdiv(gsubst(polh,0,gmul(pent,pol_x(0))),gpuigs(pent,3)); |
252 | + alpha=(alpha+itos(ent))&1; |
253 | + beta=beta+itos(ent); |
254 | + theta=gsub(theta,ent); |
255 | +@@ -1879,7 +1879,7 @@ |
256 | + { |
257 | + if(myvalzi(truecoeff(polh,6))>=3&&myvalzi(truecoeff(polh,5))>=2&&myvalzi(truecoeff(polh,4))>=1) |
258 | + { |
259 | +- polh=gmul(gsubst(polh,0,gdiv(polx[0],p)),gpuigs(p,3)); |
260 | ++ polh=gmul(gsubst(polh,0,gdiv(pol_x(0),p)),gpuigs(p,3)); |
261 | + theta=gadd(theta,gun); |
262 | + beta=beta-1; |
263 | + alpha=0; |
264 | +@@ -1907,7 +1907,7 @@ |
265 | + /* on calcule la valuation de b dans Z[i, Y]/(Y^2-3) */ |
266 | + { |
267 | + b=lift(b); |
268 | +- return min(2*myvalzi(truecoeff(b,0)),2*myvalzi(truecoeff(b,1))+1); |
269 | ++ return minss(2*myvalzi(truecoeff(b,0)),2*myvalzi(truecoeff(b,1))+1); |
270 | + } |
271 | + |
272 | + GEN |
273 | +@@ -1936,10 +1936,10 @@ |
274 | + {printf("bug, le polynome n'est pas minimal\n");fflush(stdout);exit(1);} |
275 | + polh=pol;alpha=0; |
276 | + beta=0; |
277 | +- polh=gdivgs(gsubst(polh,0,gmul(polx[0],y)),27); |
278 | ++ polh=gdivgs(gsubst(polh,0,gmul(pol_x(0),y)),27); |
279 | + if(myvalzi2(truecoeff(polh,4))>0&&myvalzi2(truecoeff(polh,2))>0) |
280 | + { |
281 | +- if(myvalzi2(gsub(truecoeff(polh,6),truecoeff(polh,0)))>0) rac=gi; |
282 | ++ if(myvalzi2(gsub(truecoeff(polh,6),truecoeff(polh,0)))>0) rac=gen_I(); |
283 | + else rac=gun; |
284 | + } |
285 | + else |
286 | +@@ -1949,12 +1949,12 @@ |
287 | + } |
288 | + |
289 | + labelm6: |
290 | +- polh=gsubst(polh,0,gadd(polx[0],rac)); |
291 | ++ polh=gsubst(polh,0,gadd(pol_x(0),rac)); |
292 | + theta=calthetazi2(polh); |
293 | + if(gcmp(theta,gun)>=0) |
294 | + { |
295 | + ent=gfloor(theta);pent=gpui(y,ent,0); |
296 | +- polh=gdiv(gsubst(polh,0,gmul(pent,polx[0])),gpuigs(pent,3)); |
297 | ++ polh=gdiv(gsubst(polh,0,gmul(pent,pol_x(0))),gpuigs(pent,3)); |
298 | + alpha=(alpha+itos(ent))&1; |
299 | + beta=beta+itos(ent); |
300 | + theta=gsub(theta,ent); |
301 | +@@ -1998,7 +1998,7 @@ |
302 | + u=truecoeff(lift(u),0); |
303 | + a=gmul(unmodp,greal(u)); |
304 | + b=gmul(unmodp,gimag(u)); |
305 | +- u=gadd(a,gmul(b,gi)); |
306 | ++ u=gadd(a,gmul(b,gen_I())); |
307 | + return u; |
308 | + } |
309 | + |
310 | +@@ -2020,7 +2020,7 @@ |
311 | + { |
312 | + fac=(GEN)factmod(polhp,p); |
313 | + for(i=1;i<lg((GEN)fac[2]);i++) |
314 | +- m=max(m,itos(gcoeff(fac,i,2))); |
315 | ++ m=maxss(m,itos(gcoeff(fac,i,2))); |
316 | + for(i=1;i<lg((GEN)fac[1]);i++) |
317 | + if(!cmpis(gcoeff(fac,i,2),m)) l=i; |
318 | + z=gcoeff(fac,l,1); |
319 | |
320 | === modified file 'debian/patches/series' |
321 | --- debian/patches/series 2008-05-27 20:14:20 +0000 |
322 | +++ debian/patches/series 2011-08-25 13:03:53 +0000 |
323 | @@ -1,1 +1,2 @@ |
324 | makefile.patch |
325 | +pari_2.5.patch |
Thanks!