![]() |
VM2D
1.12
Vortex methods for 2D flows simulation
|
Шаблонный класс, определяющий вектор фиксированной длины
Фактически представляет собой массив, для которого определено большое количество различных операций.
Для доступа к элементам массива используется оператор [].
More...
#include <numvector.h>

Public Member Functions | |
| T & | operator[] (size_t i) |
| const T & | operator[] (size_t i) const |
| size_t | size () const |
| template<typename P > | |
| auto | operator& (const numvector< P, n > &y) const -> typename std::remove_const< decltype(this->data[0]*y[0])>::type |
| Оператор "&" скалярного умножения More... | |
| template<typename P > | |
| auto | operator^ (const numvector< P, 3 > &y) const -> numvector< typename std::remove_const< decltype(this->data[1]*y[2])>::type, 3 > |
| Оператор "^" векторного произведения More... | |
| template<typename P > | |
| auto | operator^ (const numvector< P, 2 > &y) const -> typename std::remove_const< decltype(this->data[0]*y[1])>::type |
| Оператор "^" вычисления третьей компоненты векторного произведения More... | |
| template<typename P > | |
| numvector< T, n > & | operator*= (P c) |
| Оператор "*=" домножения вектора на действительное число More... | |
| template<typename P > | |
| numvector< T, n > & | operator/= (P c) |
| Оператор "/=" деления вектора на действительное число More... | |
| template<typename P > | |
| numvector< T, n > & | operator+= (const numvector< P, n > &y) |
| Оператор "+=" прибавления другого вектора More... | |
| template<typename P > | |
| numvector< T, n > & | operator-= (const numvector< P, n > &y) |
| Оператор "-=" вычитания другого вектора More... | |
| template<typename P > | |
| auto | operator+ (const numvector< P, n > &y) const -> numvector< typename std::remove_const< decltype(this->data[0]+y[0])>::type, n > |
| Оператор "+" сложения двух векторов More... | |
| template<typename P > | |
| auto | operator- (const numvector< P, n > &y) const -> numvector< typename std::remove_const< decltype(this->data[0]-y[0])>::type, n > |
| Оператор "-" вычитания двух векторов More... | |
| template<typename P > | |
| auto | operator* (const P c) const -> numvector< typename std::remove_const< decltype(this->data[0]*c)>::type, n > |
| Оператор "*" умножения вектора на число (вектор слева, число справа) More... | |
| numvector< T, n > | operator- () const |
| Оператор "-" унарного минуса More... | |
| const numvector< T, n > & | operator+ () const |
| Оператор "+" унарного плюса More... | |
| template<typename P > | |
| bool | operator== (const numvector< P, n > &y) const |
| Оператор "==" логического равенства More... | |
| template<typename P > | |
| bool | operator!= (const numvector< P, n > &y) const |
| Перегрузка оператора "!=" логического неравенства More... | |
| auto | norm1 () const -> typename std::remove_const< typename std::remove_reference< decltype(this->data[0])>::type >::type |
| Вычисление 1-нормы вектора More... | |
| auto | norminf () const -> typename std::remove_const< typename std::remove_reference< decltype(this->data[0])>::type >::type |
| Вычисление inf-нормы вектора More... | |
| template<typename P = double> | |
| P | length () const |
| Вычисление 2-нормы (длины) вектора More... | |
| auto | length2 () const -> typename std::remove_const< typename std::remove_reference< decltype(this->data[0])>::type >::type |
| Вычисление квадрата нормы (длины) вектора More... | |
| template<typename P = double> | |
| auto | unit (P newlen=1) const -> numvector< typename std::remove_const< decltype(this->data[0]*newlen)>::type, n > |
| Вычисление орта вектора или вектора заданной длины, коллинеарного данному More... | |
| template<typename P = double> | |
| void | normalize (P newlen=1.0) |
| Нормирование вектора на заданную длину More... | |
| template<typename P > | |
| size_t | member (const P &s) const |
| Проверка вхождения элемента в вектор More... | |
| template<typename P > | |
| operator std::set< P > () const | |
| Приведение вектора к типу std::set. More... | |
| template<typename P > | |
| operator std::vector< P > () const | |
| Приведение вектора к типу std::vector. More... | |
| numvector< T, n > | rotateLeft (size_t k) const |
| "Вращение" вектора на несколько позиций влево More... | |
| numvector< T, 2 > | kcross () const |
| Геометрический поворот двумерного вектора на 90 градусов More... | |
| template<typename P = T> | |
| numvector< T, n > & | toZero (P val=0) |
| Установка всех компонент вектора в константу (по умолчанию — нуль) More... | |
| template<typename P > | |
| auto | dist2To (const numvector< P, n > &y) const -> typename std::remove_const< decltype(this->data[0]-y[0])>::type |
| Вычисление квадрата расстояния до другой точки More... | |
| template<typename R = double, typename P > | |
| R | distTo (const numvector< P, n > &y) |
| Вычисление расстояния между двумя точками More... | |
| numvector () | |
| Пустой конструктор More... | |
| template<typename P > | |
| numvector (const P c) | |
| Конструктор, инициализирующий весь вектор одной и той же константой More... | |
| numvector (const numvector< T, n > &vec) | |
| Нешаблонный конструктор копирования More... | |
| template<typename P > | |
| numvector (const numvector< P, n > &vec) | |
| Шаблонный конструктор копирования More... | |
| template<typename P > | |
| numvector (const std::vector< P > &vec) | |
| Конструктор инициализации с помощью std::vector. More... | |
| numvector (const std::initializer_list< T > &z) | |
| Нешаблонный конструктор инициализации списком More... | |
| template<typename P > | |
| numvector (const std::initializer_list< P > &z) | |
| Шаблонный конструктор инициализации списком More... | |
| template<typename P , size_t p> | |
| numvector (const numvector< P, p > &vec, T add=0) | |
| Явный конструктор инициализации вектором другой размерности More... | |
Protected Attributes | |
| T | data [n] |
Шаблонный класс, определяющий вектор фиксированной длины
Фактически представляет собой массив, для которого определено большое количество различных операций.
Для доступа к элементам массива используется оператор [].
| T | тип элементов вектора |
| n | длина вектора |
Definition at line 95 of file numvector.h.
|
inline |
Пустой конструктор
Definition at line 559 of file numvector.h.

