270{
272
273 size_t* prof;
274 size_t rk;
275 if (row_profile)
276 rk = FFPACK::RowRankProfile(mat.ring().field(),
277 mat.numRows(),
278 mat.numColumns(),
279 N.rowMajorArray(),
280 mat.numColumns(),
281 prof);
282 else
283 rk = FFPACK::ColumnRankProfile(mat.ring().field(),
284 mat.numRows(),
285 mat.numColumns(),
286 N.rowMajorArray(),
287 mat.numColumns(),
288 prof);
289
290 result_profile.resize(0);
291 for (size_t i = 0; i < rk; i++) result_profile.push_back(prof[i]);
292
293 delete[] prof;
294}