Loading...
Searching...
No Matches
Go to the documentation of this file.
14#ifndef PLASK_VECTOR_LATERAL_HPP
15#define PLASK_VECTOR_LATERAL_HPP
30 constexpr const T&
tran()
const {
return c0; }
33 constexpr const T&
vert()
const {
return c1; }
52 template <
typename OtherT>
59 template <
int other_dim,
typename OtherT>
73 template <
typename T0,
typename T1>
74 constexpr LateralVec(
const std::pair<T0,T1>& comp):
c0(comp.first),
c1(comp.second) {}
81 template <
typename InputIteratorType>
118 template <
typename OtherT>
127 template <
typename OtherT,
typename SuprType>
136 template <
typename OtherT>
145 template <
typename OtherT>
175 template <
typename OtherT>
177 return LateralVec<
decltype(this->c0 + other.c0)>(
c0 + other.c0,
c1 + other.c1);
196 template <
typename OtherT>
198 return LateralVec<
decltype(this->c0 - other.c0)>(
c0 - other.c0,
c1 - other.c1);
217 template <
typename OtherT>
282 template <
typename OtherT>
326 template<
class OT>
inline
340template <
typename T1,
typename T2>
342 return ::plask::fma(
v1.c0,
v2.c0,
v1.c1 *
v2.c1);
350template <
typename T1,
typename T2>
352 return ::plask::fma(
v1.c0,
v2.c1, -
v1.c1 *
v2.c0);
361template <
typename T,
typename OtherT>
373 template <
typename T,
typename OtherT>