382 const std::string &name,
386 (matrix.n() % options.
block_size != 0 ? 1 : 0)),
387 n_patches_y = (matrix.m() / options.
block_size +
388 (matrix.m() % options.
block_size != 0 ? 1 : 0));
402 for (
size_type i = 0; i < n_patches_y; ++i)
404 for (
size_type j = 0; j < n_patches_x; ++j)
419 n_patches_x * n_patches_y);
427 catch (
const std::bad_alloc &)
430 ExcMessage(
"You are trying to create a graphical "
431 "representation of a matrix that would "
432 "requiring outputting " +
434 std::to_string(n_patches) :
435 std::to_string(n_patches_x) +
"x" +
436 std::to_string(n_patches_y)) +
437 " patches. There is not enough memory to output " +
438 "this many patches."));
443 for (
size_type i = 0; i < n_patches_y; ++i)
444 for (
size_type j = 0; j < n_patches_x; ++j)
459 patches[index].n_subdivisions = 1;
469 patches[index].vertices[0][0] = j;
470 patches[index].vertices[0][1] = -
static_cast<signed int>(i);
471 patches[index].vertices[1][0] = j;
472 patches[index].vertices[1][1] = -
static_cast<signed int>(i + 1);
473 patches[index].vertices[2][0] = j + 1;
474 patches[index].vertices[2][1] = -
static_cast<signed int>(i);
475 patches[index].vertices[3][0] = j + 1;
476 patches[index].vertices[3][1] = -
static_cast<signed int>(i + 1);
481 for (
auto &vertex :
patches[index].vertices)
484 patches[index].n_subdivisions = 1;
486 patches[index].data.reinit(1, 4);
::VectorizedArray< Number, width > min(const ::VectorizedArray< Number, width > &, const ::VectorizedArray< Number, width > &)