|
| | PIMathMatrix (const uint cols=0, const uint rows=0, const Type &f=Type()) |
| | Конструктор класса PIMathMatrix, который создает матрицу.
|
| | PIMathMatrix (const uint cols, const uint rows, const PIVector< Type > &val) |
| | Конструктор класса PIMathMatrix, который создает матрицу.
|
| | PIMathMatrix (const PIVector< PIVector< Type > > &val) |
| | Конструктор класса PIMathMatrix, который создает матрицу.
|
| | PIMathMatrix (const PIVector2D< Type > &val) |
| | Конструктор класса PIMathMatrix, который создает матрицу.
|
| PIMathMatrix< Type > & | setCol (uint index, const PIMathVector< Type > &v) |
| | Определить выбранный столбец матрицы.
|
| PIMathMatrix< Type > & | setRow (uint index, const PIMathVector< Type > &v) |
| | Определить выбранную строку матрицы.
|
| PIMathMatrix< Type > & | swapCols (uint r0, uint r1) |
| | Метод меняющий местами выбранные строки в матрице.
|
| PIMathMatrix< Type > & | swapRows (uint c0, uint c1) |
| | Метод меняющий местами выбранные строки в матрице.
|
| PIMathMatrix< Type > & | fill (const Type &v) |
| | Метод заполняющий матрицу выбранным значением.
|
| bool | isSquare () const |
| | Метод, проверющий является ли матрица квадратной.
|
| bool | isIdentity () const |
| | Метод, проверяющий содержит ли главная диагональ единицы и все остальные поля нули.
|
| bool | isNull () const |
| | Метод, являются ли все элементы матрицы нулями.
|
| bool | isValid () const |
| | Метод, который проверяет является ли матрица пустой.
|
| void | operator+= (const PIMathMatrix< Type > &sm) |
| | Сложение с присваиванием с матрицей sm.
|
| void | operator-= (const PIMathMatrix< Type > &sm) |
| | Вычитание с присваиванием с матрицей sm.
|
| void | operator*= (const Type &v) |
| | Умножение с присваиванием с матрицей v.
|
| void | operator/= (const Type &v) |
| | Деление с присваиванием с матрицей v.
|
| PIMathMatrix< Type > | operator- () const |
| | Операция отрицания
|
| PIMathMatrix< Type > | operator+ (const PIMathMatrix< Type > &sm) const |
| | Матричное сложение.
|
| PIMathMatrix< Type > | operator- (const PIMathMatrix< Type > &sm) const |
| | Матричная разность.
|
| PIMathMatrix< Type > | operator* (const Type &v) const |
| | Матричное произведение.
|
| PIMathMatrix< Type > | operator/ (const Type &v) const |
| | Матричное деление.
|
| Type | determinant (bool *ok=0) const |
| | Вычислить определитель матрицы.
|
| Type | trace () const |
| | Вычислить след матрицы.
|
| PIMathMatrix< Type > & | toUpperTriangular (bool *ok=0) |
| | Преобразование матрицы в верхнетреугольную.
|
| PIMathMatrix< Type > & | invert (bool *ok=0, PIMathVector< Type > *sv=0) |
| | Операция обращения матрицы.
|
| PIMathMatrix< Type > | inverted (bool *ok=0) const |
| | Операция обращения матрицы.
|
| PIMathMatrix< Type > | transposed () const |
| | Транспонирование матрицы.
|
| | PIVector2D () |
| | Создаёт пустой двумерный массив. Память не выделяется.
|
| | PIVector2D (size_t rows, size_t cols, const Type &f=Type()) |
| | Создаёт двумерный массив заданного размера, заполненный копиями f.
|
| | PIVector2D (size_t rows, size_t cols, const PIVector< Type > &v) |
| | Создаёт двумерный массив из существующего одномерного вектора, изменяя его форму.
|
| | PIVector2D (size_t rows, size_t cols, PIVector< Type > &&v) |
| | Конструктор перемещения из существующего одномерного вектора, изменяя его форму.
|
| | PIVector2D (const PIVector< PIVector< Type > > &v) |
| | Создаёт двумерный массив из вектора векторов (рваного массива). Предполагается, что все внутренние векторы имеют одинаковый размер.
|
| size_t | rows () const |
| | Возвращает количество строк в двумерном массиве.
|
| size_t | cols () const |
| | Возвращает количество столбцов в двумерном массиве.
|
| size_t | size () const |
| | Возвращает общее количество элементов (строки * столбцы).
|
| ssize_t | size_s () const |
| | Возвращает общее количество элементов в виде знакового числа.
|
| size_t | length () const |
| | Возвращает общее количество элементов (то же, что и size()).
|
| size_t | capacity () const |
| | Возвращает количество элементов, для которого сейчас выделена память во внутреннем контейнере.
|
| bool | isEmpty () const |
| | Проверяет, пуст ли массив.
|
| bool | isNotEmpty () const |
| | Проверяет, не пуст ли массив.
|
| Type & | element (size_t row, size_t col) |
| | Возвращает ссылку на элемент по заданной строке и столбцу.
|
|
const Type & | element (size_t row, size_t col) const |
| | Возвращает константную ссылку на элемент по заданной строке и столбцу.
|
| const Type & | at (size_t row, size_t col) const |
| | Возвращает константную ссылку на элемент по заданной строке и столбцу
|
|
Type & | operator[] (const Index &idx) |
| | Возвращает ссылку на элемент по заданному Index.
|
|
const Type & | operator[] (const Index &idx) const |
| | Возвращает константную ссылку на элемент по заданному Index.
|
|
Type & | element (const Index &idx) |
| | Возвращает ссылку на элемент по заданному Index.
|
|
const Type & | element (const Index &idx) const |
| | Возвращает константную ссылку на элемент по заданному Index.
|
|
const Type & | at (const Index &idx) const |
| | Возвращает константную ссылку на элемент по заданному Index (проверка границ только в отладочном режиме).
|
| Row | operator[] (size_t index) |
| | Возвращает прокси-объект для строки по заданному индексу для модификации.
|
|
RowConst | operator[] (size_t index) const |
| | Возвращает прокси-объект для строки по заданному индексу только для чтения.
|
| Type * | data (size_t index=0) |
| | Возвращает указатель на внутренние плоские данные, начиная с опционального смещения.
|
|
const Type * | data (size_t index=0) const |
| | Возвращает константный указатель на внутренние плоские данные, начиная с опционального смещения.
|
| Row | row (size_t index) |
| | Возвращает прокси-объект для строки по заданному индексу для модификации.
|
|
RowConst | row (size_t index) const |
| | Возвращает прокси-объект для строки по заданному индексу только для чтения.
|
| Col | col (size_t index) |
| | Возвращает прокси-объект для столбца по заданному индексу для модификации.
|
|
ColConst | col (size_t index) const |
| | Возвращает прокси-объект для столбца по заданному индексу только для чтения.
|
|
PIVector2D< Type > & | setRow (size_t row, const RowConst &other) |
| | Заменяет строку содержимым объекта RowConst только для чтения.
|
|
PIVector2D< Type > & | setRow (size_t row, const PIVector< Type > &other) |
| | Заменяет строку содержимым PIVector.
|
| PIVector2D< Type > & | addRow (const RowConst &other) |
| | Добавляет новую строку в конец массива из другого объекта Row.
|
|
PIVector2D< Type > & | addRow (const PIVector< Type > &other) |
| | Добавляет новую строку в конец массива из PIVector.
|
| PIVector2D< Type > & | appendRows (size_t count, const Type &f=Type()) |
| | Добавляет count новых пустых строк в конец массива, заполненных значением f.
|
| PIVector2D< Type > & | appendColumns (size_t count, const Type &f=Type()) |
| | Добавляет count новых пустых столбцов в конец каждой строки массива.
|
| PIVector2D< Type > & | deleteRows (size_t row_start, size_t count) |
| | Удаляет count строк, начиная с указанного индекса строки.
|
| PIVector2D< Type > & | deleteColumns (size_t col_start, size_t count) |
| | Удаляет указанные столбцы из массива и обновляет количество столбцов.
|
|
PIVector2D< Type > & | addColumn (const ColConst &other) |
| | Добавляет новую строку в конец массива из ColConst.
|
|
PIVector2D< Type > & | addColumn (const PIVector< Type > &other) |
| | Добавляет новую строку в конец массива из PIVector.
|
| PIVector2D< Type > & | resize (size_t rows, size_t cols, const Type &f=Type()) |
| | Изменяет размер двумерного массива.
|
| bool | operator== (const PIVector2D< Type > &t) const |
| | Оператор равенства.
|
|
bool | operator!= (const PIVector2D< Type > &t) const |
| | Оператор неравенства.
|
| PIVector< PIVector< Type > > | toVectors () const |
| | Преобразует двумерный массив в вектор векторов (PIVector<PIVector<T>>).
|
|
const PIVector< Type > & | asPlainVector () const |
| | Возвращает константную ссылку на внутренний плоский PIVector.
|
|
PIVector< Type > & | asPlainVector () |
| | Возвращает ссылку на внутренний плоский PIVector.
|
|
PIVector< Type > | toPlainVector () const |
| | Возвращает копию внутреннего плоского PIVector.
|
| void | swap (PIVector2D< Type > &other) |
| | Меняет местами этот двумерный массив с другим.
|
| void | clear () |
| | Очищает массив, удаляя все элементы и устанавливая размеры в 0.
|
| bool | contains (const Type &e) const |
| | Проверяет, содержит ли внутренний плоский вектор элемент e.
|
| int | entries (const Type &e) const |
| | Подсчитывает количество вхождений e во внутреннем плоском векторе.
|
| int | entries (std::function< bool(const Type &e)> test) const |
| | Подсчитывает элементы в плоском векторе, проходящие test.
|
| Index | indexOf (const Type &e) const |
| | Возвращает первый индекс (строка, столбец) элемента e в двумерном массиве.
|
| Index | indexWhere (std::function< bool(const Type &e)> test, ssize_t start=0) const |
| | Возвращает первый индекс (строка, столбец) в двумерном массиве, проходящий test.
|
| Index | lastIndexOf (const Type &e, ssize_t start=-1) const |
| | Возвращает последний индекс (строка, столбец) элемента e в двумерном массиве.
|
| Index | lastIndexWhere (std::function< bool(const Type &e)> test, ssize_t start=-1) const |
| | Возвращает последний индекс (строка, столбец) в двумерном массиве, проходящий test.
|
| bool | any (std::function< bool(const Type &e)> test) const |
| | Проверяет, проходит ли какой-либо элемент в плоском векторе test.
|
| bool | every (std::function< bool(const Type &e)> test) const |
| | Проверяет, проходят ли все элементы в плоском векторе test.
|
| PIVector2D< Type > & | fill (const Type &e=Type()) |
| | Заполняет весь двумерный массив копиями e.
|
| PIVector2D< Type > & | fill (std::function< Type(size_t i)> f) |
| | Заполняет весь двумерный массив, используя функцию-генератор f на основе плоского индекса.
|
|
PIVector2D< Type > & | assign (const Type &e=Type()) |
| | То же, что и fill().
|
| PIVector2D< Type > & | assign (size_t rows, size_t cols, const Type &f=Type()) |
| | Задаёт новый размер и заполняет значением.
|
| PIVector2D< Type > | transposed () const |
| | Возвращает транспонированный двумерный массив (строки становятся столбцами и наоборот).
|
| PIVector2D< Type > & | reverseRows () |
| | Изменяет порядок строк на обратный на месте.
|
| PIVector2D< Type > & | reverseColumns () |
| | Изменяет порядок столбцов в каждой строке на обратный на месте.
|
| PIVector2D< Type > | getRange (size_t rowStart, size_t rowCount, size_t colStart, size_t colCount) const |
| | Возвращает подмассив (диапазон строк и столбцов).
|
| void | forEach (std::function< void(const Type &)> func) const |
| | Применяет функцию к каждому элементу (только чтение).
|
| PIVector2D< Type > & | forEach (std::function< void(Type &)> func) |
| | Применяет функцию к каждому элементу (с возможностью изменения).
|
| PIVector2D< ST > | map (std::function< ST(const Type &e)> f) const |
| | Применяет функцию к каждому элементу и возвращает новый двумерный массив другого типа.
|
| PIVector2D< ST > | mapIndexed (std::function< ST(size_t row, size_t col, const Type &e)> f) const |
| | Применяет функцию (с индексами строки и столбца) к каждому элементу и возвращает новый двумерный массив.
|
| PIVector2D< Type > & | forEachRow (std::function< void(Row)> f) |
| | Применяет функцию к каждой строке (с возможностью изменения).
|
|
void | forEachRow (std::function< void(RowConst)> f) const |
| | Применяет функцию к каждой строке (только чтение).
|
|
PIVector2D< Type > & | forEachColumn (std::function< void(Col)> f) |
| | Применяет функцию к каждому столбцу (с возможностью изменения).
|
| void | forEachColumn (std::function< void(ColConst)> f) const |
| | Применяет функцию к каждому столбцу (только чтение).
|
| ST | reduce (std::function< ST(const Type &e, const ST &acc)> f, const ST &initial=ST()) const |
| | Аккумулирует значение по всем элементам.
|
| ST | reduceIndexed (std::function< ST(size_t row, size_t col, const Type &e, const ST &acc)> f, const ST &initial=ST()) const |
| | Аккумулирует значение по всем элементам с индексами.
|
| PIVector2D< Type > & | removeRow (size_t row) |
| | Удаляет строку из двумерного массива.
|
| PIVector2D< Type > & | removeColumn (size_t col) |
| | Удаляет столбец из двумерного массива.
|
| PIVector2D< Type > & | removeRowsWhere (std::function< bool(const RowConst &)> test) |
| | Удаляет все строки, удовлетворяющие условию.
|
| PIVector2D< Type > & | removeColumnsWhere (std::function< bool(const ColConst &)> test) |
| | Удаляет все столбцы, удовлетворяющие условию.
|
| PIVector2D< Type > | filterRows (std::function< bool(const RowConst &)> test) const |
| | Возвращает новый двумерный массив, содержащий только строки, прошедшие проверку.
|
| PIVector2D< Type > | filterColumns (std::function< bool(const ColConst &)> test) const |
| | Возвращает новый двумерный массив, содержащий только столбцы, прошедшие проверку.
|