Changeset 83bde7 in git for kernel/ring.cc
- Timestamp:
- Jul 7, 2010, 6:08:21 PM (13 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', '0604212ebb110535022efecad887940825b97c3f')
- Children:
- 06662e1138acc7765201463c7220765b864749fd
- Parents:
- 9592631b16a2dfdc56b89012975687590f3da197
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/ring.cc
r959263 r83bde7 820 820 * 1 for compatible (and sum) 821 821 */ 822 /* vartest: test for variable/paramter names822 /* 823 823 * dp_dp: for comm. rings: use block order dp + dp/ds/wp 824 824 */ 825 int rTensor(ring r1, ring r2, ring &sum, BOOLEAN vartest, BOOLEANdp_dp)825 int rTensor(ring r1, ring r2, ring &sum, BOOLEAN dp_dp) 826 826 { 827 827 ring save=currRing; … … 836 836 if (r1->parameter!=NULL) 837 837 { 838 if (!vartest || (strcmp(r1->parameter[0],r2->parameter[0])==0)) /* 1 par */839 {840 838 tmpR.parameter=(char **)omAllocBin(char_ptr_bin); 841 839 tmpR.parameter[0]=omStrDup(r1->parameter[0]); 842 840 tmpR.P=1; 843 }844 else845 {846 WerrorS("GF(p,n)+GF(p,n)");847 return -1;848 }849 841 } 850 842 } … … 857 849 // HANNES: TODO: delete nSetChar 858 850 rChangeCurrRing(r1); 859 if ((!vartest || (strcmp(r1->parameter[0],r2->parameter[0])==0)) /* 1 par */ 860 && n_Equal(r1->minpoly,r2->minpoly, r1)) 851 if (n_Equal(r1->minpoly,r2->minpoly, r1)) 861 852 { 862 853 tmpR.parameter=(char **)omAllocBin(char_ptr_bin); … … 877 868 else 878 869 { 879 if ((!vartest || (strcmp(r1->parameter[0],r2->parameter[0])==0)) /* 1 par */ 880 && (rPar(r2)==1)) 870 if (rPar(r2)==1) 881 871 { 882 872 tmpR.parameter=(char **)omAllocBin(char_ptr_bin); … … 896 886 if (r2->minpoly!=NULL) 897 887 { 898 if ((!vartest || (strcmp(r1->parameter[0],r2->parameter[0])==0)) /* 1 par */ 899 && (rPar(r1)==1)) 888 if (rPar(r1)==1) 900 889 { 901 890 tmpR.parameter=(char **)omAllocBin(char_ptr_bin); … … 922 911 for(j=0;j<rPar(r2);j++) 923 912 { 924 if (vartest) 925 { 926 for(l=0;l<i;l++) 927 { 928 if(strcmp(tmpR.parameter[l],r2->parameter[j])==0) 929 break; 930 } 931 } 932 else 933 l=i; 934 if (l==i) 935 { 936 tmpR.parameter[i]=omStrDup(r2->parameter[j]); 937 i++; 938 } 913 l=i; 914 tmpR.parameter[i]=omStrDup(r2->parameter[j]); 915 i++; 939 916 } 940 917 if (i!=len) … … 1076 1053 if (*(r1->names[i]) == '\0') 1077 1054 b = FALSE; 1078 else if ((r2->parameter!=NULL) && (strlen(r1->names[i])==1))1079 {1080 if (vartest)1081 {1082 for(j=0;j<rPar(r2);j++)1083 {1084 if (strcmp(r1->names[i],r2->parameter[j])==0)1085 {1086 b=FALSE;1087 break;1088 }1089 }1090 }1091 }1092 1055 1093 1056 if (b) … … 1108 1071 if (*(r2->names[i]) == '\0') 1109 1072 b = FALSE; 1110 else if ((r1->parameter!=NULL) && (strlen(r2->names[i])==1))1111 {1112 if (vartest)1113 {1114 for(j=0;j<rPar(r1);j++)1115 {1116 if (strcmp(r2->names[i],r1->parameter[j])==0)1117 {1118 b=FALSE;1119 break;1120 }1121 }1122 }1123 }1124 1073 1125 1074 if (b) 1126 1075 { 1127 if (vartest) 1128 { 1129 for(j=0;j<r1->N;j++) 1130 { 1131 if (strcmp(r1->names[j],r2->names[i])==0) 1132 { 1133 b=FALSE; 1134 break; 1135 } 1136 } 1137 } 1138 if (b) 1139 { 1140 //Print("name : %d : %s\n",k,r2->names[i]); 1141 names[k]=omStrDup(r2->names[i]); 1142 k++; 1143 } 1144 //else 1145 // Print("no name (var): %s\n",r2->names[i]); 1076 //Print("name : %d : %s\n",k,r2->names[i]); 1077 names[k]=omStrDup(r2->names[i]); 1078 k++; 1146 1079 } 1147 1080 //else … … 1532 1465 return 0; 1533 1466 } 1534 return r Tensor(r1,r2,sum,TRUE,FALSE);1467 return rSumInternal(r1,r2,sum,TRUE,FALSE); 1535 1468 } 1536 1469
Note: See TracChangeset
for help on using the changeset viewer.