summaryrefslogtreecommitdiff
path: root/lib/orthogonal.c
diff options
context:
space:
mode:
authorJaron Kent-Dobias <jaron@kent-dobias.com>2018-03-27 16:12:20 -0400
committerJaron Kent-Dobias <jaron@kent-dobias.com>2018-03-27 16:12:20 -0400
commit9dcc45d90b09d75d053ebb2d4e33a71a9fb2d069 (patch)
tree87e10b12c3ba1c31c3d744cd15ca1fc0ef786837 /lib/orthogonal.c
parent0793838129e228d92ba4d4e2c0f95946e2e6a0f7 (diff)
downloadc++-9dcc45d90b09d75d053ebb2d4e33a71a9fb2d069.tar.gz
c++-9dcc45d90b09d75d053ebb2d4e33a71a9fb2d069.tar.bz2
c++-9dcc45d90b09d75d053ebb2d4e33a71a9fb2d069.zip
some optimizations
Diffstat (limited to 'lib/orthogonal.c')
-rw-r--r--lib/orthogonal.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/orthogonal.c b/lib/orthogonal.c
index 7e0a71b..87569ae 100644
--- a/lib/orthogonal.c
+++ b/lib/orthogonal.c
@@ -2,24 +2,28 @@
#include "orthogonal.h"
void vector_replace(q_t n, double *v1, const double *v2) {
+ // writes vector v2 of length n to memory located at v1
for (q_t i = 0; i < n; i++) {
v1[i] = v2[i];
}
}
void vector_add(q_t n, double *v1, const double *v2) {
+ // adds vector v2 of length n to vector v1
for (q_t i = 0; i < n; i++) {
v1[i] += v2[i];
}
}
void vector_subtract(q_t n, double *v1, const double *v2) {
+ // subtracts vector v2 of length n from vector v1
for (q_t i = 0; i < n; i++) {
v1[i] -= v2[i];
}
}
-double *vector_rotate(q_t n, double *rot, double *vec) {
+double *vector_rotate(q_t n, const double *rot, const double *vec) {
+ // multiplies n by n rotation matrix rot to vector vec
double *rot_vec = (double *)malloc(n * sizeof(double));
double prod = 0.0;
@@ -46,7 +50,7 @@ double *vector_rotate_inverse(q_t n, const double *rot, const double *vec) {
return rot_vec;
}
-double vector_dot(q_t n, double *v1, double *v2) {
+double vector_dot(q_t n, const double *v1, const double *v2) {
double dot = 0;
for (q_t i = 0; i < n; i++) {
@@ -56,7 +60,7 @@ double vector_dot(q_t n, double *v1, double *v2) {
return dot;
}
-double *orthogonal_rotate(q_t n, double *r, double *m) {
+double *orthogonal_rotate(q_t n, const double *r, const double *m) {
double *mul = (double *)calloc(n * n, sizeof(double));
for (q_t i = 0; i < n; i++) {