MCPcopy Create free account
hub / github.com/Singular/Singular / scIndIndset

Function scIndIndset

Singular/ipshell.cc:1102–1195  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1100}
1101
1102lists scIndIndset(ideal S, BOOLEAN all, ideal Q)
1103// S mjust eb an ideal, not a module
1104{
1105 int i;
1106 indset save;
1107 lists res=(lists)omAlloc0Bin(slists_bin);
1108
1109 hexist = hInit(S, Q, &hNexist);
1110 if (hNexist == 0)
1111 {
1112 intvec *iv=new intvec(rVar(currRing));
1113 for(i=0; i<rVar(currRing); i++) (*iv)[i]=1;
1114 res->Init(1);
1115 res->m[0].rtyp=INTVEC_CMD;
1116 res->m[0].data=(intvec*)iv;
1117 return res;
1118 }
1119 save = ISet = (indset)omAlloc0Bin(indlist_bin);
1120 hMu = 0;
1121 hwork = (scfmon)omAlloc(hNexist * sizeof(scmon));
1122 hvar = (varset)omAlloc((rVar(currRing) + 1) * sizeof(int));
1123 hpure = (scmon)omAlloc0((1 + (rVar(currRing) * rVar(currRing))) * sizeof(long));
1124 hrad = hexist;
1125 hNrad = hNexist;
1126 radmem = hCreate(rVar(currRing) - 1);
1127 hCo = rVar(currRing) + 1;
1128 hNvar = rVar(currRing);
1129 hRadical(hrad, &hNrad, hNvar);
1130 hSupp(hrad, hNrad, hvar, &hNvar);
1131 if (hNvar)
1132 {
1133 hCo = hNvar;
1134 hPure(hrad, 0, &hNrad, hvar, hNvar, hpure, &hNpure);
1135 hLexR(hrad, hNrad, hvar, hNvar);
1136 hDimSolve(hpure, hNpure, hrad, hNrad, hvar, hNvar);
1137 }
1138 if (hCo && (hCo < rVar(currRing)))
1139 {
1140 hIndMult(hpure, hNpure, hrad, hNrad, hvar, hNvar);
1141 }
1142 if (hMu!=0)
1143 {
1144 ISet = save;
1145 hMu2 = 0;
1146 if (all && (hCo+1 < rVar(currRing)))
1147 {
1148 JSet = (indset)omAlloc0Bin(indlist_bin);
1149 hIndAllMult(hpure, hNpure, hrad, hNrad, hvar, hNvar);
1150 i=hMu+hMu2;
1151 res->Init(i);
1152 if (hMu2 == 0)
1153 {
1154 omFreeBin((ADDRESS)JSet, indlist_bin);
1155 }
1156 }
1157 else
1158 {
1159 res->Init(hMu);

Callers 1

jjINDEPSET2Function · 0.85

Calls 15

omAlloc0BinFunction · 0.85
hInitFunction · 0.85
rVarFunction · 0.85
omAlloc0Function · 0.85
hCreateFunction · 0.85
hRadicalFunction · 0.85
hSuppFunction · 0.85
hPureFunction · 0.85
hLexRFunction · 0.85
hDimSolveFunction · 0.85
hIndMultFunction · 0.85
hIndAllMultFunction · 0.85

Tested by

no test coverage detected