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

Function ivAdd

libpolys/misc/intvec.cc:249–277  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

247}
248
249intvec * ivAdd(intvec * a, intvec * b)
250{
251 intvec * iv;
252 int mn, ma, i;
253 if (a->cols() != b->cols()) return NULL;
254 mn = si_min(a->rows(),b->rows());
255 ma = si_max(a->rows(),b->rows());
256 if (a->cols() == 1)
257 {
258 iv = new intvec(ma);
259 for (i=0; i<mn; i++) (*iv)[i] = (*a)[i] + (*b)[i];
260 if (ma > mn)
261 {
262 if (ma == a->rows())
263 {
264 for(i=mn; i<ma; i++) (*iv)[i] = (*a)[i];
265 }
266 else
267 {
268 for(i=mn; i<ma; i++) (*iv)[i] = (*b)[i];
269 }
270 }
271 return iv;
272 }
273 if (mn != ma) return NULL;
274 iv = new intvec(a);
275 for (i=0; i<mn*a->cols(); i++) { (*iv)[i] += (*b)[i]; }
276 return iv;
277}
278
279intvec * ivAddShift(intvec * a, intvec * b, int s)
280{

Callers 3

jjPLUS_IVFunction · 0.85
jiA_INTFunction · 0.85
hFirstSeriesFunction · 0.85

Calls 4

si_minFunction · 0.85
si_maxFunction · 0.85
colsMethod · 0.80
rowsMethod · 0.80

Tested by

no test coverage detected