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()
| inline |
Конструктор по умолчанию, см. класс IOFormat для значения параметров
Документация для этого класса была сгенерирована из следующего файла:
© Eigen.
Licensed under the MPL2 License.
https://eigen.tuxfamily.org/dox/structEigen_1_1IOFormat.html