compatibility changes

Fork of LSM303DLHC by brian claus

Files at this revision

API Documentation at this revision

Comitter:
jn80842
Date:
Fri Sep 26 23:05:10 2014 +0000
Parent:
4:612f7d5a822d
Commit message:
compatibility

Changed in this revision

vector.cpp Show annotated file Show diff for this revision Revisions of this file
vector.h Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vector.cpp	Fri Sep 26 23:05:10 2014 +0000
@@ -0,0 +1,22 @@
+#include <vector.h>
+#include <math.h>
+
+void vector_cross(const vector *a,const vector *b, vector *out)
+{
+  out->x = a->y*b->z - a->z*b->y;
+  out->y = a->z*b->x - a->x*b->z;
+  out->z = a->x*b->y - a->y*b->x;
+}
+
+float vector_dot(const vector *a,const vector *b)
+{
+  return a->x*b->x+a->y*b->y+a->z*b->z;
+}
+
+void vector_normalize(vector *a)
+{
+  float mag = sqrt(vector_dot(a,a));
+  a->x /= mag;
+  a->y /= mag;
+  a->z /= mag;
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vector.h	Fri Sep 26 23:05:10 2014 +0000
@@ -0,0 +1,11 @@
+#ifndef vector_h
+#define vector_h
+typedef struct vector
+{
+  float x, y, z;
+} vector;
+
+extern void vector_cross(const vector *a, const vector *b, vector *out);
+extern float vector_dot(const vector *a,const vector *b);
+extern void vector_normalize(vector *a);
+#endif
\ No newline at end of file