converted more mixed tab/space indentations to tabs. only whitespace changes.
[blender.git] / source / blender / blenlib / intern / math_vector_inline.c
index a45356f..75520bb 100644 (file)
@@ -1,4 +1,4 @@
-/**
+/*
  * $Id$
  *
  * ***** BEGIN GPL LICENSE BLOCK *****
  * ***** END GPL LICENSE BLOCK *****
  * */
 
+/** \file blender/blenlib/intern/math_vector_inline.c
+ *  \ingroup bli
+ */
+
+
 #include "BLI_math.h"
 
-#ifndef BLI_MATH_VECTOR_INLINE
-#define BLI_MATH_VECTOR_INLINE
+#ifndef BLI_MATH_VECTOR_INLINE_H
+#define BLI_MATH_VECTOR_INLINE_H
 
 /********************************** Init *************************************/
 
@@ -149,6 +154,23 @@ MINLINE void sub_v3_v3v3(float r[3], const float a[3], const float b[3])
        r[2]= a[2] - b[2];
 }
 
+MINLINE void sub_v4_v4(float r[4], const float a[4])
+{
+       r[0] -= a[0];
+       r[1] -= a[1];
+       r[2] -= a[2];
+       r[3] -= a[3];
+}
+
+MINLINE void sub_v4_v4v4(float r[3], const float a[3], const float b[3])
+{
+       r[0]= a[0] - b[0];
+       r[1]= a[1] - b[1];
+       r[2]= a[2] - b[2];
+       r[3]= a[3] - b[3];
+}
+
+
 MINLINE void mul_v2_fl(float *v1, float f)
 {
        v1[0]*= f;
@@ -265,6 +287,22 @@ MINLINE void negate_v3_v3(float r[3], const float a[3])
        r[2]= -a[2];
 }
 
+MINLINE void negate_v4(float r[4])
+{
+       r[0]= -r[0];
+       r[1]= -r[1];
+       r[2]= -r[2];
+       r[3]= -r[3];
+}
+
+MINLINE void negate_v4_v4(float r[4], const float a[4])
+{
+       r[0]= -a[0];
+       r[1]= -a[1];
+       r[2]= -a[2];
+       r[3]= -a[3];
+}
+
 MINLINE float dot_v2v2(const float a[2], const float b[2])
 {
        return a[0]*b[0] + a[1]*b[1];
@@ -277,7 +315,7 @@ MINLINE float dot_v3v3(const float a[3], const float b[3])
 
 MINLINE float cross_v2v2(const float a[2], const float b[2])
 {
-        return a[0]*b[1] - a[1]*b[0];
+       return a[0]*b[1] - a[1]*b[0];
 }
 
 MINLINE void cross_v3_v3v3(float r[3], const float a[3], const float b[3])
@@ -402,37 +440,47 @@ MINLINE void normal_float_to_short_v3(short *out, const float *in)
 
 /********************************* Comparison ********************************/
 
-MINLINE int is_zero_v3(float *v)
+MINLINE int is_zero_v3(const float v[3])
 {
        return (v[0] == 0 && v[1] == 0 && v[2] == 0);
 }
 
-MINLINE int is_one_v3(float *v)
+MINLINE int is_zero_v4(const float v[4])
+{
+       return (v[0] == 0 && v[1] == 0 && v[2] == 0 && v[3] == 0);
+}
+
+MINLINE int is_one_v3(const float *v)
 {
        return (v[0] == 1 && v[1] == 1 && v[2] == 1);
 }
 
-MINLINE int equals_v3v3(float *v1, float *v2)
+MINLINE int equals_v2v2(const float *v1, const float *v2)
+{
+       return ((v1[0]==v2[0]) && (v1[1]==v2[1]));
+}
+
+MINLINE int equals_v3v3(const float *v1, const float *v2)
 {
        return ((v1[0]==v2[0]) && (v1[1]==v2[1]) && (v1[2]==v2[2]));
 }
 
-MINLINE int equals_v4v4(float *v1, float *v2)
+MINLINE int equals_v4v4(const float *v1, const float *v2)
 {
        return ((v1[0]==v2[0]) && (v1[1]==v2[1]) && (v1[2]==v2[2]) && (v1[3]==v2[3]));
 }
 
-MINLINE int compare_v3v3(float *v1, float *v2, float limit)
+MINLINE int compare_v3v3(const float *v1, const float *v2, const float limit)
 {
-       if(fabs(v1[0]-v2[0])<limit)
-               if(fabs(v1[1]-v2[1])<limit)
-                       if(fabs(v1[2]-v2[2])<limit)
+       if(fabsf(v1[0]-v2[0])<limit)
+               if(fabsf(v1[1]-v2[1])<limit)
+                       if(fabsf(v1[2]-v2[2])<limit)
                                return 1;
 
        return 0;
 }
 
-MINLINE int compare_len_v3v3(float *v1, float *v2, float limit)
+MINLINE int compare_len_v3v3(const float *v1, const float *v2, const float limit)
 {
        float x,y,z;
 
@@ -443,12 +491,12 @@ MINLINE int compare_len_v3v3(float *v1, float *v2, float limit)
        return ((x*x + y*y + z*z) < (limit*limit));
 }
 
-MINLINE int compare_v4v4(float *v1, float *v2, float limit)
+MINLINE int compare_v4v4(const float *v1, const float *v2, const float limit)
 {
-       if(fabs(v1[0]-v2[0])<limit)
-               if(fabs(v1[1]-v2[1])<limit)
-                       if(fabs(v1[2]-v2[2])<limit)
-                               if(fabs(v1[3]-v2[3])<limit)
+       if(fabsf(v1[0]-v2[0])<limit)
+               if(fabsf(v1[1]-v2[1])<limit)
+                       if(fabsf(v1[2]-v2[2])<limit)
+                               if(fabsf(v1[3]-v2[3])<limit)
                                        return 1;
 
        return 0;
@@ -460,5 +508,5 @@ MINLINE float line_point_side_v2(const float *l1, const float *l2, const float *
                        ((l2[0]-pt[0]) * (l1[1]-pt[1]));
 }
 
-#endif /* BLI_MATH_VECTOR_INLINE */
+#endif /* BLI_MATH_VECTOR_INLINE_H */