Changeset 51d2289 in git


Ignore:
Timestamp:
May 31, 2019, 5:15:19 PM (5 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', '17f1d200f27c5bd38f5dfc6e8a0879242279d1d8')
Children:
eae9edd91b574e87c92a056e26eb2b1f534393f6
Parents:
177e74793f08f4242754f552ff248df5d6d3a19965815204b00cc32255acff6286425d83cfa60e09
Message:
Merge branch 'ederc-local-z' into spielwiese
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • Tst/New/stdZtests.res.gz.uu

    r177e74 r51d2289  
    11begin 640 stdZtests.res.gz
    2 M'XL(".E?V%L"`W-T9%IT97-T<RYR97,`[%QM<QLWDOZ>7S&5_4)I9B2@\3J;
     2M'XL("*=$\5P"`W-T9%IT97-T<RYR97,`[%QM<QLWDOZ>7S&5_4)I9B2@\3J;
    33MLJ]N-[M7=J6NSG$^[56<HBU:IBU+CDBO2?[ZPTL#:,P,*2FW]^VJ;)$S`!X`
    44MW4\W&B"`U[_\^.(_FZ;ASYN?7ORE^7Z[V5[<K-]^_\-WKS$%GC?NY6_KV_5V
     
    132132MJI*8YO3*`$@+>H)<&2#*E0'$,!?+[JJZ9??XO;JB7"#@[]4-U^>N.W]?[D?W
    133133MMX5P.RY^69="Q78CI?WUMR6UF*Y[W_U/>T>V(\=M?/=7M.T`7F6Z;5[%P[(3
    134 MV'`@[`)^,)0@R(NEU6IV-?$>PNQL/+-!_CTL7L7NYLR.E#SXP8)L33>KV:PB
    135 MFZR[KHY*YR`Q&\!77WU5+I_,-5CA-5HB=2))5,OM'@?=Z^UNP%]V1W"UQKG[
    136 M=G*X@3LFRERV0O$E2FP5*D]'X^]#I0[*CYS:=L%AUZO=8`A('<)#PW%XZ!8>
    137 M9HR'_6@\W`@/MQVXVGFF\Y&4J7*4FW&&!H;<'X&&:7#4$L6J"@US*)5IA<0(
    138 M`P,C#.QV8?I!>SPD+2BC#V)@CL.@Q8\8-TT0+2UIS:0-6K.NY.=^\W#5?:Z5
    139 M+>VD09-6MM)S;V.Z@3HEM_]/^G\<86`5;15G)76<1(&$DG!+E$FZS1^+_MXS
    140 MH9M*&5+`3`(C(=8#_EQ)F]&QI<#[Q==-=97E!3^+6I,W4AI+6VMF\DW,F-?N
    141 M;MC4HDWPCA[=J5[,=6/$`4P]&T8C"J*XU'0K=R&KP8OZ^8*XXPU"5>-IDBU%
    142 M&<3C;?H&ZEJ,IVJ0"71,BBC[YR[H:8GS/FP*H5V][Y_U9.D\9.C<Q/4_0!EE
    143 MQJJ6`H81RL,,I856>992:K4A3(Z:+8L*,N4[<!Q27S`(7LU':M>L$#C=PM!8
    144 M`H."/\R^TDK@DV[.@I8OM!+\Y$3P:W';:B+JV9B/++#:7,>4/I[9E@1_T,*A
    145 M6".OK8X38U-Z5K5-5@01LM*AX0#*X[+*A']%B?`_J`]US/:H6(/15XRHK-B<
    146 MRK*T$945:U/Y9(N^"Z5G3+=W_^YNO?$@K*/;8S$:U6*>X)[L(?8?`QH(U),V
    147 M_=DO[2@4#<=034N1XNJXM&J*M^C$*SIQLV>5U=A3YK';NYA=K**!&S>&#,[4
    148 M+*H5VJ4UZC<C$\CC_]]W@5)!WTA<@!)\=(;.5JIXPA:GA)PEJL.S\9L_L>[3
    149 M3]NT$@U%A68)2FQS+8$"#HV<L8?@&ZR5$I0J3$V,I\VI0"-I8R'*T3X02#R@
    150 M#H<%8OL%29!\NL):&X&<K=8VE:4\+A.I0D$U>B6<5@X*I[A0>(%IY`%S>>_8
    151 M%BC=('L#K"%9*4F2E9)SR:IL0HHD*Z7^1\E*J8^0K)0Z)%DI559JIL#Y/Y/)
    152 M995.2G6U2M5&5G&+/5]%;]-0=<2D*B36+]2W984J^`B!35$*/!I?M:K5QTH+
    153 M2HT<`O;);PI&9K/)0H:L/"[97<NBT;N47$R'#'^XC,(!);)SCXQ-N2=QU,'4
    154 M,ERJRG"IHN&RZ_[QL/SBOOO^X:HTD/52D?42O_,]G/ETH8ULE^6F7^:91:J-
    155 M126W2,UD*NT7?M&'3+E<6_.EY:THY,ZS+JM0?@`QN*\_FZ/P&*>@NUQN+MZ=
    156 MK/NZ[Y$"Y[07Q'PJRC%W)F;9G%5),7<F\@1N:OXQH$8FI=&]VKR0V)?2;5U(
    157 MAKH^[/N=G[45T^2?_;^.:R8O*D/RHC)17NQ.;R^Q8M0RXH!'>7=_<^X?6V[/
    158 M;]Y?+PL\R8_*R-:VZ.<WR,[)=_">*$_V1DSVK!>[Q5;T:D$'4V5!7*6)6U6/
    159 MEUU_58QTDQV_$JQ7/8%-/U`2K*ES4EDJRS)-DB*O^]4?$<'PN[Q>W:QNSP-]
    160 MBNFW0]OOE]W?,]#-W=N'ZR4*.JN;F^7;U?FFD,^2QE-9L9?M)$N!LG+J$H6Y
    161 M&JAY]!VX/FC9%U4[%6`I>LF7NT>B*GG;'E1?*C04QEWT5='`#R(F1$6AS6UU
    162 M`6WH+92M".P2@>N35Q<>P%4T<N)I?HB2R'<__81Z=Q7D'VI7([6[AZ&FD2>R
    163 MXC$7":=V3YPTF_>[Q[#%[1Z[>H]#/]?WOO/-"0*@7E=O>]9WVB_M3WR'G=FB
    164 M<H@0JFC3D\I<.2(/L!9Y6&DE\@#;1QY:0,!FY"%6$-A>V@`;T884WL`F_MG4
    165 M8`YDT0=*PWYPH0&C(_]%V-L75V>E$86PZKE79SU"(0L9%Z1+M1H&LRV/\";%
    166 MH<I]#C'W^9CBX$HK^4P#AST?+>YYM"B!3VI"A=(8G/<Q]>X"*'$J\)&K-'[>
    167 M_B/OW=PQ&OB1).1N_JWJ5$T`BYR4\B?HY&.L2%<JL#\[F?/JBO!3H_]S^FWR
    168 MPRFYKF1,YNRZCC&WS056N##2&J'C#=RIP6_.GH&*-W`0C#OF++/;4FY%"K\G
    169 M&K\FXRT<CN>")&?^X70/T.E#"S!62NG%*>TW0*&%3;UHW)-RV02#SDT:1YOB
    170 MH`;AN5+_QVJPW,^J\V]S:8@.1Z2UQ\[3PQ_(SO]P3/,X8`P`,3%),(:`F/P;
    171 MN6TMT@6B8)FG8+Q$KQ/-I$Z7?N1&,).!-0('&J4;F.2?@5,!U5V*M/*C])AJ
    172 MF8%PE$+&,6'HR&!!"]0FI@S&&$4R2.NXM3FI,<:3".%Y4A'S(&-82:J3AX$E
    173 M,O\&[,WF29<AV;5*@5HF_<012:OCA<OXJ12V)9WV?^-E<-`P3&@7]3L8QB6-
    174 M\^B!]H-5*:(+@QGC,%70TSGK)R6N*`SP*B_#**_TLET*]G)&^+\I6S-&?67J
    175 MY5MQ22;T,`R,,T_MZA;Z2*M2KP4$A6C@OA)YV=]#^'YK(7QYMOALMLY^GZW?
    176 M[&PU;'$@R+L-A&H<P+:TDI\;"/V!?@*`^K6YO@R$G?-%)[QZS.UEC<:JMHHU
    177 MDGP/:R3%@?)$(`]54P5R\#A\Z@=GCS%O%)BG9W/FJ(XH`-E02H(D]0U(VY@<
    178 M75K)E184.VQ/G;H?@N)CX\40V*145:)/?FO#I"X!J(/.:*#F7L[)D9UV>W64
    179 MC0%40W<.BG3GGJOY4"<A4'9:IR'770VU7]"^M1!]R+N_PTR.7HC@D"MA8<IC
    180 MK'3(J;N#GI4`[`/J%@`D34XJ`A+3_O=)[/3O=?E^W^5*C`X'M*AR_`.JR=IC
    181 MD1\T%M6@/5`I:H`0FS1>EKPT4D@2@#W2-]9?3%TI`28Q27HAHO%V$"Y[6@L=
    182 M\F.A6[0<[R)Z%*:DU$+8N7<LZ(,V.3CLU0\MK_Y][JW0\-57JC0F3_RJHY@'
    183 M%+W,77*(4D#6U?$[!FZ$\1R<LLC+CVSG8F&<YU29<\;EYP?N63JK&3-2:EN;
    184 M9Q>>2W0,&$P,YV"49$YI9EQR/U>>XD+[V;;<,$:66>P#^5$KK.<5,C2,2:&/
    185 MV@.T.5@"`G1#W0&ZDN?-D^6F?@B+[H?I[HB>+LV"/F#&+I9HV7\<MIBAXW&Q
    186 M"Q)D51P/S$'_2C!JGWOT8P&!J;&QVT,MTSI-3'6:F./C`]>!(.OI%VE&7V3)
    187 M@)U3WVYC*EP(YTA.CU=]DO9@C`W8AJ\Y5(E`,I@XSNP%MF$-`$O6`+#)&E!\
    188 M=OZZ/K_XNOO<\**!L&07`&OV:%U1JPX-K7JM6`?4S04OTW?^:1G<'T3R\!"<
    189 MO',@9*T;N6$,H^N0[:FZ5M4KRO2\*#8(0)5?^"IUM"28\)*%2B/H"QQ/<#9E
    190 M@(]P4RCQ9?*#660<%GDP!"0C4$@,%*`@1.=M:F^9G&@^_535XYXEK:P*0+K"
    191 M%W[%)#;M!:'MLGH:FRD(-X>G)'7+)H>5J/A;E07E:)MYUZ<^RB)RI8;:R8N^
    192 M?L$Q]@5P,QN`9F0#T"S:`'Y<WMRM=XC#+Z6%M/V:S;W%-I4?BF:CP$K15^Y`
    193 MFD76M%O1'4^M-ZLKO'GS[4UX\PE[1LV>&)=WZY/5M_QYM_J&,^;_62R>E7:_
    194 MB?R[7'@.-!NI3^?LM4;7_"ZVE.W^M&Y'[Z5(H--3NNL_R_^4"U0$#S3.\,&F
    195 MDH5OEATK,Z4Y;76:V[$S7OZP2]2`KJH2:O$$\SP]'G1PD+C=_&MYX4\)M*@8
    196 MSJS5JN?:6.-9>((<E0;30V2ONR&H&NLJ3OIP<4'=\(^8V&!T\8F8>`#-X(XZ
    197 M?;5H&/&U(".^%FXJG7@2B[QU:DEV?"V?*JI&"ER-$EOS[-4HK>VI5J[E)+H8
    198 MBZTQ:H5I9A,\M^N\)EKJ`X*BEH<T[%K:*B=*-\N*TA%@)3*,,Z)T6#GO+#G*
    199 M7)Y?WU^\^S0_A<'9W[U\^;<?_W+"^E&Y/=])'[IZYE];O4?Q5C6OW#@/RN)R
    200 MLD:*)'=*4BR(9+,?U)8ZHW5)-;PR8`WG9^!\LUFOWF"-P,]6]R^__ZRO]AT4
    201 M[7+[6:N]3,#ME'0UY7Y=WY7D"%HU^$.MB#_4D.P]9^>WO]RA0\!R=?]^M;PN
    202 M[63QT2#H]"^'_V-?S`_1R]*ORR7:<P/<R0'XLJ&B:!;X@DN,/C%;Z!;=H]CN
    203 M'/Z[X]S_LY4[5\8/(UONV]7EY<EECY;+^&M7?J&IT:^*/R/T[69UN5JNN]>K
    204 MUQA)^W"_C$W+]?INW=U=7#RL_<BQR5^^66)4;1??=[VZ7>)+O_;/'OG6U['O
    205 M,!7=9O=^V;U=7OA=.!AOOXQWOGBWO'X?\7C^14%M9/@:&Z$U:'(FR8&(9:\"
    206 A,SMGH=JIT`]C<[]YA25"'Y"I??Z'YY_\%U;;V:?9B0``
     134MV'`@[`)^,)0@R(ODU6IV-?$>PNQL/+-!_CTL7L7NYLR.E#SXP8)L33>KV62Q
     135MFJR[KHY*YR`Q&\!77WU5+I_,-5C-:T0B=2))5,OM'@?=Z^UNP%]V1W"UQKG[
     136M=G*X@3LFRERV0O$E2FS55)Z.QM\WE3HH/W)JVP6'7:]V@R$@=6@>&HZ;AV[-
     137MPXSG83]Z'FXT#[<=N-IYIO.1E*ERE)MQ-@T,N3]B&J;!44L4JZIIF$.I3*M)
     138MC&9@8#0#NUV8?M!^'I((RNB#,S#'S:#%CQ@W31`M+6G-I`U:LZ[DYW[S<-5]
     139MKI4M[:1!DU:VTG-O8[J!.B6W_T_Z?QS-P"K:*LY*ZCB)`@DEX98HDW2;/Q;]
     140MO6="-Y4RI("9!$9"K`=\54F;T;&EP'OBZZ:ZRO*"5Z+6Y(V4QM+6FIE\$S/F
     141MM;L;-K5H$[RC1W>J%W/=&'$`4\^&T8B"*"XUW<I=R&KPHGZ^3-SQ!J*J\331
     142MEJ(,XO$V?0-U+<9+-<@$.D9%E/US%_2TQ'4?-@71KM[WSWJR=!XR=&XB_0]0
     143M1IEG-9,"XGS'ZS/,9K?0*B]8SK*&&%(S`L$3?O,*9O<+P;[*"1%<4GN`7W%-
     144M[TO-GCW("_"JQ&K3&_,MHI574#`&L^^Z$A&EFS.MY9NN1$4Y$15;_+F:"(<V
     145M9C`+S#G7,0F09\\EP1^TB2C6R(2KXU+:E-!5;9/=080\=FAJ@/*XK'+G7U'J
     146M_`_J0QVSH2K6$`T4(RPK-L>R+&V$9<7:6#[9HK=#Z1D3]-V_NUMO/`CKZ/98
     147M\$9%FD>X1WO(%H`A$`3J49O^[)>/%`J38ZBF;4EQ=5PB-L5;>.(5GKC90V7U
     148M["E7V>U=S$=6X<"-&T/.9VH6%85VB4;]]F4">OS_^RY@*F@HB6]0@H].W1FE
     149MBB>L=TK(66H[/$V_^1/K/OVTC2O14&UHEJ#$-E<?*.#0R#)["+[!C"E!R<74
     150MQ-S:7`HTJS8(48[V@8#B`;4^+"#;$R1!\BF%M38".:/6-I:E/"YWJ4+1-OHQ
     151MG%8N#:=(*+S`-#*'N;QW;`N4;J"]`=:0Q90D64S)N2Q6-B%%LIA2_Z,LIM1'
     152MR&)*'9+%E"J4FC%P_L]DI%FELU5=K5)]DE7<8L]7T3\UU"DQJ6Z)]83ZME"H
     153M@H\0\10ES:/Q552M/E:^4&KD0K!/XE,P,K1-"!FRNKGD@RU$HW<I'9D..0&1
     154MC,(!);([D(Q-N2=QU,'4,G6JRM2IHJFSZ_[QL/SBOOO^X:HTD+U3D;T3O_,]
     155MO/R4T$;6SG+3DWGFI&KS4LE&4K.E2GO"+QJ4*5]L:TZVO!7%XGF>9A4*%N`,
     156M[NO/YJAYC)/672XW%^].UGW=]TCE<]H+8E<59:4[$[/\SZHDI3L3>0$W-9L9
     157MID9&J-&]VB"1V)?2;5UZAKH^["V>G[45T^2?_;^.:R9A*D,2IC)1PNQ.;R^Q
     158MQM0RS@&/\N[^YMP_MMR>W[R_7A9XDCB5D:UMT:]OD+:3M^$]89XLE)@>6B]V
     159MBZWHU8(.ILKFN$H+MZH>+[O^JICU)CM^)8JO>@*;?J`DBE/GI.14EF6<)-5?
     160M]ZL_(H*I>'F]NEG=G@?\%&-QA];B+[N_9Z";N[</UTL4C58W-\NWJ_--09\E
     161M':FR8B_;2;8%9>74B0JS.U#SZ#MP?=#++ZIV*ME2-)DO=X^$5?+//:CP5&A:
     162MC+OHZZ*S'T1,H8IBGMOJ`MK0="A;(=@E!-<GKRX\@*MPY,33_!"EG>]^^@DU
     163M]2K(/]2N1HIZ#T--(]]EQ6/V$D[M'CEI->]WCV&+VSUV]1Z'GK'O?>>;$P1`
     164M3;#>]JSOM"?M3WR'G=FB.HDF5.&F)R6[<H0>8"WTL-)*Z`&V#SU$0,!FZ"%6
     165M$-A>W``;X894Y,`F'MW48`[DW0=*W'Z0T(#1D?\B[.V+J[/2B$)8]=SKLQZA
     166MD(6,!.E2=8?!;,LCO(EQJ+*E0\R6/L8XN-)*7M;`8<]'BWL>$27P216I4$R#
     167M\SXFZUT`I5H%/G*NQL_;?^2]F[M2`S\2A=S-OU6=Z@]@6912,`7=@HP5Z4H%
     168M]F<G<R9>$7YJ])A.OTU^.*7CE8S)G(_7,>:VN20+%T9:(W2\@3LU^,W9,U#Q
     169M!@Z"<<><979;"K1(X?=$XVDRWL+A>"Y(<N8?3O<`W42T`&.EE%Z<TGX#%%K8
     170MU(O&/2D76C#H#J5QM"ER:A">*_5_K`;+_:HZ_S:7ANAP1%K[V7E\^`/9^1^.
     171M:1X'C"$C)J85QJ`1DW\CMZU%NL`I6.8Q&"_13T4SJ=.E'[D1S&1@C<`!1^D&
     172ME@5@X%28ZB[%9OE1^IEJF8%PE$+&,6&PR6!!"]0_IIS'&'<R2.NXM3D-,D:@
     173M".%Y4A$S)V,@2JJLAZ$H,O\&[,WF19<A/;9*H5TF_<012:OCA<OS4RG02SKM
     174M_\;+X-)AF-`NZG<P\$L:YZ<'V@]6I1@P#'^,P\1(L,%CWR]*I"@,"2LOP[BP
     175M]+)="@]S1OB_*;\SQHEE[.5;D233]#!PC#./[>H6>E6K4N$%!`5UX+X2>=G?
     176M@_Y^:T%_>;7X;+7.?E^MW^QJ-:QW(,@?#H1J',"VM))G'`C]@9X%@/JUN;X,
     177MA)WS12>\>LSM98W&JK:*-9)\#VLDQ8&"1B`/U5\%<@DY?.H']Y`Q;Q28IV=S
     178MYJB.00#94$J")/4-2-M8'%U:R?D6%#ML@9TZ+(+B8^/%$-BD5(>B3YYNPZ22
     179M`:B#[FN@YG[1R?6==GMUE(T!5$-W#HITYYZK^5"W(E!V6MDA5VH-U6+0'K<0
     180M?<C4O\/<CUZ(X)!K9V&29*R-R*F[@[Z8`.P#*AT`)$U.*AL2"P7T2>ST[W7Y
     181M?M_EVHT.![2HJ@(`JLG:8Y$?-!;5P#U0\6J`$,TT)DM>&BF("<`>Z4WK+Z;.
     182MEP"3*":]$-'<.PB7?;.%#AFUT)%:CG<1/0IL4FHA[-R?%O1!FQP<C@.`5AS`
     183M/H=8:'CW*U4:D^]^U5','(I^Z2ZY4"D@(^SX'0,WPG@.3EGDY4?6=K$PSG.J
     184MS#GC\O,#]RR=U8P9*;6MS;4+SR4Z!@PFIG8P2C*G-#/9<JL\QH7VJVVY88P,
     185ML]@'\J-66,\K%#OO&!7ZJ#U`FX-%(T`WU!V@*WG>/%F@ZH=`=#],=T?TC6F6
     186M``(S=LI$7X#'88LY/1X7NR!!5N7TP!STR`2C]CE4/Q80F!H;NSW8,JW3Q%2G
     187MB3D^HG`=$+*>?I%F]$66G-DY6>XV)L^%<([DA'K5)VD/1N6`;7BG0Y4Z)(.)
     188MX\Q>8!O6`+!D#0";K`'%R^>OZ_.+K[O/#2\:"$MV`;!FC]85M>K0T*K7BG5`
     189MW5SP2WWGGY;!'T(DGQ#!R9\'DA.%&/F)5-<A/U1UK:I7E.5Y46P0@"J_\%7J
     190M:$DPX24+E4;0%SB>X&S*&1_AIE#BR^0YL\AS6.3!$)",0"&54(""$,^WJ?UK
     191M<FKZ]%-5CWN6M+(J`.D*7WB*26S:"YJVR^II;*:PW1S0DM0MFQR(HN)O50C*
     192MT3;SKD]]%")RI>K:R8N^?L$Q]@5P,QN`9F0#T"S:`'Y<WMRM=SB'7TH+:?LU
     193MF_N7;2H_%,U&H9BBKQR(-(NL:;>B.QY;;U97>//FVYOPYA/VC)H],B[OUB>K
     194M;_GS;O4-9\S_LU@\*^U^$_EWN?`<:#92G\[9:XW._%UL*=O]:=V._DX10:>G
     195M=-=_EO\I%Z@('FB<X8--10[?+#M65DISVNHTMV/WO?QAES@#7=4QU.()YGEZ
     196M/.C@('&[^=?RPI\2:%$QG%FK5<^UL<:S\`0Y*B:FA\A>=T-0-=9UG_3A<H2Z
     197MX1\QL<'HXA,Q\0":P1UU^FK1,.)K049\+=Q4.O$H%GGKU)+L^%H^58:-%+@:
     198M);;FV:M16MM3WUS+23PREF=CU`K37"AX;M>94+34!P1%+0]IV+6T51:5;I9'
     199MI2/`2F08YU#IL-;>67*4N3R_OK]X]VE^"L.YOWOY\F\__N6$]:,"?;Z3/G3U
     200MS+^V>H_BK?I?N7$>QL7EA$:*)'=*4BR(9+,?U)8Z([JDJE\9L(;S*W"^V:Q7
     201M;["JX&>K^Y???]97^PZ*=KG]K-5>%N!VBKH:<[^N[THZ!:T:_*%6Q!]J2/:>
     202ML_/;7^[0(6"YNG^_6EZ7=K+X:!!T^I?#_[$OYH?HE^GI<HGVW`!W<@"^;*@H
     203MF@6^X!+C5<P6ND7W*+8[A__N./?_;.7.E?'#R);[=G5Y>7+9H^4R_MJ57VAJ
     204M]%3Q9X2^W:PN5\MU]_/J9XR]?;A?QJ;E>GVW[NXN+A[6?N38Y"_?+#$.MXOO
     205MNU[=+O&E7_MGCWSKS['OL!3=9O=^V;U=7OA=.!AOOXQWOGBWO'X?Y_'\BS*U
     206MD>%K;(36H,F9)(<NEKT*S.R<A6JG0C^,S?WF-185?4"F]OD?GG_R7RQL"[@+
     207#B@``
    207208`
    208209end
  • Tst/New/stdZtests.stat

    r177e74 r51d2289  
    1 1 >> tst_memory_0 :: 1540906985:4113, 64 bit:4.1.1:x86_64-Linux:nepomuck:859472
    2 1 >> tst_memory_1 :: 1540906985:4113, 64 bit:4.1.1:x86_64-Linux:nepomuck:2199552
    3 1 >> tst_memory_2 :: 1540906985:4113, 64 bit:4.1.1:x86_64-Linux:nepomuck:2215936
    4 1 >> tst_timer_1 :: 1540906985:4113, 64 bit:4.1.1:x86_64-Linux:nepomuck:16
     11 >> tst_memory_0 :: 1559315623:4120, 64 bit:4.1.2:x86_64-Linux:nepomuck:943312
     21 >> tst_memory_1 :: 1559315623:4120, 64 bit:4.1.2:x86_64-Linux:nepomuck:2199552
     31 >> tst_memory_2 :: 1559315623:4120, 64 bit:4.1.2:x86_64-Linux:nepomuck:2215936
     41 >> tst_timer_1 :: 1559315623:4120, 64 bit:4.1.2:x86_64-Linux:nepomuck:10
  • Tst/Short/bug_tr785.res.gz.uu

    r177e74 r51d2289  
    11begin 640 bug_tr785.res.gz
    2 M'XL("&Y<V%L"`V)U9U]T<C<X-2YR97,`Q93!:N,P$(;O?HJA]"#'DHA&2N(V
    3 M1(>R%\.RE^ZMI,&)32HP=K`4XL??<>K$@8720TMM@S3C^<?_\&$]__V5_0$`
    4 M9>%W]@1WP0=9N>W=,GH>WJ`%2FY<[0*+EU&_@K6P/>XWH5VD,UF7)^E#'JX*
    5 M;>&Z-Q*:0W!-S0YM$^*Q[<Q"Z^H]^,+#"EP=RGW9<A9XIWB'O-.\,S$O_*B8
    6 M6W!%F5>0D4"+P''2J5=,-"V3#A,TDX[VAJ=]7B<=OL>)HH1^I<B,S186LI4/
    7 M!<O(DV(8>_3:"R&--Y[I6,R%I&LA(O)=''<!=JT+94N3/"+LWG)7WV2FU[XI
    8 M]5U&V8M:K\@B;7"]ZEV*P:6XN!3A[)XJ-%7\;S693\*[I!?C$)R+3-I'@^3Z
    9 MY0<+34OSO"@IZUU3>1IM3<--`4%?JM1T9*.4'!"</D)P\DSQX1[Y*?Q"&DI_
    10 M#PUE?HJ&FGV*QOR&QN)"(Z\.'^!@.1.*WSPQKPXW7-*OY/+P/5QP^E-<4'V&
    11 ;"^+(!;4\GW_]"7>D7R%>WD?_`(N;$70U!0``
     2M'XL("-A!\5P"`V)U9U]T<C<X-2YR97,`Q91!:^LP#,?O^11B[)`TCJEDMTU7
     3MZL-XE\#C7?9NHQMI$SI#2$KLTGS\IW1I4W@P=BB,!"PIDO*7?\8O?W]E?P``
     4M#?S.GN'!.R\KNWU8!2_#%S+`P7=;6Q]&JZ!?P1C8'O?OOEVD,UF7)^E\[J\5
     5MRL#5UA*:@[=-'1[:QD=CVYF!UM9[<(6#-=C:E_NR%:$7'8J.1*=$IR-1N+%B
     6M;L`695Y!Q@4J\8(F';Y1K'B9=!23GG1L:Y'V<15W].G'R`'UQIX>FRT,9&OG
     7MBS!C31A2Y,@IER12.SU/Y")@N<5QYV'76E^V/,`3PNXCM_5-9'IMEW*[59"]
     8MXF;-RMB@S;H7EPSBDHNXQ)]%<X;BC/\5QO.)_RSIBVEPSDDZ[;VAY/KGI8&F
     9MY3%>4<IZUU2.)]KP3%,@4)<LG(Y($.6P\Z>O=O[D0A3#,V)#NB,$5'>%@/JG
     10M(.#L6Q#F-Q`6%PAY=?B"0IB'"8J;-Q+5X09'>D\<R[OBH.E/X2#\#@ZB$0<I
     116>;[D^FOLR`<_6CT&_P!\)Y@G&@4`````
    1212`
    1313end
  • Tst/Short/bug_tr785.stat

    r177e74 r51d2289  
    1 1 >> tst_memory_0 :: 1540906094:4113, 64 bit:4.1.1:x86_64-Linux:nepomuck:86736
    2 1 >> tst_memory_1 :: 1540906094:4113, 64 bit:4.1.1:x86_64-Linux:nepomuck:2150160
    3 1 >> tst_memory_2 :: 1540906094:4113, 64 bit:4.1.1:x86_64-Linux:nepomuck:2191264
    4 1 >> tst_timer_1 :: 1540906094:4113, 64 bit:4.1.1:x86_64-Linux:nepomuck:1
     11 >> tst_memory_0 :: 1559314904:4120, 64 bit:4.1.2:x86_64-Linux:nepomuck:97456
     21 >> tst_memory_1 :: 1559314904:4120, 64 bit:4.1.2:x86_64-Linux:nepomuck:2150176
     31 >> tst_memory_2 :: 1559314904:4120, 64 bit:4.1.2:x86_64-Linux:nepomuck:2191280
     41 >> tst_timer_1 :: 1559314904:4120, 64 bit:4.1.2:x86_64-Linux:nepomuck:1
  • kernel/GBEngine/kstd1.cc

    r177e74 r51d2289  
    520520  }
    521521}
     522
     523int redRiloc_Z (LObject* h,kStrategy strat)
     524{
     525    int i,at,ei,li,ii;
     526    int j = 0;
     527    int pass = 0;
     528    long d,reddeg;
     529    int docoeffred  = 0;
     530    poly T0p        = strat->T[0].p;
     531    int T0ecart     = strat->T[0].ecart;
     532
     533
     534    d = h->GetpFDeg()+ h->ecart;
     535    reddeg = strat->LazyDegree+d;
     536    h->SetShortExpVector();
     537    if (strat->T[0].GetpFDeg() == 0 && strat->T[0].length <= 2) {
     538        docoeffred  = 1;
     539    }
     540    loop
     541    {
     542        /* cut down the lead coefficients, only possible if the degree of
     543         * T[0] is 0 (constant). This is only efficient if T[0] is short, thus
     544         * we ask for the length of T[0] to be <= 2 */
     545        if (docoeffred) {
     546            j = kTestDivisibleByT0_Z(strat, h);
     547            if (j == 0 && n_DivBy(pGetCoeff(h->p), pGetCoeff(T0p), currRing->cf) == FALSE
     548                    && T0ecart <= h->ecart) {
     549                /* not(lc(reducer) | lc(poly)) && not(lc(poly) | lc(reducer))
     550                 * => we try to cut down the lead coefficient at least */
     551                /* first copy T[j] in order to multiply it with a coefficient later on */
     552                number mult, rest;
     553                TObject tj  = strat->T[0];
     554                tj.Copy();
     555                /* compute division with remainder of lc(h) and lc(T[j]) */
     556                mult = n_QuotRem(pGetCoeff(h->p), pGetCoeff(T0p),
     557                        &rest, currRing->cf);
     558                /* set corresponding new lead coefficient already. we do not
     559                 * remove the lead term in ksReducePolyLC, but only apply
     560                 * a lead coefficient reduction */
     561                tj.Mult_nn(mult);
     562                ksReducePolyLC(h, &tj, NULL, &rest, strat);
     563                tj.Delete();
     564                tj.Clear();
     565            }
     566        }
     567        j = kFindDivisibleByInT(strat, h);
     568        if (j < 0)
     569        {
     570            // over ZZ: cleanup coefficients by complete reduction with monomials
     571            postReduceByMon(h, strat);
     572            if(h->p == NULL)
     573            {
     574                kDeleteLcm(h);
     575                h->Clear();
     576                return 0;
     577            }
     578            if (strat->honey) h->SetLength(strat->length_pLength);
     579            if(strat->tl >= 0)
     580                h->i_r1 = strat->tl;
     581            else
     582                h->i_r1 = -1;
     583            if (h->GetLmTailRing() == NULL)
     584            {
     585                kDeleteLcm(h);
     586                h->Clear();
     587                return 0;
     588            }
     589            return 1;
     590        }
     591
     592        ei = strat->T[j].ecart;
     593        ii = j;
     594#if 1
     595        if (ei > h->ecart && ii < strat->tl)
     596        {
     597            li = strat->T[j].length;
     598            // the polynomial to reduce with (up to the moment) is;
     599            // pi with ecart ei and length li
     600            // look for one with smaller ecart
     601            i = j;
     602            loop
     603            {
     604                /*- takes the first possible with respect to ecart -*/
     605                i++;
     606#if 1
     607                if (i > strat->tl) break;
     608                if ((strat->T[i].ecart < ei || (strat->T[i].ecart == ei &&
     609                                strat->T[i].length < li))
     610                        &&
     611                        p_LmShortDivisibleBy(strat->T[i].GetLmTailRing(), strat->sevT[i], h->GetLmTailRing(), ~h->sev, strat->tailRing)
     612                        &&
     613                        n_DivBy(h->p->coef,strat->T[i].p->coef,strat->tailRing->cf))
     614#else
     615                    j = kFindDivisibleByInT(strat, h, i);
     616                if (j < 0) break;
     617                i = j;
     618                if (strat->T[i].ecart < ei || (strat->T[i].ecart == ei &&
     619                            strat->T[i].length < li))
     620#endif
     621                {
     622                    // the polynomial to reduce with is now
     623                    ii = i;
     624                    ei = strat->T[i].ecart;
     625                    if (ei <= h->ecart) break;
     626                    li = strat->T[i].length;
     627                }
     628            }
     629        }
     630#endif
     631
     632        // end of search: have to reduce with pi
     633        if (ei > h->ecart)
     634        {
     635            // It is not possible to reduce h with smaller ecart;
     636            // if possible h goes to the lazy-set L,i.e
     637            // if its position in L would be not the last one
     638            strat->fromT = TRUE;
     639            if (!TEST_OPT_REDTHROUGH && strat->Ll >= 0) /*- L is not empty -*/
     640            {
     641                h->SetLmCurrRing();
     642                if (strat->honey && strat->posInLDependsOnLength)
     643                    h->SetLength(strat->length_pLength);
     644                assume(h->FDeg == h->pFDeg());
     645                at = strat->posInL(strat->L,strat->Ll,h,strat);
     646                if (at <= strat->Ll && pLmCmp(h->p, strat->L[strat->Ll].p) != 0 && !nEqual(h->p->coef, strat->L[strat->Ll].p->coef))
     647                {
     648                    /*- h will not become the next element to reduce -*/
     649                    enterL(&strat->L,&strat->Ll,&strat->Lmax,*h,at);
     650#ifdef KDEBUG
     651                    if (TEST_OPT_DEBUG) Print(" ecart too big; -> L%d\n",at);
     652#endif
     653                    h->Clear();
     654                    strat->fromT = FALSE;
     655                    return -1;
     656                }
     657            }
     658            doRed(h,&(strat->T[ii]),strat->fromT,strat,TRUE);
     659        }
     660        else
     661        {
     662            // now we finally can reduce
     663            doRed(h,&(strat->T[ii]),strat->fromT,strat,FALSE);
     664        }
     665        strat->fromT=FALSE;
     666        // are we done ???
     667        if (h->IsNull())
     668        {
     669            kDeleteLcm(h);
     670            h->Clear();
     671            return 0;
     672        }
     673
     674        // NO!
     675        h->SetShortExpVector();
     676        h->SetpFDeg();
     677        if (strat->honey)
     678        {
     679            if (ei <= h->ecart)
     680                h->ecart = d-h->GetpFDeg();
     681            else
     682                h->ecart = d-h->GetpFDeg()+ei-h->ecart;
     683        }
     684        else
     685            // this has the side effect of setting h->length
     686            h->ecart = h->pLDeg(strat->LDegLast) - h->GetpFDeg();
     687        /*- try to reduce the s-polynomial -*/
     688        pass++;
     689        d = h->GetpFDeg()+h->ecart;
     690        /*
     691         *test whether the polynomial should go to the lazyset L
     692         *-if the degree jumps
     693         *-if the number of pre-defined reductions jumps
     694         */
     695        if (!TEST_OPT_REDTHROUGH && (strat->Ll >= 0)
     696                && ((d >= reddeg) || (pass > strat->LazyPass)))
     697        {
     698            h->SetLmCurrRing();
     699            if (strat->honey && strat->posInLDependsOnLength)
     700                h->SetLength(strat->length_pLength);
     701            assume(h->FDeg == h->pFDeg());
     702            at = strat->posInL(strat->L,strat->Ll,h,strat);
     703            if (at <= strat->Ll)
     704            {
     705                int dummy=strat->sl;
     706                if (kFindDivisibleByInS(strat, &dummy, h) < 0)
     707                {
     708                    if (strat->honey && !strat->posInLDependsOnLength)
     709                        h->SetLength(strat->length_pLength);
     710                    return 1;
     711                }
     712                enterL(&strat->L,&strat->Ll,&strat->Lmax,*h,at);
     713#ifdef KDEBUG
     714                if (TEST_OPT_DEBUG) Print(" degree jumped; ->L%d\n",at);
     715#endif
     716                h->Clear();
     717                return -1;
     718            }
     719        }
     720        else if ((TEST_OPT_PROT) && (strat->Ll < 0) && (d >= reddeg))
     721        {
     722            Print(".%ld",d);mflush();
     723            reddeg = d+1;
     724            if (h->pTotalDeg()+h->ecart >= (int)strat->tailRing->bitmask)
     725            {
     726                strat->overflow=TRUE;
     727                //Print("OVERFLOW in redEcart d=%ld, max=%ld",d,strat->tailRing->bitmask);
     728                h->GetP();
     729                at = strat->posInL(strat->L,strat->Ll,h,strat);
     730                enterL(&strat->L,&strat->Ll,&strat->Lmax,*h,at);
     731                h->Clear();
     732                return -1;
     733            }
     734        }
     735    }
     736}
    522737#endif
    523738
     
    762977static poly redMoraNFRing (poly h,kStrategy strat, int flag)
    763978{
    764   LObject H;
    765   H.p = h;
    766   int j = 0;
    767   int z = 10;
    768   int o = H.SetpFDeg();
    769   H.ecart = currRing->pLDeg(H.p,&H.length,currRing)-o;
    770   if ((flag & 2) == 0) cancelunit(&H,TRUE);
    771   H.sev = pGetShortExpVector(H.p);
    772   unsigned long not_sev = ~ H.sev;
    773   loop
    774   {
    775     if (j > strat->tl)
    776     {
    777       return H.p;
    778     }
    779     if (TEST_V_DEG_STOP)
    780     {
    781       if (kModDeg(H.p)>Kstd1_deg) pLmDelete(&H.p);
    782       if (H.p==NULL) return NULL;
    783     }
    784     if (p_LmShortDivisibleBy(strat->T[j].GetLmTailRing(), strat->sevT[j], H.GetLmTailRing(), not_sev, strat->tailRing)
    785         && (n_DivBy(H.p->coef, strat->T[j].p->coef,strat->tailRing->cf))
    786         )
    787     {
    788       /*- remember the found T-poly -*/
    789       // poly pi = strat->T[j].p;
    790       int ei = strat->T[j].ecart;
    791       int li = strat->T[j].length;
    792       int ii = j;
    793       /*
    794       * the polynomial to reduce with (up to the moment) is;
    795       * pi with ecart ei and length li
    796       */
    797       loop
    798       {
    799         /*- look for a better one with respect to ecart -*/
    800         /*- stop, if the ecart is small enough (<=ecart(H)) -*/
    801         j++;
    802         if (j > strat->tl) break;
    803         if (ei <= H.ecart) break;
    804         if (((strat->T[j].ecart < ei)
    805           || ((strat->T[j].ecart == ei)
    806         && (strat->T[j].length < li)))
    807         && pLmShortDivisibleBy(strat->T[j].p,strat->sevT[j], H.p, not_sev)
    808         && (n_DivBy(H.p->coef, strat->T[j].p->coef,strat->tailRing->cf))
    809         )
    810         {
    811           /*
    812           * the polynomial to reduce with is now;
    813           */
    814           // pi = strat->T[j].p;
    815           ei = strat->T[j].ecart;
    816           li = strat->T[j].length;
    817           ii = j;
    818         }
    819       }
    820       /*
    821       * end of search: have to reduce with pi
    822       */
    823       z++;
    824       if (z>10)
    825       {
    826         pNormalize(H.p);
    827         z=0;
    828       }
    829       if ((ei > H.ecart) && (!strat->kHEdgeFound))
    830       {
    831         /*
    832         * It is not possible to reduce h with smaller ecart;
    833         * we have to reduce with bad ecart: H has to enter in T
    834         */
    835         doRed(&H,&(strat->T[ii]),TRUE,strat,TRUE);
    836         if (H.p == NULL)
    837           return NULL;
    838       }
    839       else
    840       {
    841         /*
    842         * we reduce with good ecart, h need not to be put to T
    843         */
    844         doRed(&H,&(strat->T[ii]),FALSE,strat,TRUE);
    845         if (H.p == NULL)
    846           return NULL;
    847       }
    848       /*- try to reduce the s-polynomial -*/
    849       o = H.SetpFDeg();
    850       if ((flag &2 ) == 0) cancelunit(&H,TRUE);
    851       H.ecart = currRing->pLDeg(H.p,&(H.length),currRing)-o;
    852       j = 0;
    853       H.sev = pGetShortExpVector(H.p);
    854       not_sev = ~ H.sev;
    855     }
    856     else
    857     {
    858       j++;
    859     }
    860   }
     979    LObject H;
     980    H.p = h;
     981    int j0, j = 0;
     982    int z = 10;
     983    int docoeffred  = 0;
     984    poly T0p    = strat->T[0].p;
     985    int T0ecart = strat->T[0].ecart;
     986    int o = H.SetpFDeg();
     987    H.ecart = currRing->pLDeg(H.p,&H.length,currRing)-o;
     988    if ((flag & 2) == 0) cancelunit(&H,TRUE);
     989    H.sev = pGetShortExpVector(H.p);
     990    unsigned long not_sev = ~ H.sev;
     991    if (strat->T[0].GetpFDeg() == 0 && strat->T[0].length <= 2) {
     992        docoeffred  = 1;
     993    }
     994    loop
     995    {
     996        /* cut down the lead coefficients, only possible if the degree of
     997         * T[0] is 0 (constant). This is only efficient if T[0] is short, thus
     998         * we ask for the length of T[0] to be <= 2 */
     999        if (docoeffred) {
     1000            j0 = kTestDivisibleByT0_Z(strat, &H);
     1001            if (j0 == 0 && n_DivBy(pGetCoeff(H.p), pGetCoeff(T0p), currRing->cf) == FALSE
     1002                    && T0ecart <= H.ecart) {
     1003                /* not(lc(reducer) | lc(poly)) && not(lc(poly) | lc(reducer))
     1004                 * => we try to cut down the lead coefficient at least */
     1005                /* first copy T[j0] in order to multiply it with a coefficient later on */
     1006                number mult, rest;
     1007                TObject tj  = strat->T[0];
     1008                tj.Copy();
     1009                /* compute division with remainder of lc(h) and lc(T[j]) */
     1010                mult = n_QuotRem(pGetCoeff(H.p), pGetCoeff(T0p),
     1011                        &rest, currRing->cf);
     1012                /* set corresponding new lead coefficient already. we do not
     1013                 * remove the lead term in ksReducePolyLC, but only apply
     1014                 * a lead coefficient reduction */
     1015                tj.Mult_nn(mult);
     1016                ksReducePolyLC(&H, &tj, NULL, &rest, strat);
     1017                tj.Delete();
     1018                tj.Clear();
     1019            }
     1020        }
     1021        if (j > strat->tl)
     1022        {
     1023            return H.p;
     1024        }
     1025        if (TEST_V_DEG_STOP)
     1026        {
     1027            if (kModDeg(H.p)>Kstd1_deg) pLmDelete(&H.p);
     1028            if (H.p==NULL) return NULL;
     1029        }
     1030        if (p_LmShortDivisibleBy(strat->T[j].GetLmTailRing(), strat->sevT[j], H.GetLmTailRing(), not_sev, strat->tailRing)
     1031                && (n_DivBy(H.p->coef, strat->T[j].p->coef,strat->tailRing->cf))
     1032           )
     1033        {
     1034            /*- remember the found T-poly -*/
     1035            // poly pi = strat->T[j].p;
     1036            int ei = strat->T[j].ecart;
     1037            int li = strat->T[j].length;
     1038            int ii = j;
     1039            /*
     1040             * the polynomial to reduce with (up to the moment) is;
     1041             * pi with ecart ei and length li
     1042             */
     1043            loop
     1044            {
     1045                /*- look for a better one with respect to ecart -*/
     1046                /*- stop, if the ecart is small enough (<=ecart(H)) -*/
     1047                j++;
     1048                if (j > strat->tl) break;
     1049                if (ei <= H.ecart) break;
     1050                if (((strat->T[j].ecart < ei)
     1051                            || ((strat->T[j].ecart == ei)
     1052                                && (strat->T[j].length < li)))
     1053                        && pLmShortDivisibleBy(strat->T[j].p,strat->sevT[j], H.p, not_sev)
     1054                        && (n_DivBy(H.p->coef, strat->T[j].p->coef,strat->tailRing->cf))
     1055                   )
     1056                {
     1057                    /*
     1058                     * the polynomial to reduce with is now;
     1059                     */
     1060                    // pi = strat->T[j].p;
     1061                    ei = strat->T[j].ecart;
     1062                    li = strat->T[j].length;
     1063                    ii = j;
     1064                }
     1065            }
     1066            /*
     1067             * end of search: have to reduce with pi
     1068             */
     1069            z++;
     1070            if (z>10)
     1071            {
     1072                pNormalize(H.p);
     1073                z=0;
     1074            }
     1075            if ((ei > H.ecart) && (!strat->kHEdgeFound))
     1076            {
     1077                /*
     1078                 * It is not possible to reduce h with smaller ecart;
     1079                 * we have to reduce with bad ecart: H has to enter in T
     1080                 */
     1081                doRed(&H,&(strat->T[ii]),TRUE,strat,TRUE);
     1082                if (H.p == NULL)
     1083                    return NULL;
     1084            }
     1085            else
     1086            {
     1087                /*
     1088                 * we reduce with good ecart, h need not to be put to T
     1089                 */
     1090                doRed(&H,&(strat->T[ii]),FALSE,strat,TRUE);
     1091                if (H.p == NULL)
     1092                    return NULL;
     1093            }
     1094            /*- try to reduce the s-polynomial -*/
     1095            o = H.SetpFDeg();
     1096            if ((flag &2 ) == 0) cancelunit(&H,TRUE);
     1097            H.ecart = currRing->pLDeg(H.p,&(H.length),currRing)-o;
     1098            j = 0;
     1099            H.sev = pGetShortExpVector(H.p);
     1100            not_sev = ~ H.sev;
     1101        }
     1102        else
     1103        {
     1104            j++;
     1105        }
     1106    }
    8611107}
    8621108#endif
     
    14861732  }
    14871733
    1488   if (rField_is_Ring(currRing))
    1489     strat->red = redRiloc;
     1734  if (rField_is_Ring(currRing)) {
     1735    if (rField_is_Z(currRing))
     1736      strat->red = redRiloc_Z;
     1737    else
     1738      strat->red = redRiloc;
     1739  }
    14901740
    14911741  /*reads the ecartWeights used for Graebes method from the
  • kernel/GBEngine/kstd2.cc

    r177e74 r51d2289  
    135135  }
    136136}
    137 // return -1 if no divisor is found
    138 //        number of first divisor, otherwise
     137// return -1 if T[0] does not divide the leading monomial
     138int kTestDivisibleByT0_Z(const kStrategy strat, const LObject* L)
     139{
     140    if (strat->tl < 1)
     141        return -1;
     142
     143    unsigned long not_sev     = ~L->sev;
     144    const unsigned long sevT0 = strat->sevT[0];
     145    number rest, orest, mult;
     146    if (L->p!=NULL)
     147    {
     148        const poly T0p  = strat->T[0].p;
     149        const ring r    = currRing;
     150        const poly p    = L->p;
     151        orest           = pGetCoeff(p);
     152
     153        pAssume(~not_sev == p_GetShortExpVector(p, r));
     154
     155#if defined(PDEBUG) || defined(PDIV_DEBUG)
     156        if (p_LmShortDivisibleBy(T0p, sevT0, p, not_sev, r))
     157        {
     158            mult= n_QuotRem(pGetCoeff(p), pGetCoeff(T0p), &rest, r->cf);
     159            if (!n_IsZero(mult, r) && n_Greater(n_EucNorm(orest, r->cf), n_EucNorm(rest, r->cf), r->cf) == TRUE) {
     160                return 0;
     161            }
     162        }
     163#else
     164        if (!(sevT0 & not_sev) && p_LmDivisibleBy(T0p, p, r))
     165        {
     166            mult = n_QuotRem(pGetCoeff(p), pGetCoeff(T0p), &rest, r->cf);
     167            if (!n_IsZero(mult, r) && n_Greater(n_EucNorm(orest, r->cf), n_EucNorm(rest, r->cf), r->cf) == TRUE) {
     168                return 0;
     169            }
     170        }
     171#endif
     172    }
     173    else
     174    {
     175        const poly T0p  = strat->T[0].t_p;
     176        const ring r    = strat->tailRing;
     177        const poly p    = L->t_p;
     178        orest           = pGetCoeff(p);
     179#if defined(PDEBUG) || defined(PDIV_DEBUG)
     180        if (p_LmShortDivisibleBy(T0p, sevT0,
     181                    p, not_sev, r))
     182        {
     183            mult = n_QuotRem(pGetCoeff(p), pGetCoeff(T0p), &rest, r->cf);
     184            if (!n_IsZero(mult, r) && n_Greater(n_EucNorm(orest, r->cf), n_EucNorm(rest, r->cf), r->cf) == TRUE) {
     185                return 0;
     186            }
     187        }
     188#else
     189        if (!(sevT0 & not_sev) && p_LmDivisibleBy(T0p, p, r))
     190        {
     191            mult = n_QuotRem(pGetCoeff(p), pGetCoeff(T0p), &rest, r->cf);
     192            if (!n_IsZero(mult, r) && n_Greater(n_EucNorm(orest, r->cf), n_EucNorm(rest, r->cf), r->cf) == TRUE) {
     193                return 0;
     194            }
     195        }
     196#endif
     197    }
     198    return -1;
     199}
     200
    139201int kFindDivisibleByInT_Z(const kStrategy strat, const LObject* L, const int start)
    140202{
     
    191253            p, not_sev, r))
    192254      {
    193         mult = n_QuotRem(pGetCoeff(p), pGetCoeff(T[j].p), &rest, r->cf);
     255        mult = n_QuotRem(pGetCoeff(p), pGetCoeff(T[j].t_p), &rest, r->cf);
    194256        if (!n_IsZero(mult, r) && n_Greater(n_EucNorm(orest, r->cf), n_EucNorm(rest, r->cf), r->cf) == TRUE) {
    195257          o = j;
     
    200262      if (!(sevT[j] & not_sev) && p_LmDivisibleBy(T[j].t_p, p, r))
    201263      {
    202         mult = n_QuotRem(pGetCoeff(p), pGetCoeff(T[j].p), &rest, r->cf);
     264        mult = n_QuotRem(pGetCoeff(p), pGetCoeff(T[j].t_p), &rest, r->cf);
    203265        if (!n_IsZero(mult, r) && n_Greater(n_EucNorm(orest, r->cf), n_EucNorm(rest, r->cf), r->cf) == TRUE) {
    204266          o = j;
  • kernel/GBEngine/kutil.h

    r177e74 r51d2289  
    602602int kFindSameLMInT_Z(const kStrategy strat, const LObject* L, const int start=0);
    603603
     604/// tests if T[0] divides the leading monomial of L, returns -1 if not
     605int kTestDivisibleByT0_Z(const kStrategy strat, const LObject* L);
    604606/// return -1 if no divisor is found
    605607///        number of first divisor in S, otherwise
Note: See TracChangeset for help on using the changeset viewer.