Changeset 825d79 in git
 Timestamp:
 Nov 22, 1999, 2:45:36 PM (24 years ago)
 Branches:
 (u'jengelhdatetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', '0604212ebb110535022efecad887940825b97c3f')
 Children:
 b9852e81cb68a9fd3c0763e109b79e779ef2dffd
 Parents:
 8896c8d3b3c16233ca0935ff6c0f1ff4b9adca4f
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

Singular/sparsmat.cc
r8896c8 r825d79 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: sparsmat.cc,v 1. 19 19991122 12:40:03 SingularExp $ */4 /* $Id: sparsmat.cc,v 1.20 19991122 13:45:36 pohl Exp $ */ 5 5 6 6 /* … … 574 574 if (tored != nrows) 575 575 this>smToredElim(); 576 if (act < y)576 if (act <= y) 577 577 { 578 578 this>smFinalMult(); … … 945 945 loop // combine the chains a and b: p*a + w*b 946 946 { 947 if (a>pos < b>pos)948 {949 res = res>n = a;950 a = a>n;951 }952 else if (a>pos > b>pos)953 {954 res = res>n = smElemCopy(b);955 res>m = smMult(b>m, w);956 res>e = 1;957 res>f = smPolyWeight(res);958 b = b>n;959 }960 else961 {962 ha = smMult(a>m, p);963 pDelete(&a>m);964 hb = smMult(b>m, w);965 ha = pAdd(ha, hb);966 if (ha != NULL)967 {968 a>m = ha;969 a>e = 1;970 a>f = smPolyWeight(a);971 res = res>n = a;972 a = a>n;973 }974 else975 {976 smElemDelete(&a);977 }978 b = b>n;979 }980 if (b == NULL)981 {982 res>n = a;983 break;984 }985 947 if (a == NULL) 986 948 { … … 995 957 break; 996 958 } 959 if (a>pos < b>pos) 960 { 961 res = res>n = a; 962 a = a>n; 963 } 964 else if (a>pos > b>pos) 965 { 966 res = res>n = smElemCopy(b); 967 res>m = smMult(b>m, w); 968 res>e = 1; 969 res>f = smPolyWeight(res); 970 b = b>n; 971 } 972 else 973 { 974 ha = smMult(a>m, p); 975 pDelete(&a>m); 976 hb = smMult(b>m, w); 977 ha = pAdd(ha, hb); 978 if (ha != NULL) 979 { 980 a>m = ha; 981 a>e = 1; 982 a>f = smPolyWeight(a); 983 res = res>n = a; 984 a = a>n; 985 } 986 else 987 { 988 smElemDelete(&a); 989 } 990 b = b>n; 991 } 992 if (b == NULL) 993 { 994 res>n = a; 995 break; 996 } 997 997 } 998 998 m_act[r>pos] = dumm>n; … … 1030 1030 loop // combine the chains a and b: (hp,gp)*a(l) + hr*b(h) 1031 1031 { 1032 if (a == NULL) 1033 { 1034 do 1035 { 1036 res = res>n = smElemCopy(b); 1037 x = SM_MULT(b>m, hr, m_res[ir]>m); 1038 b = b>n; 1039 if(ir) SM_DIV(x, m_res[ir]>m); 1040 res>m = x; 1041 res>e = e; 1042 res>f = smPolyWeight(res); 1043 } while (b != NULL); 1044 break; 1045 } 1032 1046 if (a>pos < b>pos) 1033 1047 { … … 1115 1129 break; 1116 1130 } 1117 if (a == NULL)1118 {1119 do1120 {1121 res = res>n = smElemCopy(b);1122 x = SM_MULT(b>m, hr, m_res[ir]>m);1123 b = b>n;1124 if(ir) SM_DIV(x, m_res[ir]>m);1125 res>m = x;1126 res>e = e;1127 res>f = smPolyWeight(res);1128 } while (b != NULL);1129 break;1130 }1131 1131 } 1132 1132 m_act[r>pos] = dumm>n;
Note: See TracChangeset
for help on using the changeset viewer.