![]() |
PIP 5.5.3
Platform-Independent Primitives
|
Класс для работы с матрицами фиксированного размера и типа данных. Подробнее...
#include <pimathmatrix.h>
Открытые члены | |
| PIMathMatrixT (const Type &new_value=Type()) | |
| Создает PIMathMatrixT и заполняет её из new_value. | |
| PIMathMatrixT (const PIVector< Type > &val) | |
| Создает PIMathMatrixT и заполняет её из PIVector. | |
| PIMathMatrixT (std::initializer_list< Type > init_list) | |
| Создает PIMathMatrixT и заполняет её из списка инициализации C++11. | |
| constexpr uint | cols () const |
| Метод возвращающий количество столбцов в матрице. Подробнее... | |
| constexpr uint | rows () const |
| Метод возвращающий количество строк в матрице. Подробнее... | |
| PIMathVectorT< Rows, Type > | col (uint index) |
| Метод возвращающий выбранную строку в формате PIMathVectorT. Подробнее... | |
| PIMathVectorT< Cols, Type > | row (uint index) |
| Method which returns the selected row in PIMathVectorT format. Подробнее... | |
| PIMathMatrixT< Rows, Cols, Type > & | setCol (uint index, const PIMathVectorT< Rows, Type > &v) |
| Определить выбранный столбец матрицы. Подробнее... | |
| PIMathMatrixT< Rows, Cols, Type > & | setRow (uint index, const PIMathVectorT< Cols, Type > &v) |
| Определить выбранную строку матрицы. Подробнее... | |
| PIMathMatrixT< Rows, Cols, Type > & | swapRows (uint rf, uint rs) |
| Метод, меняющий местами выбранные строки в матрице. Подробнее... | |
| PIMathMatrixT< Rows, Cols, Type > & | swapCols (uint cf, uint cs) |
| Метод, меняющий местами выбранные столбцы в матрице. Подробнее... | |
| PIMathMatrixT< Rows, Cols, Type > & | fill (const Type &v) |
| Метод, заполняющий матрицу выбранным значением. Подробнее... | |
| constexpr bool | isSquare () const |
| Метод, проверяющий является ли матрицей квадратной. Подробнее... | |
| bool | isIdentity () const |
| Метод, проверяющий содержит ли главная диагональ единицы и все остальные поля нули. Подробнее... | |
| bool | isNull () const |
| Метод, являются ли все элементы матрицы нулями. Подробнее... | |
| Type | at (uint row, uint col) const |
Доступ только для чтения к элементу по номеру строки row и номеру столбца col. Подробнее... | |
| Type & | element (uint row, uint col) |
Полный доступ к элементу по номеру строки row и номеру столбца col. Подробнее... | |
| const Type & | element (uint row, uint col) const |
Доступ только для чтения к элементу по номеру строки row и номеру столбца col. Подробнее... | |
| Type * | operator[] (uint row) |
| Полный доступ к указателю на строку матрицы. Подробнее... | |
| const Type * | operator[] (uint row) const |
| Доступ только для чтения к указателю на строку матрицы. Подробнее... | |
| bool | operator== (const PIMathMatrixT< Rows, Cols, Type > &sm) const |
| Сравнение матриц. Подробнее... | |
| bool | operator!= (const PIMathMatrixT< Rows, Cols, Type > &sm) const |
| Отрицательное сравнение матриц. Подробнее... | |
| void | operator+= (const PIMathMatrixT< Rows, Cols, Type > &sm) |
Сложение с присваиванием с матрицей sm. Подробнее... | |
| void | operator-= (const PIMathMatrixT< Rows, Cols, Type > &sm) |
Вычитание с присваиванием с матрицей sm. Подробнее... | |
| void | operator*= (const Type &v) |
Умножение с присваиванием с матрицей v. Подробнее... | |
| void | operator/= (const Type &v) |
Деление с присваиванием с матрицей v. Подробнее... | |
| PIMathMatrixT< Rows, Cols, Type > | operator- () const |
| Операция отрицания Подробнее... | |
| PIMathMatrixT< Rows, Cols, Type > | operator+ (const PIMathMatrixT< Rows, Cols, Type > &sm) const |
| Матричное сложение. Подробнее... | |
| PIMathMatrixT< Rows, Cols, Type > | operator- (const PIMathMatrixT< Rows, Cols, Type > &sm) const |
| Матричная разность. Подробнее... | |
| PIMathMatrixT< Rows, Cols, Type > | operator* (const Type &v) const |
| Умножение матрицы на константу. Подробнее... | |
| PIMathMatrixT< Rows, Cols, Type > | operator/ (const Type &v) const |
| Деление матрицы на константу. Подробнее... | |
| Type | determinant (bool *ok=0) const |
| Вычислить определитель матрицы. Подробнее... | |
| Type | trace () const |
| Вычислить след матрицы. Подробнее... | |
| PIMathMatrixT< Rows, Cols, Type > & | toUpperTriangular (bool *ok=0) |
| Преобразование матрицы в верхнетреугольную. Подробнее... | |
| PIMathMatrixT< Rows, Cols, Type > & | invert (bool *ok=0) |
| Операция обращения матрицы. Подробнее... | |
| PIMathMatrixT< Rows, Cols, Type > | inverted (bool *ok=0) const |
| Операция обращения матрицы. Подробнее... | |
| PIMathMatrixT< Cols, Rows, Type > | transposed () const |
| Транспонирование матрицы. Подробнее... | |
| PIMathMatrixT< Rows, Cols, Type > & | rotate (Type angle) |
| Операция поворота матрицы. Подробнее... | |
| PIMathMatrixT< Rows, Cols, Type > | rotated (Type angle) |
| Операция поворота матрицы. Подробнее... | |
| template<typename T > | |
| PIMathMatrixT< Rows, Cols, T > | toType () const |
| Возвращает эту матрицу с другим типом элементов. | |
| template<uint SubRows, uint SubCols = SubRows> | |
| PIMathMatrixT< SubRows, SubCols, Type > | submatrix (int row_offset=0, int col_offset=0) const |
| Возвращает подматрицу с размерами SubRows x SubCols. Элементы берутся с координат "row_offset" и "col_offset". Подробнее... | |
| template<uint SubRows, uint SubCols = SubRows> | |
| PIMathMatrixT< Rows, Cols, Type > & | setSubmatrix (int row_index, int col_index, const PIMathMatrixT< SubRows, SubCols, Type > &m) |
| Устанавливает подматрицу "m" в координаты "row_index" и "col_index". Подробнее... | |
Открытые статические члены | |
| static PIMathMatrixT< Rows, Cols, Type > | identity () |
| Создает матрицу, главная диагональ которой заполнена единицами, а остальные элементы — нулями. Подробнее... | |
Класс для работы с матрицами фиксированного размера и типа данных.
В отличие от PIMathMatrix не занимается динамическим выделением памяти и связанными с этим операциями. То есть он тривиально копируемый. Содержит проверки времени компиляции на несоответствие размера при различных математических операциях, что позволяет заранее выявлять ошибки.
| `Rows` | количество строк матрицы. |
| `Сols` | количество столбцов матрицы. |
| `Type`тип | данных матрицы. Здесь можеть быть базовый тип данных C++ или различные классы, где реализованы арифметические операторы(=, +=, -=, *=, /=, ==, !=, +, -, *, /) языка C++. |
|
inlinestatic |
Создает матрицу, главная диагональ которой заполнена единицами, а остальные элементы — нулями.
|
inlineconstexpr |
Метод возвращающий количество столбцов в матрице.
|
inlineconstexpr |
Метод возвращающий количество строк в матрице.
|
inline |
Метод возвращающий выбранную строку в формате PIMathVectorT.
Если вы введете индекс вне границ матрицы, то поведение не определено ("undefined behavior").
| index | номер выбранного столбца. |
|
inline |
Method which returns the selected row in PIMathVectorT format.
If you enter an index out of the border of the matrix there will be "undefined behavior".
| index | is the number of the selected row. |
Метод возвращающий выбранный столбец в формате PIMathVectorT.
Если вы введете индекс вне границ матрицы, то поведение не определено ("undefined behavior").
| index | номер выбранной строки. |
|
inline |
Определить выбранный столбец матрицы.
Если вы введете индекс вне границ матрицы, то поведение не определено ("undefined behavior").
| index | номер выбранного столбца. |
| v | вектор типа PIMathVectorT<Rows, Type>, которым необходимо заполнить столбец. |
|
inline |
Определить выбранную строку матрицы.
Если вы введете индекс вне границ матрицы, то поведение не определено ("undefined behavior").
| index | номер выбранной строки. |
| v | вектор типа PIMathVectorT<Cols, Type>, которым необходимо заполнить строку. |
|
inline |
Метод, меняющий местами выбранные строки в матрице.
Если вы введете индекс вне границ матрицы, то поведение не определено ("undefined behavior").
| rf | номер первой выбранной строки. |
| rs | номер второй выбранной строки. |
|
inline |
Метод, меняющий местами выбранные столбцы в матрице.
Если вы введете индекс вне границ матрицы, то поведение не определено ("undefined behavior").
| rf | номер первого выбранного столбца. |
| rs | номер второго выбранного столбца. |
|
inline |
Метод, заполняющий матрицу выбранным значением.
| v | параметр тип и значения, которого выбираются и заносятся в матрицу. |
|
inlineconstexpr |
Метод, проверяющий является ли матрицей квадратной.
|
inline |
Метод, проверяющий содержит ли главная диагональ единицы и все остальные поля нули.
|
inline |
Метод, являются ли все элементы матрицы нулями.
|
inline |
Доступ только для чтения к элементу по номеру строки row и номеру столбца col.
Если вы введете индекс вне границ матрицы, то поведение не определено ("undefined behavior").
| row | номер строки матрицы. |
| col | номер столбца матрицы. |
|
inline |
Полный доступ к элементу по номеру строки row и номеру столбца col.
Если вы введете индекс вне границ матрицы, то поведение не определено ("undefined behavior").
| row | номер строки матрицы. |
| col | номер столбца матрицы. |
|
inline |
Доступ только для чтения к элементу по номеру строки row и номеру столбца col.
Если вы введете индекс вне границ матрицы, то поведение не определено ("undefined behavior").
| row | номер строки матрицы. |
| col | номер столбца матрицы. |
|
inline |
Полный доступ к указателю на строку матрицы.
Если вы введете индекс вне границ матрицы, то поведение не определено ("undefined behavior").
| row | номер строки матрицы. |
|
inline |
Доступ только для чтения к указателю на строку матрицы.
Если вы введете индекс вне границ матрицы, то поведение не определено ("undefined behavior").
| row | номер строки матрицы. |
|
inline |
Сравнение матриц.
| sm | матрица для сравнения. |
|
inline |
Отрицательное сравнение матриц.
| sm | матрица для сравнения. |
|
inline |
Сложение с присваиванием с матрицей sm.
| sm | матрица для сложения с присваиванием. |
|
inline |
Вычитание с присваиванием с матрицей sm.
| sm | матрица для вычитания с присваиванием. |
|
inline |
Умножение с присваиванием с матрицей v.
| sm | матрица для умножения с присваиванием. |
|
inline |
Деление с присваиванием с матрицей v.
| sm | матрица для деления с присваиванием. |
|
inline |
Операция отрицания
|
inline |
Матричное сложение.
| sm | матричное слагаемое. |
|
inline |
Матричная разность.
| sm | матричное вычитаемое. |
|
inline |
Умножение матрицы на константу.
| v | множитель. |
|
inline |
Деление матрицы на константу.
| v | делитель. |
|
inline |
Вычислить определитель матрицы.
Работает только с квадратными, ненулевыми и обратимыми матрицами.
| ok | это параметр, с помощью которого мы можем узнать, правильно ли сработал метод. |
|
inline |
Вычислить след матрицы.
Работает только с квадратными матрицами.
|
inline |
Преобразование матрицы в верхнетреугольную.
Работает только с квадратными, ненулевыми и обратимыми матрицами.
| ok | это параметр, с помощью которого мы можем узнать, правильно ли сработал метод. |
|
inline |
Операция обращения матрицы.
Работает только с квадратными, ненулевыми и обратимыми матрицами.
| ok | это параметр, с помощью которого мы можем узнать, правильно ли сработал метод. |
|
inline |
Операция обращения матрицы.
Работает только с квадратными, ненулевыми и обратимыми матрицами.
| ok | это параметр, с помощью которого мы можем узнать, правильно ли сработал метод. |
|
inline |
Транспонирование матрицы.
Работает только с квадратными матрицами.
|
inline |
Операция поворота матрицы.
Работает только с матрицами 2x2.
|
inline |
Операция поворота матрицы.
Работает только с матрицами 2x2.
|
inline |
Возвращает подматрицу с размерами SubRows x SubCols. Элементы берутся с координат "row_offset" и "col_offset".
Координаты могут быть отрицательными. Возвращаемая матрица может быть любого размера. Если исходные элементы выходят за границы исходной матрицы, то в подматрице будут нули.
|
inline |
Устанавливает подматрицу "m" в координаты "row_index" и "col_index".
Присваивает значения из матрицы "m" в прямоугольную область текущией матрицы, ограниченную размерами "m", самой матрицы и границами, исходя из координат установки. Координаты могут быть отрицательными. Матрица "m" может быть любого размера. Возвращает ссылку на эту матрицу.