Spec-Zone.ru › Eigen3

Eigen::IOFormat

Хранит набор параметров, определяющих способ вывода матриц.

Список доступных параметров:

  • precision количество цифр для значений с плавающей точкой, или одно из специальных констант StreamPrecision и FullPrecision. По умолчанию используется специальное значение StreamPrecision, которое означает использование собственной точности потока, настроенной, например, с помощью cout.precision(3). Другое специальное значение FullPrecision означает, что количество цифр будет вычислено для соответствия полной точности каждого типа с плавающей точкой.
  • flags комбинированное значение флагов, по умолчанию 0, единственный доступный флаг DontAlignCols позволяет отключить выравнивание столбцов, что приводит к более быстрому коду.
  • coeffSeparator строка, выводимая между двумя коэффициентами одной строки
  • rowSeparator строка, выводимая между двумя строками
  • rowPrefix строка, выводимая в начале каждой строки
  • rowSuffix строка, выводимая в конце каждой строки
  • matPrefix строка, выводимая в начале матрицы
  • matSuffix строка, выводимая в конце матрицы
  • fill символ, используемый для заполнения пустого места в выровненных столбцах

Пример:

std::string sep = "\n----------------------------------------\n";
Matrix3d m1;
m1 << 1.111111, 2, 3.33333, 4, 5, 6, 7, 8.888888, 9;
 
IOFormat CommaInitFmt(StreamPrecision, DontAlignCols, ", ", ", ", "", "", " << ", ";");
IOFormat CleanFmt(4, 0, ", ", "\n", "[", "]");
IOFormat OctaveFmt(StreamPrecision, 0, ", ", ";\n", "", "", "[", "]");
IOFormat HeavyFmt(FullPrecision, 0, ", ", ";\n", "[", "]", "[", "]");
 
std::cout << m1 << sep;
std::cout << m1.format(CommaInitFmt) << sep;
std::cout << m1.format(CleanFmt) << sep;
std::cout << m1.format(OctaveFmt) << sep;
std::cout << m1.format(HeavyFmt) << sep;

Вывод:

1.11    2 3.33
   4    5    6
   7 8.89    9
----------------------------------------
 << 1.11, 2, 3.33, 4, 5, 6, 7, 8.89, 9;
----------------------------------------
[1.111,     2, 3.333]
[    4,     5,     6]
[    7, 8.889,     9]
----------------------------------------
[1.11,    2, 3.33;
    4,    5,    6;
    7, 8.89,    9]
----------------------------------------
[[1.111111,        2,  3.33333];
 [       4,        5,        6];
 [       7, 8.888888,        9]]
----------------------------------------
См. также
DenseBase::format(), класс WithFormat
IOFormat (int _precision=StreamPrecision, int _flags=0, const std::string &_coeffSeparator=" ", const std::string &_rowSeparator="\n", const std::string &_rowPrefix="", const std::string &_rowSuffix="", const std::string &_matPrefix="", const std::string &_matSuffix="", const char _fill=' ')

IOFormat()

Eigen::IOFormat::IOFormat ( int _precision = StreamPrecision,
int _flags = 0,
const std::string & _coeffSeparator = " ",
const std::string & _rowSeparator = "\n",
const std::string & _rowPrefix = "",
const std::string & _rowSuffix = "",
const std::string & _matPrefix = "",
const std::string & _matSuffix = "",
const char _fill = ' '
)
inline

Конструктор по умолчанию, см. класс IOFormat для значения параметров


Документация для этого класса была сгенерирована из следующего файла:
  • IO.h

© Eigen.
Licensed under the MPL2 License.
https://eigen.tuxfamily.org/dox/structEigen_1_1IOFormat.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API