PLaSK library

Loading...
Searching...
No Matches
Classes | Namespaces | Functions
2d.hpp File Reference

This file contains implementation of vector in 2D space. More...

`#include <iostream>`
`#include "../math.hpp"`
`#include <plask/exceptions.hpp>`
`#include <cassert>`
`#include "common.hpp"`
`#include "../utils/metaprog.hpp"`
`#include "../utils/warnings.hpp"`
Include dependency graph for 2d.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes
struct | plask::Vec< 2, T >
| Vector in 2D space. More...
struct | plask::NaNImpl< Vec< 2, T > >
| Specialization of NaNImpl which add support for 2D vectors. More...
struct | plask::ZeroImpl< Vec< 2, 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< 2, T > | plask::conj (const Vec< 2, T > &v)
| Calculate vector conjugate.
template<typename T1 , typename T2 >
auto | plask::dot (const Vec< 2, T1 > &v1, const Vec< 2, T2 > &v2) -> decltype(v1.c0 *v2.c0)
| Compute dot product of two vectors `v1` and `v2`.
template<typename T1 , typename T2 >
auto | plask::cross (const Vec< 2, T1 > &v1, const Vec< 2, T2 > &v2) -> decltype(v1.c0 *v2.c1)
| Compute (analog of 3d) cross product of two vectors `v1` and `v2`.
auto | plask::dot (const Vec< 2, dcomplex > &v1, const Vec< 2, double > &v2) -> decltype(v1.c0 *v2.c0)
| Compute dot product of two vectors `v1` and `v2`.
auto | plask::dot (const Vec< 2, dcomplex > &v1, const Vec< 2, dcomplex > &v2) -> decltype(v1.c0 *v2.c0)
| Compute dot product of two vectors `v1` and `v2`.
template<typename T >
constexpr Vec< 2, T > | plask::vec (const T c0__tran, const T c1__up)
| Helper to create 2D vector.
template<typename T >
bool | plask::is_zero (const Vec< 2, T > &v)
| Check if the vector is almost zero.
template<typename T >
plask::Vec< 2, T > | std::sqrt (plask::Vec< 2, T > vec)
template<typename T , typename OtherT >
plask::Vec< 2, T > | std::pow (plask::Vec< 2, T > vec, OtherT a)

## Detailed Description

This file contains implementation of vector in 2D space.

Definition in file 2d.hpp.