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

Function getMinorIdealCache_toBeDone

kernel/linear_algebra/MinorInterface.cc:424–455  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

422}
423
424ideal getMinorIdealCache_toBeDone (const matrix mat, const int minorSize,
425 const int k, const ideal iSB,
426 const int cacheStrategy, const int cacheN,
427 const int cacheW, const bool allDifferent)
428{
429 int rowCount = mat->nrows;
430 int columnCount = mat->ncols;
431 poly* myPolyMatrix = (poly*)(mat->m);
432 ideal iii; /* the ideal to be filled and returned */
433 int zz = 0;
434
435 /* divert to special implementation when myPolyMatrix has only number
436 entries: */
437 int* myIntMatrix = (int*)omAlloc(rowCount * columnCount *sizeof(int));
438 poly* nfPolyMatrix = (poly*)omAlloc(rowCount * columnCount *sizeof(poly));
439 if (arrayIsNumberArray(myPolyMatrix, iSB, rowCount * columnCount,
440 myIntMatrix, nfPolyMatrix, zz))
441 iii = getMinorIdealCache_Int(myIntMatrix, rowCount, columnCount,
442 minorSize, k, iSB, cacheStrategy, cacheN,
443 cacheW, allDifferent);
444 else
445 iii = getMinorIdealCache_Poly(nfPolyMatrix, rowCount, columnCount,
446 minorSize, k, iSB, cacheStrategy, cacheN,
447 cacheW, allDifferent);
448
449 /* clean up */
450 omFree(myIntMatrix);
451 for (int j = 0; j < rowCount * columnCount; j++) pDelete(&nfPolyMatrix[j]);
452 omFree(nfPolyMatrix);
453
454 return iii;
455}
456
457ideal getMinorIdealCache (const matrix mat, const int minorSize, const int k,
458 const ideal iSB, const int cacheStrategy,

Callers

nothing calls this directly

Calls 3

arrayIsNumberArrayFunction · 0.85
getMinorIdealCache_IntFunction · 0.85
getMinorIdealCache_PolyFunction · 0.85

Tested by

no test coverage detected