Paparazzi UAS  v5.8.2_stable-0-g6260b7c
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
pprz_algebra_double.h File Reference

Paparazzi double precision floating point algebra. More...

#include "pprz_algebra.h"
#include "pprz_algebra_float.h"
+ Include dependency graph for pprz_algebra_double.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  DoubleVect2
struct  DoubleVect3
struct  DoubleQuat
 Roation quaternion. More...
struct  DoubleMat33
struct  DoubleRMat
 rotation matrix More...
struct  DoubleEulers
 euler angles More...
struct  DoubleRates
 angular rates More...


#define DOUBLE_VECT3_ROUND(_v)   DOUBLE_VECT3_RINT(_v, _v)
#define DOUBLE_VECT3_RINT(_vout, _vin)
#define DOUBLE_RMAT_OF_EULERS(_rm, _e)   double_rmat_of_eulers(&(_rm), &(_e))
#define DOUBLE_RMAT_OF_EULERS_321(_rm, _e)   double_rmat_of_eulers(&(_rm), &(_e))
#define DOUBLE_QUAT_OF_EULERS(_q, _e)   double_quat_of_eulers(&(_q), &(_e))
#define DOUBLE_EULERS_OF_QUAT(_e, _q)   double_eulers_of_quat(&(_e), &(_q))
#define DOUBLE_QUAT_VMULT(v_out, q, v_in)   double_quat_vmult(&(v_out), &(q), &(v_in))


static double double_vect3_norm (struct DoubleVect3 *v)
static void double_vect3_normalize (struct DoubleVect3 *v)
 normalize 3D vector in place More...
static void double_quat_identity (struct DoubleQuat *q)
 initialises a quaternion to identity More...
static double double_quat_norm (struct DoubleQuat *q)
static void double_quat_normalize (struct DoubleQuat *q)
void double_rmat_of_eulers_321 (struct DoubleRMat *rm, struct DoubleEulers *e)
 Rotation matrix from 321 Euler angles (double). More...
void double_quat_of_eulers (struct DoubleQuat *q, struct DoubleEulers *e)
void double_eulers_of_quat (struct DoubleEulers *e, struct DoubleQuat *q)
void double_quat_vmult (struct DoubleVect3 *v_out, struct DoubleQuat *q, struct DoubleVect3 *v_in)
static void double_rmat_identity (struct DoubleRMat *rm)
 initialises a rotation matrix to identity More...
void double_rmat_inv (struct DoubleRMat *m_b2a, struct DoubleRMat *m_a2b)
 Inverse/transpose of a rotation matrix. More...
void double_rmat_comp (struct DoubleRMat *m_a2c, struct DoubleRMat *m_a2b, struct DoubleRMat *m_b2c)
 Composition (multiplication) of two rotation matrices. More...
void double_rmat_vmult (struct DoubleVect3 *vb, struct DoubleRMat *m_a2b, struct DoubleVect3 *va)
 rotate 3D vector by rotation matrix. More...
void double_rmat_of_quat (struct DoubleRMat *rm, struct DoubleQuat *q)
static void double_rmat_of_eulers (struct DoubleRMat *rm, struct DoubleEulers *e)

Detailed Description

Paparazzi double precision floating point algebra.

Definition in file pprz_algebra_double.h.