tadd helper functions for euclidean norm operations - granular - granular dynamics simulation
(HTM) git clone git://src.adamsgaard.dk/granular
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 100fd75afdf351a48124f5058a23aa1a4ac5999d
(DIR) parent 47f03a2170cd92c674ac784fb1cf73b1df90f9aa
(HTM) Author: Anders Damsgaard <anders@adamsgaard.dk>
Date: Thu, 18 Mar 2021 07:59:24 +0100
add helper functions for euclidean norm operations
Diffstat:
M arrays.c | 24 ++++++++++++++++++++++++
M arrays.h | 3 +++
2 files changed, 27 insertions(+), 0 deletions(-)
---
(DIR) diff --git a/arrays.c b/arrays.c
t@@ -290,3 +290,27 @@ normalize(const double *in, const int n)
return out;
}
+
+double
+euclidean_norm(const double *a, const int n)
+{
+ int i;
+ double out = 0.0;
+
+ for (i = 0; i < n; i++)
+ out += pow(a[i], 2.0);
+
+ return sqrt(out);
+}
+
+double
+euclidean_distance(const double *a, const double *b, const int n)
+{
+ int i;
+ double out = 0.0;
+
+ for (i = 0; i < n; i++)
+ out += pow(b[i] - a[i], 2.0);
+
+ return sqrt(out);
+}
(DIR) diff --git a/arrays.h b/arrays.h
t@@ -51,4 +51,7 @@ void copy_values(const double *in, double *out, const int n);
double * copy(const double *in, const int n);
double * normalize(const double *in, const int n);
+double euclidean_norm(const double *a, const int n);
+double euclidean_distance(const double *a, const double *b, const int n);
+
#endif