diff options
author | px4dev <px4@purgatory.org> | 2013-04-26 16:14:32 -0700 |
---|---|---|
committer | px4dev <px4@purgatory.org> | 2013-04-26 16:14:32 -0700 |
commit | 01e427b17c161d8adaa38d6bdb91aecb434451f2 (patch) | |
tree | e33f4f6b78ef133c91ad92f1a413c2b16f17a5d5 /src/modules/attitude_estimator_ekf/codegen/norm.c | |
parent | ce0e4a3afd28b97d5a540e02bef86c52a335f243 (diff) | |
download | px4-firmware-01e427b17c161d8adaa38d6bdb91aecb434451f2.tar.gz px4-firmware-01e427b17c161d8adaa38d6bdb91aecb434451f2.tar.bz2 px4-firmware-01e427b17c161d8adaa38d6bdb91aecb434451f2.zip |
Merge working changes into export-build branch.
Diffstat (limited to 'src/modules/attitude_estimator_ekf/codegen/norm.c')
-rwxr-xr-x | src/modules/attitude_estimator_ekf/codegen/norm.c | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/modules/attitude_estimator_ekf/codegen/norm.c b/src/modules/attitude_estimator_ekf/codegen/norm.c new file mode 100755 index 000000000..0c418cc7b --- /dev/null +++ b/src/modules/attitude_estimator_ekf/codegen/norm.c @@ -0,0 +1,54 @@ +/*
+ * norm.c
+ *
+ * Code generation for function 'norm'
+ *
+ * C source code generated on: Sat Jan 19 15:25:29 2013
+ *
+ */
+
+/* Include files */
+#include "rt_nonfinite.h"
+#include "attitudeKalmanfilter.h"
+#include "norm.h"
+
+/* Type Definitions */
+
+/* Named Constants */
+
+/* Variable Declarations */
+
+/* Variable Definitions */
+
+/* Function Declarations */
+
+/* Function Definitions */
+
+/*
+ *
+ */
+real32_T norm(const real32_T x[3])
+{
+ real32_T y;
+ real32_T scale;
+ int32_T k;
+ real32_T absxk;
+ real32_T t;
+ y = 0.0F;
+ scale = 1.17549435E-38F;
+ for (k = 0; k < 3; k++) {
+ absxk = (real32_T)fabs(x[k]);
+ if (absxk > scale) {
+ t = scale / absxk;
+ y = 1.0F + y * t * t;
+ scale = absxk;
+ } else {
+ t = absxk / scale;
+ y += t * t;
+ }
+ }
+
+ return scale * (real32_T)sqrt(y);
+}
+
+/* End of code generation (norm.c) */
|