|
inlineexplicit |
Конструктор, инициализирующий весь вектор одной и той же константой
| P | тип данных присваиваемой константы |
| [in] | c | значение, которым инициализируются все компоненты вектора |
Definition at line 567 of file numvector.h.
|
inline |
Нешаблонный конструктор копирования
| T | тип данных компонент вектора |
| n | длина вектора |
| [in] | vec | константная ссылка на копируемый вектор |
Definition at line 580 of file numvector.h.
|
inline |
Шаблонный конструктор копирования
| P | тип данных копируемого вектора |
| n | длина вектора |
| [in] | vec | константная ссылка на копируемый вектор |
Definition at line 594 of file numvector.h.
|
inline |
Конструктор инициализации с помощью std::vector.
| P | тип данных инициализирующего std::vector |
| n | длина вектора |
| [in] | vec | константная ссылка на инициализирующий вектор |
Definition at line 609 of file numvector.h.
|
inline |
Нешаблонный конструктор инициализации списком
| T | тип данных |
| [in] | z | константная ссылка на список инициализации |
Definition at line 625 of file numvector.h.
|
inline |
Шаблонный конструктор инициализации списком
| P | тип данных инициализирующего списка |
| [in] | z | константная ссылка на список инициализации |
Definition at line 642 of file numvector.h.
|
inlineexplicit |
Явный конструктор инициализации вектором другой размерности
| P | тип данных инициализирующего вектора |
| p | размерность инициализирующего вектора |
| [in] | vec | константная ссылка на инициализирующий вектор |
| [in] | add | элемент для заполнения при необходимости недостающих компонент (по умолчанию 0) |
Definition at line 662 of file numvector.h.
|
inline |
Вычисление квадрата расстояния до другой точки
| P | тип данных второй точки |
| [in] | y | константная ссылка на радиус-вектор второй точки |
Definition at line 538 of file numvector.h.
|
inline |
Вычисление расстояния между двумя точками
| P | тип данных второй точки |
| R | тип данных результата (по умолчанию double) |
| [in] | y | константная ссылка на радиус-вектор второй точки |
Definition at line 551 of file numvector.h.
|
inline |
Геометрический поворот двумерного вектора на 90 градусов
Исходный вектор при этом не изменяется
Эквивалентно умножению слева на орт третьей оси, т.е. \( \vec k \times \vec r \)
| T | тип данных |
Definition at line 507 of file numvector.h.

|
inline |
Вычисление 2-нормы (длины) вектора
Корень из скалярного квадрата вектора
| P | тип результата (по умолчанию double) |
Definition at line 371 of file numvector.h.

|
inline |
Вычисление квадрата нормы (длины) вектора
Скалярный квадрат вектора
Definition at line 383 of file numvector.h.

|
inline |
Проверка вхождения элемента в вектор
| P | тип данных проверяемого элемента |
| [in] | s | проверяемый элемент |
Definition at line 430 of file numvector.h.
|
inline |
Вычисление 1-нормы вектора
Сумма модулей компонент вектора
Definition at line 337 of file numvector.h.
|
inline |
Нормирование вектора на заданную длину
Если в качестве новой длины указано отрицательное число — у вектора будет изменено направление
| P | тип числа, задающего длину вектора |
| [in] | newlen | новая длина вектора (по умолчанию 1.0) |
Definition at line 416 of file numvector.h.

