Changeset 806c18 in git for factory/abs_fac.cc
- Timestamp:
- Nov 15, 2010, 4:34:57 PM (13 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- 7c3bca08c96331a56864c1d35b8c2e8ff2e0be89
- Parents:
- c840d97af622b4e4da8761738b540e21144f716b
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
factory/abs_fac.cc
rc840d9 r806c18 36 36 37 37 if( F.isZero() ) return 0; 38 if( F.inBaseDomain() ) return F; 39 40 if( level(F) < 0 ) return 1; 38 if( F.inBaseDomain() ) return F; 39 40 if( level(F) < 0 ) return 1; 41 41 42 42 r = LC( F, x); … … 47 47 { 48 48 t = LC(g, x); 49 if( t == 1 || t == -1 ) return 1; 49 if( t == 1 || t == -1 ) return 1; 50 50 r = MYGCD( r, t); 51 if( r == 1 ) return 1; 52 g = g - power(x,degree(g,x))*t; 51 if( r == 1 ) return 1; 52 g = g - power(x,degree(g,x))*t; 53 53 } 54 54 return r; … … 613 613 CFFListIterator J=Result; 614 614 for ( ; J.hasItem(); J++) 615 { 615 { 616 616 Factor_Norm = J.getItem().factor(); 617 617 Factor_Norm = Factor_Norm(x+k*l,x); // die Störungen werden rückgänig gemacht … … 861 861 F = A[i]; 862 862 863 if( degree(F,x) == 0 ) 864 if( c.level() < 0 ) return 1; else return c; 863 if( degree(F,x) == 0 ) 864 if( c.level() < 0 ) return 1; else return c; 865 865 866 866 F = gamma*F/LC(F, x); … … 908 908 if( g != g(0,i) ) 909 909 L.append(i); 910 910 911 911 int nvg = L.length(); 912 912 913 913 914 914 915 915 if( f.level() < 0 && g.level() < 0 ) { ; 916 916 return 1; } 917 917 918 918 CFArray A; 919 919 920 920 i=0; 921 921 int r; … … 940 940 if( nvf <= 1 && nvg <=1 ) 941 941 { 942 gamma = MyGCDmod( LC(F,x), LC(G,x) ); 942 gamma = MyGCDmod( LC(F,x), LC(G,x) ); 943 943 c = MyGCDmod( Cf, Cg ); 944 944 } … … 956 956 F = A[i]; 957 957 958 if( degree(F,x) == 0 ) 959 if( c.level() < 0 ) return 1; else return c; 958 if( degree(F,x) == 0 ) 959 if( c.level() < 0 ) return 1; else return c; 960 960 961 961 F = gamma*F/LC(F, x); … … 1007 1007 { 1008 1008 CanonicalForm qi = MYGCD( temp2, temp4); 1009 if( qi != 1 ) L.append( CFFactor( qi, i ) ); 1009 if( qi != 1 ) L.append( CFFactor( qi, i ) ); 1010 1010 i++; 1011 1011 temp2 = temp2/qi; … … 1037 1037 for ( CFIterator I = F; I.hasTerms(); ++I ) fillVarsRec( I.coeff(), vrs ); 1038 1038 1039 N.append( CFFactor(F,1) ); 1039 N.append( CFFactor(F,1) ); 1040 1040 1041 1041 int i = n+1; … … 1043 1043 while( i >= 0 ) 1044 1044 { 1045 b = 0; 1045 b = 0; 1046 1046 1047 1047 if( i == 0 ){ v = mvar(F); b=1 ;} 1048 1048 else 1049 if( vrs[i] != 0 ){ b=1; v= Variable(i);} 1050 if( vrs[i] == 0 ) i--; 1049 if( vrs[i] != 0 ){ b=1; v= Variable(i);} 1050 if( vrs[i] == 0 ) i--; 1051 1051 1052 1052 if( b ) 1053 { 1053 { 1054 1054 for( CFFListIterator J = L; J.hasItem(); J++ ) 1055 1055 { … … 1065 1065 } 1066 1066 if( N.length() == L.length() ) i -= 1; 1067 L=N; 1067 L=N; 1068 1068 } 1069 1069 }
Note: See TracChangeset
for help on using the changeset viewer.