Changeset 680ca3e in git for libpolys/polys/ext_fields/algext.cc
- Timestamp:
- Feb 21, 2013, 3:20:06 PM (11 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- f48707971b394befdb9c3fce8f6366610b334e92
- Parents:
- dd290f48322737d7fcc47f0fb8ea2059467097c07600fb155db01a25b5e1a80b4394e4ff39585f53
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libpolys/polys/ext_fields/algext.cc
rdd290f r680ca3e 926 926 assume (nCoeff_is_algExt (dst)); 927 927 fraction fa=(fraction)a; 928 assume( rSamePolyRep(src->extRing, dst->extRing) ); 929 poly p = p_Copy(NUM(fa),src->extRing); 928 poly p, q; 929 if (rSamePolyRep(src->extRing, dst->extRing)) 930 { 931 p = p_Copy(NUM(fa),src->extRing); 932 if (!DENIS1(fa)) 933 { 934 q = p_Copy(DEN(fa),src->extRing); 935 assume (q != NULL); 936 } 937 } 938 else 939 { 940 assume ((strcmp(rRingVar(0,src->extRing),rRingVar(0,dst->extRing))==0) && (rVar (src->extRing) == rVar (dst->extRing))); 941 942 nMapFunc nMap= n_SetMap (src->extRing->cf, dst->extRing->cf); 943 944 assume (nMap != NULL); 945 p= p_PermPoly (NUM (fa), NULL, src->extRing, dst->extRing,nMap, NULL,rVar (src->extRing)); 946 if (!DENIS1(fa)) 947 { 948 q= p_PermPoly (DEN (fa), NULL, src->extRing, dst->extRing,nMap, NULL,rVar (src->extRing)); 949 assume (q != NULL); 950 } 951 } 930 952 definiteReduce(p, dst->extRing->qideal->m[0], dst); 931 953 assume (p_Test (p, dst->extRing)); 932 return (number)p; 954 if (!DENIS1(fa)) 955 { 956 definiteReduce(q, dst->extRing->qideal->m[0], dst); 957 assume (p_Test (q, dst->extRing)); 958 if (q != NULL) 959 { 960 number t= naDiv ((number)p,(number)q, dst); 961 p_Delete (&p, dst->extRing); 962 p_Delete (&q, dst->extRing); 963 return t; 964 } 965 WerrorS ("mapping denominator to zero"); 966 } 967 return (number) p; 933 968 } 934 969 … … 1021 1056 return naCopyTrans2AlgExt; 1022 1057 } 1023 else 1024 return NULL; /// Z/p(b) --> Z/p(a) 1058 else if ((strcmp(rRingVar(0,src->extRing),rRingVar(0,dst->extRing))==0) && (rVar (src->extRing) == rVar (dst->extRing))) 1059 { 1060 if (src->type==n_transExt) 1061 return naCopyTrans2AlgExt; 1062 } 1025 1063 } 1026 1064
Note: See TracChangeset
for help on using the changeset viewer.