371{
372 try
373 {
374
375
376 unsigned int n = Ms->len;
377 if (n == 0)
378 {
379 ERROR(
"matrix direct sum: expects at least one matrix");
380 return nullptr;
381 }
384 for (unsigned int i = 1; i < n; i++)
385 if (R != Ms->array[i]->get_ring())
386 {
387 ERROR(
"matrix direct sum: different base rings");
388 return nullptr;
389 }
390 for (unsigned int i = 1; i < n; i++)
392
395 {
397 return nullptr;
398 }
399}
VALGRIND_MAKE_MEM_DEFINED & result(result)