over field extension
| 2749 | #ifdef HAVE_NTL |
| 2750 | //over field extension |
| 2751 | int |
| 2752 | extLiftAndComputeLattice (const CanonicalForm& F, int* bounds, int sizeBounds, |
| 2753 | int liftBound, int minBound, int start, CFList& |
| 2754 | factors, mat_zz_p& NTLN, CFList& diophant, |
| 2755 | CFMatrix& M, CFArray& Pi, CFArray& bufQ, bool& |
| 2756 | irreducible, const CanonicalForm& evaluation, const |
| 2757 | ExtensionInfo& info, CFList& source, CFList& dest |
| 2758 | ) |
| 2759 | { |
| 2760 | bool GF= (CFFactory::gettype()==GaloisFieldDomain); |
| 2761 | CanonicalForm LCF= LC (F, 1); |
| 2762 | CFArray *A= new CFArray [factors.length() - 1]; |
| 2763 | bool wasInBounds= false; |
| 2764 | bool hitBound= false; |
| 2765 | int degMipo; |
| 2766 | Variable alpha; |
| 2767 | alpha= info.getAlpha(); |
| 2768 | degMipo= degree (getMipo (alpha)); |
| 2769 | |
| 2770 | Variable gamma= info.getBeta(); |
| 2771 | CanonicalForm primElemAlpha= info.getGamma(); |
| 2772 | CanonicalForm imPrimElemAlpha= info.getDelta(); |
| 2773 | |
| 2774 | int stepSize= 2; |
| 2775 | int l= ((minBound+1)/degMipo+1)*2; |
| 2776 | l= tmax (l, 2); |
| 2777 | if (start > l) |
| 2778 | l= start; |
| 2779 | int oldL= l/2; |
| 2780 | bool reduced= false; |
| 2781 | Variable y= F.mvar(); |
| 2782 | Variable x= Variable (1); |
| 2783 | CanonicalForm powX, imBasis, truncF; |
| 2784 | CFMatrix Mat, C; |
| 2785 | CFArray buf; |
| 2786 | CFIterator iter; |
| 2787 | mat_zz_p* NTLMat, *NTLC, NTLK; |
| 2788 | CFListIterator j; |
| 2789 | while (l <= liftBound) |
| 2790 | { |
| 2791 | TIMING_START (fac_fq_compute_lattice_lift); |
| 2792 | if (start) |
| 2793 | { |
| 2794 | henselLiftResume12 (F, factors, start, l, Pi, diophant, M); |
| 2795 | start= 0; |
| 2796 | } |
| 2797 | else |
| 2798 | { |
| 2799 | if (wasInBounds) |
| 2800 | henselLiftResume12 (F, factors, oldL, l, Pi, diophant, M); |
| 2801 | else |
| 2802 | henselLift12 (F, factors, l, Pi, diophant, M); |
| 2803 | } |
| 2804 | TIMING_END_AND_PRINT (fac_fq_compute_lattice_lift, |
| 2805 | "time to lift in compute lattice: "); |
| 2806 | |
| 2807 | factors.insert (LCF); |
| 2808 |
no test coverage detected