|
inline |
Вычисление inf-нормы вектора
Наибольшая по модулю компонента вектора
Definition at line 351 of file numvector.h.
|
inline |
Приведение вектора к типу std::set.
| P | тип данных компонент множества |
Definition at line 446 of file numvector.h.
|
inline |
Приведение вектора к типу std::vector.
| P | тип данных компонент std::vector |
Definition at line 460 of file numvector.h.
|
inline |
Перегрузка оператора "!=" логического неравенства
| P | тип данных компонент вектора, с которым производится сравнение |
| n | длина вектора |
| [in] | y | константная ссылка на сравниваемый вектор |
Definition at line 324 of file numvector.h.
|
inline |
Оператор "&" скалярного умножения
| P | тип данных компонент вектора - второго сомножителя |
| n | длина обоих векторов |
| [in] | y | константная ссылка на второй множитель |
Definition at line 123 of file numvector.h.
|
inline |
Оператор "*" умножения вектора на число (вектор слева, число справа)
| P | тип данных множителя |
| n | длина вектора |
| [in] | c | число-множитель |
Definition at line 267 of file numvector.h.
|
inline |
Оператор "*=" домножения вектора на действительное число
| T | тип данных компонент вектора |
| P | тип данных множителя |
| n | длина вектора |
| [in] | c | числовой множитель типа, приводимого к типу компонент вектора |
Definition at line 172 of file numvector.h.
|
inline |
Оператор "+" сложения двух векторов
| P | тип данных компонент вектора - второго слагаемого |
| n | длина вектора |
| [in] | y | константная ссылка на прибавляемый вектор |
Definition at line 235 of file numvector.h.
|
inline |
Оператор "+" унарного плюса
| T | тип данных компонент вектора |
| n | длина вектора |
Definition at line 295 of file numvector.h.
|
inline |
Оператор "+=" прибавления другого вектора
| T | тип данных компонент вектора |
| P | тип данных компонент прибавляемого вектора |
| n | длина вектора |
| [in] | y | константная ссылка на прибавляемый вектор |
Definition at line 204 of file numvector.h.
|
inline |
Оператор "-" вычитания двух векторов
| P | тип данных компонент вектора - вычитаемого |
| n | длина вектора |
| [in] | y | константная ссылка на вычитаемый вектор |
Definition at line 251 of file numvector.h.
|
inline |
Оператор "-" унарного минуса
| T | тип данных компонент вектора |
| n | длина вектора |
Definition at line 281 of file numvector.h.
|
inline |
Оператор "-=" вычитания другого вектора
| T | тип данных компонент вектора |
| P | тип данных компонент вычитаемого вектора |
| n | длина вектора |
| [in] | y | константная ссылка на вычитаемый вектор |
Definition at line 220 of file numvector.h.
|
inline |
Оператор "/=" деления вектора на действительное число
| T | тип данных компонент вектора |
| P | тип данных множителя |
| n | длина вектора |
| [in] | c | числовой делитель типа, приводимого к типу компонент вектора |
Definition at line 188 of file numvector.h.
|
inline |
Оператор "==" логического равенства
| P | тип данных компонент вектора, с которым производится сравнение |
| n | длина вектора |
| [in] | y | константная ссылка на сравниваемый вектор |
Definition at line 308 of file numvector.h.
|
inline |
Definition at line 101 of file numvector.h.
|
inline |
Definition at line 106 of file numvector.h.
|
inline |
Оператор "^" векторного произведения
Определен только для трехмерных векторов
| P | тип данных компонент вектора - второго сомножителя |
| [in] | y | константная ссылка на второй множитель |
Definition at line 140 of file numvector.h.
|
inline |
Оператор "^" вычисления третьей компоненты векторного произведения
Определен только для двумерных векторов
| P | тип данных компонент вектора - второго множителя |
| [in] | y | константная ссылка на второй множитель |
Definition at line 158 of file numvector.h.
|
inline |
"Вращение" вектора на несколько позиций влево
Исходный вектор при этом не изменяется
| T | тип данных компонент вектора |
| n | длина вектора |
| [in] | k | количество позиций, на которые производится "вращение" |
Definition at line 478 of file numvector.h.
|
inline |
Definition at line 111 of file numvector.h.
|
inline |
Установка всех компонент вектора в константу (по умолчанию — нуль)
| T | тип данных компонент вектора |
| P | тип данных константы |
| n | длина вектора |
| [in] | val | константа, значению которой приравниваются все компоненты вектора (по умолчанию 0) |
Definition at line 524 of file numvector.h.

|
inline |
Вычисление орта вектора или вектора заданной длины, коллинеарного данному
Если в качестве новой длины указано отрицательное число — вектор будет противоположно направленным
| P | тип числа, задающего длину вектора |
| [in] | newlen | длина получаемого вектора (по умолчанию 1.0) |
Definition at line 399 of file numvector.h.

|
protected |
Definition at line 98 of file numvector.h.