|
PLaSK library
|
This file contains implementation of vector in 3D space. More...
#include <iostream>#include "../math.hpp"#include <plask/exceptions.hpp>#include "common.hpp"#include "../utils/metaprog.hpp"#include "../utils/warnings.hpp"Go to the source code of this file.
Classes | |
| struct | plask::Vec< 3, T > |
| Vector in 3D space. More... | |
| struct | plask::NaNImpl< Vec< 3, T > > |
| Specialization of NaNImpl which add support for 3D vectors. More... | |
| struct | plask::ZeroImpl< Vec< 3, T > > |
| Specialization of ZeroImpl which add support for 2D vectors. More... | |
Namespaces | |
| namespace | plask |
| Patterson quadrature for complex function along specified line. | |
| namespace | std |
| STL namespace. | |
Functions | |
| template<typename T > | |
| constexpr Vec< 3, T > | plask::conj (const Vec< 3, T > &v) |
| Calculate vector conjugate. | |
| template<typename T1 , typename T2 > | |
| auto | plask::dot (const Vec< 3, T1 > &v1, const Vec< 3, T2 > &v2) -> decltype(v1.c0 *v2.c0) |
Compute dot product of two vectors v1 and v2. | |
| auto | plask::dot (const Vec< 3, dcomplex > &v1, const Vec< 3, double > &v2) -> decltype(v1.c0 *v2.c0) |
Compute dot product of two vectors v1 and v2. | |
| auto | plask::dot (const Vec< 3, dcomplex > &v1, const Vec< 3, dcomplex > &v2) -> decltype(v1.c0 *v2.c0) |
Compute dot product of two vectors v1 and v2. | |
| template<typename T > | |
| constexpr Vec< 3, T > | plask::vec (const T c0__lon, const T c1__tran, const T c2__up) |
| Helper to create 3D vector. | |
| template<typename T > | |
| bool | plask::is_zero (const Vec< 3, T > &v) |
| Check if the vector is almost zero. | |
| template<typename T > | |
| plask::Vec< 3, T > | std::sqrt (plask::Vec< 3, T > vec) |
| template<typename T , typename OtherT > | |
| plask::Vec< 3, T > | std::pow (plask::Vec< 3, T > vec, OtherT a) |
This file contains implementation of vector in 3D space.
Definition in file 3d.hpp.