Changeset 6a1cdff in git for kernel/GBEngine
- Timestamp:
- Nov 16, 2022, 5:20:01 PM (18 months ago)
- Branches:
- (u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', 'd08f5f0bb3329b8ca19f23b74cb1473686415c3a')
- Children:
- 3c6f0ffaf164cb9431bba2f23a727bae0ba8ce1b
- Parents:
- 47c5e69b0818e4915a26317e74b0ffe5b1b81ef8
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/GBEngine/kstd2.cc
r47c5e6 r6a1cdff 160 160 #if defined(PDEBUG) || defined(PDIV_DEBUG) 161 161 if (p_LmShortDivisibleBy(T0p, sevT0, p, not_sev, r)) 162 #else 163 if (!(sevT0 & not_sev) && p_LmDivisibleBy(T0p, p, r)) 164 #endif 162 165 { 163 166 if (n_QuotRem!=ndQuotRem) /*euclidean ring*/ … … 174 177 } 175 178 } 179 } 180 else 181 { 182 const poly T0p = strat->T[0].t_p; 183 const ring r = strat->tailRing; 184 const poly p = L->t_p; 185 orest = pGetCoeff(p); 186 #if defined(PDEBUG) || defined(PDIV_DEBUG) 187 if (p_LmShortDivisibleBy(T0p, sevT0, 188 p, not_sev, r)) 176 189 #else 177 190 if (!(sevT0 & not_sev) && p_LmDivisibleBy(T0p, p, r)) 191 #endif 178 192 { 179 193 if (n_QuotRem!=ndQuotRem) /*euclidean ring*/ … … 190 204 } 191 205 } 192 #endif193 }194 else195 {196 const poly T0p = strat->T[0].t_p;197 const ring r = strat->tailRing;198 const poly p = L->t_p;199 orest = pGetCoeff(p);200 #if defined(PDEBUG) || defined(PDIV_DEBUG)201 if (p_LmShortDivisibleBy(T0p, sevT0,202 p, not_sev, r))203 {204 if (n_QuotRem!=ndQuotRem) /*euclidean ring*/205 {206 mult= n_QuotRem(pGetCoeff(p), pGetCoeff(T0p), &rest, r->cf);207 if (!n_IsZero(mult, r->cf) && n_Greater(n_EucNorm(orest, r->cf), n_EucNorm(rest, r->cf), r->cf))208 {209 n_Delete(&mult,r->cf);210 n_Delete(&rest,r->cf);211 return 0;212 }213 n_Delete(&mult,r->cf);214 n_Delete(&rest,r->cf);215 }216 }217 #else218 if (!(sevT0 & not_sev) && p_LmDivisibleBy(T0p, p, r))219 {220 if (n_QuotRem!=ndQuotRem) /*euclidean ring*/221 {222 mult= n_QuotRem(pGetCoeff(p), pGetCoeff(T0p), &rest, r->cf);223 if (!n_IsZero(mult, r->cf) && n_Greater(n_EucNorm(orest, r->cf), n_EucNorm(rest, r->cf), r->cf))224 {225 n_Delete(&mult,r->cf);226 n_Delete(&rest,r->cf);227 return 0;228 }229 n_Delete(&mult,r->cf);230 n_Delete(&rest,r->cf);231 }232 }233 #endif234 206 } 235 207 return -1; … … 258 230 #if defined(PDEBUG) || defined(PDIV_DEBUG) 259 231 if (p_LmShortDivisibleBy(T[j].p, sevT[j],p, not_sev, r)) 232 #else 233 if (!(sevT[j] & not_sev) && p_LmDivisibleBy(T[j].p, p, r)) 234 #endif 260 235 { 261 236 mult= n_QuotRem(pGetCoeff(p), pGetCoeff(T[j].p), &rest, r->cf); … … 266 241 } 267 242 } 268 #else269 if (!(sevT[j] & not_sev) && p_LmDivisibleBy(T[j].p, p, r))270 {271 mult = n_QuotRem(pGetCoeff(p), pGetCoeff(T[j].p), &rest, r->cf);272 if (!n_IsZero(mult, r->cf) && n_Greater(n_EucNorm(orest, r->cf), n_EucNorm(rest, r->cf), r->cf))273 {274 o = j;275 orest = rest;276 }277 }278 #endif279 243 j++; 280 244 } … … 291 255 if (p_LmShortDivisibleBy(T[j].t_p, sevT[j], 292 256 p, not_sev, r)) 257 #else 258 if (!(sevT[j] & not_sev) && p_LmDivisibleBy(T[j].t_p, p, r)) 259 #endif 293 260 { 294 261 mult = n_QuotRem(pGetCoeff(p), pGetCoeff(T[j].t_p), &rest, r->cf); … … 299 266 } 300 267 } 301 #else302 if (!(sevT[j] & not_sev) && p_LmDivisibleBy(T[j].t_p, p, r))303 {304 mult = n_QuotRem(pGetCoeff(p), pGetCoeff(T[j].t_p), &rest, r->cf);305 if (!n_IsZero(mult, r->cf) && n_Greater(n_EucNorm(orest, r->cf), n_EucNorm(rest, r->cf), r->cf))306 {307 o = j;308 orest = rest;309 }310 }311 #endif312 268 j++; 313 269 }
Note: See TracChangeset
for help on using the changeset viewer.