Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/blenlib/intern/math_vector.c')
-rw-r--r--source/blender/blenlib/intern/math_vector.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/source/blender/blenlib/intern/math_vector.c b/source/blender/blenlib/intern/math_vector.c
index e3cb5b37470..35476a8aba9 100644
--- a/source/blender/blenlib/intern/math_vector.c
+++ b/source/blender/blenlib/intern/math_vector.c
@@ -354,3 +354,43 @@ void minmax_v3v3_v3(float min[3], float max[3], const float vec[3])
if(max[2]<vec[2]) max[2]= vec[2];
}
+
+/***************************** Array Functions *******************************/
+
+void range_vni(int *array_tar, const int size, const int start)
+{
+ int *array_pt= array_tar + (size-1);
+ int j= start + (size-1);
+ int i= size;
+ while(i--) { *(array_pt--) = j--; }
+}
+
+void mul_vn_fl(float *array_tar, const int size, const float f)
+{
+ float *array_pt= array_tar + (size-1);
+ int i= size;
+ while(i--) { *(array_pt--) *= f; }
+}
+
+void mul_vn_vn_fl(float *array_tar, const float *array_src, const int size, const float f)
+{
+ float *tar= array_tar + (size-1);
+ const float *src= array_src + (size-1);
+ int i= size;
+ while(i--) { *(tar--) = *(src--) * f; }
+}
+
+void add_vn_vn(float *array_tar, const float *array_src, const int size)
+{
+ float *tar= array_tar + (size-1);
+ const float *src= array_src + (size-1);
+ int i= size;
+ while(i--) { *(tar--) += *(src--); }
+}
+
+void fill_vni(int *array_tar, const int size, const int val)
+{
+ int *tar= array_tar + (size-1);
+ int i= size;
+ while(i--) { *(tar--) = val; }
+}