|
waLBerla 7.2
|
Header file for the implementation of a 3D vector.
#include "FPClassify.h"#include "MathTrait.h"#include "SqrtTrait.h"#include "Utility.h"#include "core/DataTypes.h"#include "core/VectorTrait.h"#include "core/debug/Debug.h"#include "core/mpi/Datatype.h"#include "core/mpi/RecvBuffer.h"#include "core/mpi/SendBuffer.h"#include "core/debug/CheckFunctions.h"#include <cmath>#include <cstddef>#include <iostream>#include <limits>#include <type_traits>Classes | |
| class | walberla::math::Vector3< Type > |
| Efficient, generic implementation of a 3-dimensional vector. More... | |
| struct | walberla::math::Vector3LexicographicalyLess< T > |
| Functor providing a lexicographical ordering for Vector3. More... | |
| struct | walberla::mpi::BufferSizeTrait< walberla::math::Vector3< VT > > |
| struct | walberla::MPITrait< Vector3< T > > |
| struct | walberla::VectorTrait< Vector3< T > > |
| struct | std::hash< walberla::Vector3< T > > |
Namespaces | |
| namespace | walberla |
| Storage for detected contacts which can be used to perform actions for all contacts, e.g. | |
| namespace | walberla::math |
| namespace | walberla::mpi |
| namespace | walberla::debug |
| namespace | walberla::debug::check_functions_detail |
| namespace | std |
| STL namespace. | |
Macros | |
| #define | HIGH typename MathTrait<Type,Other>::High |
| High-order return value. | |
Functions | |
| template<typename Type > | |
| Vector3< Type > | walberla::math::cross (const Vector3< Type > &lhs, const Vector3< Type > &rhs) |
| Cross product (outer product) of two vectors ( \( \vec{a}=\vec{b}\times\vec{c} \)). | |
| template<typename Type , typename Other > | |
| Vector3< typename MathTrait< Type, Other >::High > | walberla::math::operator/ (Other lhs, const Vector3< Type > &rhs) |
| template<typename T , typename G , typename VT > | |
| mpi::GenericSendBuffer< T, G > & | walberla::mpi::operator<< (mpi::GenericSendBuffer< T, G > &buf, const Vector3< VT > &vec) |
| template<typename T , typename VT > | |
| mpi::GenericRecvBuffer< T > & | walberla::mpi::operator>> (mpi::GenericRecvBuffer< T > &buf, Vector3< VT > &vec) |
| template<> | |
| bool | walberla::debug::check_functions_detail::check_float_equal (const math::Vector3< real_t > &lhs, const math::Vector3< real_t > &rhs) |
| template<> | |
| bool | walberla::debug::check_functions_detail::check_float_equal_eps (const math::Vector3< real_t > &lhs, const math::Vector3< real_t > &rhs, const real_t epsilon) |
Vector3 operators | |
| template<typename T > | |
| Vector3< T > & | walberla::math::normalize (Vector3< T > &v) |
| Normalization of the vector ( \(|\vec{a}|=1\)). | |
| template<typename Type > | |
| bool | walberla::math::operator== (unsigned char scalar, const Vector3< Type > &vec) |
| Equality operator for the comparison of an unsigned char scalar and a vector. | |
| template<typename Type > | |
| bool | walberla::math::operator== (char scalar, const Vector3< Type > &vec) |
| Equality operator for the comparison of a char scalar and a vector. | |
| template<typename Type > | |
| bool | walberla::math::operator== (signed char scalar, const Vector3< Type > &vec) |
| Equality operator for the comparison of a signed char scalar and a vector. | |
| template<typename Type > | |
| bool | walberla::math::operator== (wchar_t scalar, const Vector3< Type > &vec) |
| Equality operator for the comparison of a wchar_t scalar and a vector. | |
| template<typename Type > | |
| bool | walberla::math::operator== (unsigned short scalar, const Vector3< Type > &vec) |
| Equality operator for the comparison of an unsigned short scalar and a vector. | |
| template<typename Type > | |
| bool | walberla::math::operator== (short scalar, const Vector3< Type > &vec) |
| Equality operator for the comparison of a short scalar and a vector. | |
| template<typename Type > | |
| bool | walberla::math::operator== (unsigned int scalar, const Vector3< Type > &vec) |
| template<typename Type > | |
| bool | walberla::math::operator== (int scalar, const Vector3< Type > &vec) |
| Equality operator for the comparison of an int scalar and a vector. | |
| template<typename Type > | |
| bool | walberla::math::operator== (unsigned long scalar, const Vector3< Type > &vec) |
| Equality operator for the comparison of an unsigned long scalar and a vector. | |
| template<typename Type > | |
| bool | walberla::math::operator== (long scalar, const Vector3< Type > &vec) |
| Equality operator for the comparison of a long scalar and a vector. | |
| template<typename Type > | |
| bool | walberla::math::operator== (float scalar, const Vector3< Type > &vec) |
| Equality operator for the comparison of a float scalar and a vector. | |
| template<typename Type > | |
| bool | walberla::math::operator== (double scalar, const Vector3< Type > &vec) |
| Equality operator for the comparison of a double scalar and a vector. | |
| template<typename Type > | |
| bool | walberla::math::operator== (long double scalar, const Vector3< Type > &vec) |
| Equality operator for the comparison of a long double scalar and a vector. | |
| template<typename Type > | |
| bool | walberla::math::operator!= (unsigned char scalar, const Vector3< Type > &vec) |
| Inequality operator for the comparison of an unsigned char scalar value and a vector. | |
| template<typename Type > | |
| bool | walberla::math::operator!= (char scalar, const Vector3< Type > &vec) |
| Inequality operator for the comparison of a char scalar value and a vector. | |
| template<typename Type > | |
| bool | walberla::math::operator!= (signed char scalar, const Vector3< Type > &vec) |
| Inequality operator for the comparison of a signed char scalar value and a vector. | |
| template<typename Type > | |
| bool | walberla::math::operator!= (wchar_t scalar, const Vector3< Type > &vec) |
| Inequality operator for the comparison of a wchar_t scalar value and a vector. | |
| template<typename Type > | |
| bool | walberla::math::operator!= (unsigned short scalar, const Vector3< Type > &vec) |
| Inequality operator for the comparison of an unsigned short scalar value and a vector. | |
| template<typename Type > | |
| bool | walberla::math::operator!= (short scalar, const Vector3< Type > &vec) |
| Inequality operator for the comparison of a short scalar value and a vector. | |
| template<typename Type > | |
| bool | walberla::math::operator!= (unsigned int scalar, const Vector3< Type > &vec) |
| template<typename Type > | |
| bool | walberla::math::operator!= (int scalar, const Vector3< Type > &vec) |
| Inequality operator for the comparison of an int scalar value and a vector. | |
| template<typename Type > | |
| bool | walberla::math::operator!= (unsigned long scalar, const Vector3< Type > &vec) |
| Inequality operator for the comparison of an unsigned long scalar value and a vector. | |
| template<typename Type > | |
| bool | walberla::math::operator!= (long scalar, const Vector3< Type > &vec) |
| Inequality operator for the comparison of a long scalar value and a vector. | |
| template<typename Type > | |
| bool | walberla::math::operator!= (float scalar, const Vector3< Type > &vec) |
| Inequality operator for the comparison of a float scalar value and a vector. | |
| template<typename Type > | |
| bool | walberla::math::operator!= (double scalar, const Vector3< Type > &vec) |
| Inequality operator for the comparison of a double scalar value and a vector. | |
| template<typename Type > | |
| bool | walberla::math::operator!= (long double scalar, const Vector3< Type > &vec) |
| Inequality operator for the comparison of a long double scalar value and a vector. | |
| template<typename Type > | |
| std::ostream & | walberla::math::operator<< (std::ostream &os, const Vector3< Type > &v) |
| Global output operator for 3-dimensional vectors. | |
| template<typename Type > | |
| std::istream & | walberla::math::operator>> (std::istream &is, Vector3< Type > &v) |
| Global input operator for 3-dimensional vectors. | |
| template<typename Type > | |
| bool | walberla::math::isnan (const Vector3< Type > &v) |
| Checks the given vector for not-a-number elements. | |
| template<typename Type > | |
| bool | walberla::math::isinf (const Vector3< Type > &v) |
| Checks the given vector for infinite elements. | |
| template<typename Type > | |
| bool | walberla::math::finite (const Vector3< Type > &v) |
| Checks if the given vector has only finite elements. | |
| template<typename Type > | |
| const Vector3< Type > | walberla::math::abs (const Vector3< Type > &v) |
| Returns a vector containing the absolute values of each single element of v. | |
| template<typename Type > | |
| const Vector3< Type > | walberla::math::fabs (const Vector3< Type > &v) |
| Returns a vector containing the absolute values of each single element of v. | |
| template<typename Type , typename Other > requires ( std::is_fundamental_v<Other> ) | |
| Vector3< typename MathTrait< Type, Other >::High > | walberla::math::operator* (Other scalar, const Vector3< Type > &vec) |
| Multiplication operator for the multiplication of a scalar value and a vector. | |
| template<> | |
| std::istream & | walberla::math::operator>> (std::istream &is, Vector3< bool > &v) |
| Specialization for input operator for 3-dimensional vectors of bool. | |
| template<typename Type > | |
| void | walberla::math::normals (const Vector3< Type > &v, Vector3< Type > &defNor, Vector3< Type > &comNor) |
| template<typename T > | |
| real_t | walberla::math::length (const Vector3< T > &v) |
| Length of the vector. | |
| template<typename T > | |
| real_t | walberla::math::sqrLength (const Vector3< T > &v) |
| Length of the vector squared. | |
| template<typename T > | |
| real_t | walberla::math::dot (const Vector3< T > &v1, const Vector3< T > &v2) |
| Dot product of two vectors. | |
| template<typename T > requires ( std::is_integral_v<T> ) | |
| std::size_t | walberla::math::hash_value (const Vector3< T > &v) |
| Function providing a hash value for Vector3. | |
| #define HIGH typename MathTrait<Type,Other>::High |
High-order return value.
Abbreviation for the evaluation of the higher-order data type in a numerical operation.