VM2D 1.14
Vortex methods for 2D flows simulation
Loading...
Searching...
No Matches
numvector.h File Reference

Описание класса numvector. More...

#include <array>
#include <cmath>
#include <cstring>
#include <initializer_list>
#include <ostream>
#include <set>
#include <vector>
Include dependency graph for numvector.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  VMlib::numvector< T, n >
 Шаблонный класс, определяющий вектор фиксированной длины
Фактически представляет собой массив, для которого определено большое количество различных операций.
Для доступа к элементам массива используется оператор []. More...
 

Namespaces

namespace  VMlib
 

Macros

#define HD
 
#define DEPRECATED
 

Functions

template<typename T , size_t n>
numvector< T, n > VMlib::operator* (double c, const numvector< T, n > &x)
 Оператор "*" умножения вектора на число (число слева, вектор справа)
 
template<typename T , typename P , size_t n>
auto VMlib::operator* (const P c, const numvector< T, n > &x) -> numvector< typename std::remove_const< decltype(x[0] *c)>::type, n >
 Оператор "*" умножения вектора на число (число слева, вектор справа)
 
template<typename T , typename P , typename R >
void VMlib::cross (const numvector< T, 3 > &x, const numvector< P, 3 > &y, numvector< R, 3 > &z)
 Быстрое вычисление векторного произведения
 
template<typename T , typename P , size_t n>
auto VMlib::dist2 (const numvector< T, n > &x, const numvector< P, n > &y) -> typename std::remove_const< decltype(x[0] - y[0])>::type
 Вычисление квадрата расстояния между двумя точками
 
template<typename R = double, typename T , typename P , size_t n>
VMlib::dist (const numvector< T, n > &x, const numvector< P, n > &y)
 Вычисление расстояния между двумя точками
 
template<typename T , size_t n>
std::ostream & VMlib::operator<< (std::ostream &str, const numvector< T, n > &x)
 Оператор "<<" вывода вектора в поток
 
template<typename T , typename P , typename R , typename S , size_t n>
std::pair< numvector< T, n >, numvector< P, n > > & VMlib::operator+= (std::pair< numvector< T, n >, numvector< P, n > > &a, const std::pair< numvector< R, n >, numvector< S, n > > &b)
 Оператор прибавления "+=" для пар векторов
 
template<typename T , typename P , typename R , typename S , size_t n>
auto VMlib::operator+ (const std::pair< numvector< T, n >, numvector< P, n > > &a, const std::pair< numvector< R, n >, numvector< S, n > > &b) -> std::pair< numvector< typename std::remove_const< decltype(a.first[0]+b.first[0])>::type, n >, numvector< typename std::remove_const< decltype(a.second[0]+b.second[0])>::type, n > >
 Оператор сложения "+" для пар векторов
 
template<typename T , typename P , typename R , size_t n>
std::pair< numvector< T, n >, numvector< P, n > > & VMlib::operator*= (std::pair< numvector< T, n >, numvector< P, n > > &a, R c)
 Оператор домножения "*=" пары векторов на число (пара слева, число справа)
 
template<typename T , typename P , typename R , size_t n>
auto VMlib::operator* (R c, const std::pair< numvector< T, n >, numvector< P, n > > &a) -> std::pair< numvector< typename std::remove_const< decltype(c *a.first[0])>::type, n >, numvector< typename std::remove_const< decltype(c *a.second[0])>::type, n > >
 Оператор умножения "*" числа на пару векторов (число слева, пара справа)
 
template<typename T , typename P , typename R , size_t n>
auto VMlib::operator* (const std::pair< numvector< T, n >, numvector< P, n > > &a, R c) -> std::pair< numvector< typename std::remove_const< decltype(a.first[0] *c)>::type, n >, numvector< typename std::remove_const< decltype(a.second[0] *c)>::type, n > >
 Оператор умножения "*" пары векторов на число (пара слева, число справа)
 
template<typename T , typename P , size_t n>
std::ostream & VMlib::operator<< (std::ostream &str, const std::pair< numvector< T, n >, numvector< P, n > > &x)
 Оператор "<<" вывода пары векторов в поток
 
template<typename T , typename P , size_t n>
double VMlib::cross3 (const numvector< T, n > &x, const numvector< P, n > &y)
 Вычисление третьей компоненты векторного произведения
 

Detailed Description

Описание класса numvector.

Author
Марчевский Илья Константинович
Сокол Ксения Сергеевна
Рятина Евгения Павловна
Колганова Александра Олеговна \Version 1.14
Date
6 марта 2026 г.

Definition in file numvector.h.

Macro Definition Documentation

◆ DEPRECATED

#define DEPRECATED

Definition at line 66 of file numvector.h.

◆ HD

#define HD

Definition at line 63 of file numvector.h.