| 221 | } |
| 222 | |
| 223 | void appendTestMapDown (CFList& factors, const CanonicalForm& f, |
| 224 | const ExtensionInfo& info, CFList& source, CFList& dest) |
| 225 | { |
| 226 | int k= info.getGFDegree(); |
| 227 | Variable beta= info.getBeta(); |
| 228 | Variable alpha= info.getAlpha(); |
| 229 | CanonicalForm delta= info.getDelta(); |
| 230 | CanonicalForm gamma= info.getGamma(); |
| 231 | CanonicalForm g= f; |
| 232 | int degMipoBeta=0; |
| 233 | if (!k && beta.level() == 1) |
| 234 | degMipoBeta= 1; |
| 235 | else if (!k && beta.level() != 1) |
| 236 | degMipoBeta= degree (getMipo (beta)); |
| 237 | if (k > 1) |
| 238 | { |
| 239 | if (!isInExtension (g, gamma, k, delta, source, dest)) |
| 240 | { |
| 241 | g= GFMapDown (g, k); |
| 242 | factors.append (g); |
| 243 | } |
| 244 | } |
| 245 | else if (k == 1) |
| 246 | { |
| 247 | if (!isInExtension (g, gamma, k, delta, source, dest)) |
| 248 | factors.append (g); |
| 249 | } |
| 250 | else if (!k && beta == Variable (1)) |
| 251 | { |
| 252 | if (degree (g, alpha) < degMipoBeta) |
| 253 | factors.append (g); |
| 254 | } |
| 255 | else if (!k && beta != Variable (1)) |
| 256 | { |
| 257 | if (!isInExtension (g, gamma, k, delta, source, dest)) |
| 258 | { |
| 259 | g= mapDown (g, delta, gamma, alpha, source, dest); |
| 260 | factors.append (g); |
| 261 | } |
| 262 | } |
| 263 | return; |
| 264 | } |
| 265 | |
| 266 | void |
| 267 | appendMapDown (CFList& factors, const CanonicalForm& g, |
no test coverage detected