|
template<typename scalar > |
__hostanddev__ vector3< scalar > | operator+ (scalar s, const vector3< scalar > &a) |
|
__hostanddev__ vector3< int > | operator+ (int s, const vector3< int > &a) |
|
__hostanddev__ vector3< int > | operator+ (const vector3< int > &a, int s) |
|
template<typename scalar > |
__hostanddev__ vector3< scalar > | operator+ (const vector3< scalar > &a, int s) |
|
template<typename scalar > |
__hostanddev__ vector3< scalar > | operator+ (int s, const vector3< scalar > &a) |
|
__hostanddev__ vector3 | operator+ (vector3<> a, vector3< int > b) |
|
__hostanddev__ vector3 | operator+ (vector3< int > a, vector3<> b) |
|
template<typename scalar > |
__hostanddev__ vector3< scalar > & | operator*= (vector3< scalar > &a, scalar s) |
|
template<typename scalar > |
__hostanddev__ vector3< scalar > & | operator*= (vector3< scalar > &a, double s) |
|
template<typename scalar > |
__hostanddev__ vector3< scalar > & | operator*= (vector3< scalar > &a, int s) |
|
__hostanddev__ vector3 & | operator*= (vector3<> &a, double s) |
|
__hostanddev__ vector3 & | operator*= (vector3<> &a, int s) |
|
__hostanddev__ vector3< int > & | operator*= (vector3< int > &a, int s) |
|
template<typename scalar > |
__hostanddev__ vector3< scalar > | operator* (scalar s, const vector3< scalar > &a) |
|
template<typename scalar > |
__hostanddev__ vector3< scalar > | operator* (double s, const vector3< scalar > &a) |
|
template<typename scalar > |
__hostanddev__ vector3< scalar > | operator* (const vector3< scalar > &a, double s) |
|
template<typename scalar > |
__hostanddev__ vector3< scalar > | operator* (int s, const vector3< scalar > &a) |
|
template<typename scalar > |
__hostanddev__ vector3< scalar > | operator* (const vector3< scalar > &a, int s) |
|
__hostanddev__ vector3 | operator* (double s, const vector3<> &a) |
|
__hostanddev__ vector3 | operator* (const vector3<> &a, double s) |
|
__hostanddev__ vector3 | operator* (double s, const vector3< int > &a) |
|
__hostanddev__ vector3 | operator* (const vector3< int > &a, double s) |
|
__hostanddev__ vector3< complex > | operator* (complex s, const vector3<> &a) |
|
__hostanddev__ vector3< complex > | operator* (const vector3<> &a, complex s) |
|
__hostanddev__ vector3< complex > | operator* (complex s, const vector3< int > &a) |
|
__hostanddev__ vector3< complex > | operator* (const vector3< int > &a, complex s) |
|
template<typename scalar > |
__hostanddev__ scalar | dot (const vector3< scalar > &a, const vector3< scalar > &b) |
|
template<typename scalar > |
__hostanddev__ scalar | dot (const vector3< double > &a, const vector3< scalar > &b) |
|
template<typename scalar > |
__hostanddev__ scalar | dot (const vector3< int > &a, const vector3< scalar > &b) |
|
template<typename scalar > |
__hostanddev__ scalar | dot (const vector3< scalar > &a, const vector3< double > &b) |
|
template<typename scalar > |
__hostanddev__ scalar | dot (const vector3< scalar > &a, const vector3< int > &b) |
|
__hostanddev__ double | dot (const vector3< double > &a, const vector3< double > &b) |
|
__hostanddev__ double | dot (const vector3< int > &a, const vector3< double > &b) |
|
__hostanddev__ double | dot (const vector3< double > &a, const vector3< int > &b) |
|
__hostanddev__ int | dot (const vector3< int > &a, const vector3< int > &b) |
|
template<typename scalar > |
__hostanddev__ vector3< scalar > | cross (const vector3< scalar > &a, const vector3< scalar > &b) |
| cross product
|
|
template<typename scalar > |
__hostanddev__ scalar | box (const vector3< scalar > &a, const vector3< scalar > &b, const vector3< scalar > &c) |
| box product / triple product
|
|
__hostanddev__ vector3< double > | normalize (const vector3<> &v) |
| normalise vector
|
|
__hostanddev__ vector3< int > | round (const vector3<> &v, double *err=0) |
| Round vector3<> to vector3<int> (and optionally retrieve error)
|
|
__hostanddev__ double | circDistanceSquared (const vector3<> &a, const vector3<> &b) |
|
template<typename T > |
T | gcd (T x, T y) |
| GCD of integers, templated over integer types.
|
|
template<typename T > |
vector3< T > | gcdReduce (const vector3< T > &d) |
| Reduce an integer vector by its gcd.
|
|
template<typename scalar > |
__hostanddev__ vector3< scalar > | loadVector (const vector3< const scalar * > &vArr, int i) |
| Load vector from a constant vector field.
|
|
template<typename scalar > |
__hostanddev__ vector3< scalar > | loadVector (const vector3< scalar * > &vArr, int i) |
| Load vector from a vector field.
|
|
template<typename scalar > |
__hostanddev__ void | storeVector (const vector3< scalar > &v, vector3< scalar * > &vArr, int i) |
| Store vector to a vector field.
|
|
template<typename scalar > |
__hostanddev__ void | accumVector (const vector3< scalar > &v, vector3< scalar * > &vArr, int i) |
| Accumulate vector onto a vector field.
|
|
3-vector with CPU and GPU operators