27 #ifndef SCHNEK_FUNCTIONS_H_ 28 #define SCHNEK_FUNCTIONS_H_ 33 T min(T a, T b) {
return a>b?b:a; }
36 T max(T a, T b) {
return a>b?a:b; }
39 int signum0(T x) {
return x>0?1:(x<0?-1:0); }
42 int signum(T x) {
return x<0?-1:1; }
48 template<
class ArrayType>
49 void crossProduct(ArrayType &result,
const ArrayType &a,
const ArrayType &b)
51 result[0] = a[1]*b[2] - a[2]*b[1];
52 result[1] = a[2]*b[0] - a[0]*b[2];
53 result[2] = a[0]*b[1] - a[1]*b[0];
58 #endif // SCHNEK_FUNCTIONS_H_