#include <type_traits>
#include <iosfwd>
Go to the source code of this file.
Classes |
struct | As3D< V > |
struct | ExtVecTraits< T, N > |
struct | Rot2< T > |
struct | Rot3< T > |
Typedefs |
typedef float | __attribute__ ((vector_size(8))) float32x2_t |
typedef Rot2< double > | Rot2D |
typedef Rot2< float > | Rot2F |
typedef Rot3< double > | Rot3D |
typedef Rot3< float > | Rot3F |
typedef Vec2< double > | Vec2D |
typedef Vec2< float > | Vec2F |
typedef Vec4< double > | Vec3D |
typedef Vec4< float > | Vec3F |
typedef Vec4< double > | Vec4D |
typedef Vec4< float > | Vec4F |
Functions |
template<typename Vec , typename F > |
Vec | apply (Vec v, F f) |
template<typename V > |
As3D< V > | as3D (V const &v) |
template<typename V1 , typename V2 > |
auto | cross2 (V1 x, V2 y)->typename std |
template<typename Vec > |
Vec | cross3 (Vec x, Vec y) |
template<typename V > |
auto | dot (V x, V y)->typename std |
template<typename V1 , typename V2 > |
auto | dot2 (V1 x, V2 y)->typename std |
template<typename T > |
constexpr Rot3< T > | operator* (Rot3< T > const &rh, Rot3< T > const &lh) |
template<typename T > |
constexpr Rot2< T > | operator* (Rot2< T > const &rh, Rot2< T > const &lh) |
std::ostream & | operator<< (std::ostream &out, Rot2F const &v) |
std::ostream & | operator<< (std::ostream &out, As3D< Vec4F > const &v) |
std::ostream & | operator<< (std::ostream &out, Vec4F const &v) |
std::ostream & | operator<< (std::ostream &out, Rot3F const &v) |
std::ostream & | operator<< (std::ostream &out, Vec2D const &v) |
template<typename V > |
auto | xy (V v)-> Vec2< typename std |
template<typename V > |
auto | zw (V v)-> Vec2< typename std |
Typedef Documentation
typedef double __attribute__((vector_size(64))) float64x8_t [inline] |
typedef Vec2<double> Vec2D |
typedef Vec2<float> Vec2F |
typedef Vec4<double> Vec3D |
typedef Vec4<float> Vec3F |
typedef Vec4<double> Vec4D |
typedef Vec4<float> Vec4F |
Function Documentation
template<typename Vec , typename F >
Vec apply |
( |
Vec |
v, |
|
|
F |
f |
|
) |
| [inline] |
template<typename V >
As3D<V> as3D |
( |
V const & |
v | ) |
[inline] |
template<typename V1 , typename V2 >
auto cross2 |
( |
V1 |
x, |
|
|
V2 |
y |
|
) |
| [inline] |
template<typename Vec >
Vec cross3 |
( |
Vec |
x, |
|
|
Vec |
y |
|
) |
| [inline] |
Definition at line 55 of file ExtVec.h.
Referenced by Basic3DVector< align::Scalar >::cross().
{
Vec x1200{ x[1], x[2], x[0], x[0] };
Vec y2010{ y[2], y[0], y[1], y[0] };
Vec x2010{ x[2], x[0], x[1], x[0] };
Vec y1200{ y[1], y[2], y[0], y[0] };
return x1200 * y2010 - x2010 * y1200;
}
template<typename V >
auto dot |
( |
V |
x, |
|
|
V |
y |
|
) |
| [inline] |
template<typename V1 , typename V2 >
auto dot2 |
( |
V1 |
x, |
|
|
V2 |
y |
|
) |
| [inline] |
template<typename T >
constexpr Rot3<T> operator* |
( |
Rot3< T > const & |
rh, |
|
|
Rot3< T > const & |
lh |
|
) |
| [inline] |
Definition at line 208 of file ExtVec.h.
{
return lh.rotateBack(rh);
}
template<typename T >
constexpr Rot2<T> operator* |
( |
Rot2< T > const & |
rh, |
|
|
Rot2< T > const & |
lh |
|
) |
| [inline] |
Definition at line 270 of file ExtVec.h.
{
return lh.rotateBack(rh);
}
std::ostream & operator<< |
( |
std::ostream & |
out, |
|
|
Rot2F const & |
v |
|
) |
| |
std::ostream & operator<< |
( |
std::ostream & |
out, |
|
|
As3D< Vec4F > const & |
v |
|
) |
| |
std::ostream & operator<< |
( |
std::ostream & |
out, |
|
|
Vec4F const & |
v |
|
) |
| |
Definition at line 10 of file SSEVec.cc.
{
return out << '(' << v[0] <<", " << v[1] <<", "<< v[2] <<", "<< v[3] <<')';
}
std::ostream& operator<< |
( |
std::ostream & |
out, |
|
|
Rot3F const & |
v |
|
) |
| |
std::ostream & operator<< |
( |
std::ostream & |
out, |
|
|
Vec2D const & |
v |
|
) |
| |
Definition at line 16 of file SSEVec.cc.
{
return out << '(' << v[0] <<", " << v[1] <<')';
}