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.