6 #ifndef TSV_META_CROSS_H
7 #define TSV_META_CROSS_H
23 template<
class T1,
class T2,
unsigned D>
29 ERRORMSG(
"Cross-product *only* implemented for 3D; you're trying to"
30 <<
" do it for " << D <<
"D." <<
endl);
37 template<
class T1,
class T2>
44 cross[0] = a[1]*b[2] - a[2]*b[1];
45 cross[1] = a[2]*b[0] - a[0]*b[2];
46 cross[2] = a[0]*b[1] - a[1]*b[0];
53 #endif // TSV_META_CROSS_H
PETE_ComputeBinaryType< T1, T2, Op, Op::tag >::type type
Inform & endl(Inform &inf)
static Vektor< T0, 3 > apply(const Vektor< T1, 3 > &a, const Vektor< T2, 3 > &b)
Vector3D cross(const Vector3D &lhs, const Vector3D &rhs)
Vector cross product.
static Vektor< T0, D > apply(const Vektor< T1, D > &, const Vektor< T2, D > &)
PETEBinaryReturn< T1, T2, OpMultipply >::type T0
PETEBinaryReturn< T1, T2, OpMultipply >::type T0
static void abortAllNodes(const char *=0)